实例介绍
NAudio是由Mark Heath编写的.NET音频库。
功能:
- 使用各种API回放音频:WaveOut、DirectSound、ASIO、WASAPI
- 从多种标准文件格式读取音频:WAV、AIFF、MP3(使用ACM、DMO或MFT)、G.711 mu-law和a-law、ADPCM、G.722、Speex(使用NSpeex)、WMA、AAC、MP4等
- 在各种未压缩音频之间进行转换:更改通道数(单声道到立体声、立体声到单声道)、修改位深度(8、16、24、32位整数或32位IEEE浮点数)、使用选择的重采样算法重采样音频
- 使用计算机上安装的任何ACM或Media Foundation编解码器对音频进行编码:创建MP3(Windows 8及以上)、创建AAC/MP4音频(Windows 7及以上)、创建WMA文件、创建包含G.711、ADPCM、G.722等的WAV文件
- 使用32位浮点混音引擎混合和操作音频流:构建信号链、检查样本级别以进行计量或波形渲染、通过FFT传递样本块进行计量或DSP、延迟、循环或淡入淡出音频、使用BiQuad滤波器进行EQ(允许低通、高通、峰值EQ等)、音频的音调转换
【实例截图】
【核心代码】
文件清单
└── NAudio-a106da4eed61774e9bd3eda1fa7922581aee04e1
├── AudioFileInspector
│ ├── AboutForm.cs
│ ├── AboutForm.Designer.cs
│ ├── AboutForm.resx
│ ├── app.config
│ ├── AudioFileInspector.csproj
│ ├── AudioFileInspectorForm.cs
│ ├── AudioFileInspectorForm.Designer.cs
│ ├── AudioFileInspectorForm.resx
│ ├── audio_file_inspector.html
│ ├── FileAssociations.cs
│ ├── FileInspectors
│ │ ├── MidiFileInspector.cs
│ │ ├── Mp3FileInspector.cs
│ │ ├── SoundFontInspector.cs
│ │ └── WaveFileInspector.cs
│ ├── FindForm.cs
│ ├── FindForm.Designer.cs
│ ├── FindForm.resx
│ ├── IAudioFileInspector.cs
│ ├── InstallScript.nsi
│ ├── OptionsForm.cs
│ ├── OptionsForm.Designer.cs
│ ├── OptionsForm.resx
│ ├── Program.cs
│ ├── Properties
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ └── ReleaseNotes.md
├── azure-pipelines.yml
├── build.cake
├── build.ps1
├── Docs
│ ├── AsioPlayback.md
│ ├── AsioRecording.md
│ ├── ConcatenatingAudio.md
│ ├── ConvertBetweenStereoAndMono.md
│ ├── ConvertMp3ToWav.md
│ ├── EnumerateAcmDrivers.md
│ ├── EnumerateMediaFoundationTransforms.md
│ ├── EnumerateOutputDevices.md
│ ├── FadeInOutSampleProvider.md
│ ├── MediaFoundationEncoder.md
│ ├── MidiEvent.md
│ ├── MidiFile.md
│ ├── MidiInAndOut.md
│ ├── MixTwoAudioFilesToWav.md
│ ├── OffsetSampleProvider.md
│ ├── OutputDeviceTypes.md
│ ├── PlayAudioFileConsoleApp.md
│ ├── PlayAudioFileWinForms.md
│ ├── PlayAudioFromUrl.md
│ ├── PlaybackStopped.md
│ ├── PlaySineWave.md
│ ├── RawSourceWaveStream.md
│ ├── RecordingLevelMeter.md
│ ├── RecordWavFileWinFormsWaveIn.md
│ ├── Resampling.md
│ ├── SmbPitchShiftingSampleProvider.md
│ ├── WasapiLoopbackCapture.md
│ ├── WasapiOut.md
│ ├── WaveFormRendering.md
│ └── WaveProviders.md
├── global.json
├── Lib
│ └── NSpeex
│ └── NSpeex.dll
├── license.txt
├── MidiFileConverter
│ ├── AboutForm.cs
│ ├── AboutForm.Designer.cs
│ ├── AboutForm.resx
│ ├── AdvancedOptionsForm.cs
│ ├── AdvancedOptionsForm.Designer.cs
│ ├── AdvancedOptionsForm.resx
│ ├── app.config
│ ├── InstallScript.nsi
│ ├── MainForm.cs
│ ├── MainForm.Designer.cs
│ ├── MainForm.resx
│ ├── MidiConverter.cs
│ ├── MidiFileConverter.csproj
│ ├── MidiFileConverter.csproj.vspscc
│ ├── midi_file_converter.html
│ ├── NamingRule.cs
│ ├── NamingRules.xml
│ ├── OutputMidiType.cs
│ ├── Program.cs
│ ├── ProgressEventArgs.cs
│ ├── Properties
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ └── ReleaseNotes.md
├── MixDiff
│ ├── AboutForm.cs
│ ├── AboutForm.Designer.cs
│ ├── AboutForm.resx
│ ├── app.config
│ ├── Images.Designer.cs
│ ├── Images.resx
│ ├── MixDiff.csproj
│ ├── MixDiff.csproj.vspscc
│ ├── MixDiffForm.cs
│ ├── MixDiffForm.Designer.cs
│ ├── MixDiffForm.resx
│ ├── MixDiffStream.cs
│ ├── MixdownInfo.cs
│ ├── Program.cs
│ ├── Properties
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── PropertiesForm.cs
│ ├── PropertiesForm.Designer.cs
│ ├── PropertiesForm.resx
│ ├── ReleaseNotes.md
│ ├── Resources
│ │ ├── Back.png
│ │ ├── Forward.png
│ │ ├── Loop.png
│ │ ├── Pause.png
│ │ ├── Play.png
│ │ ├── Rewind.png
│ │ ├── Shuffle.png
│ │ └── Stop.png
│ ├── SettingsForm.cs
│ ├── SettingsForm.Designer.cs
│ └── SettingsForm.resx
├── NAudio
│ ├── AudioFileReader.cs
│ ├── Changes.xml
│ ├── Mp3FileReader.cs
│ ├── NAudio.csproj
│ ├── NAudio.csproj.DotSettings
│ ├── NAudio.csproj.vspscc
│ └── NAudio.ruleset
├── NAudio.Asio
│ ├── Asio64Bit.cs
│ ├── AsioAudioAvailableEventArgs.cs
│ ├── AsioCallbacks.cs
│ ├── AsioChannelInfo.cs
│ ├── AsioDriverCapability.cs
│ ├── ASIODriver.cs
│ ├── ASIODriverExt.cs
│ ├── AsioError.cs
│ ├── AsioMessageSelector.cs
│ ├── AsioOut.cs
│ ├── ASIOSampleConvertor.cs
│ ├── AsioSampleType.cs
│ ├── ASIOStructures.cs
│ └── NAudio.Asio.csproj
├── NAudio.Core
│ ├── Codecs
│ │ ├── ALawDecoder.cs
│ │ ├── ALawEncoder.cs
│ │ ├── G722Codec.cs
│ │ ├── MuLawDecoder.cs
│ │ └── MuLawEncoder.cs
│ ├── Dsp
│ │ ├── BiQuadFilter.cs
│ │ ├── Complex.cs
│ │ ├── EnvelopeDetector.cs
│ │ ├── EnvelopeGenerator.cs
│ │ ├── FastFourierTransform.cs
│ │ ├── ImpulseResponseConvolution.cs
│ │ ├── SimpleCompressor.cs
│ │ ├── SimpleGate.cs
│ │ ├── SmbPitchShifter.cs
│ │ └── WdlResampler.cs
│ ├── FileFormats
│ │ ├── Mp3
│ │ │ ├── ChannelMode.cs
│ │ │ ├── Id3v2Tag.cs
│ │ │ ├── IMp3FrameDecompressor.cs
│ │ │ ├── Mp3Frame.cs
│ │ │ ├── MpegLayer.cs
│ │ │ ├── MpegVersion.cs
│ │ │ └── XingHeader.cs
│ │ ├── SoundFont
│ │ │ ├── GeneratorBuilder.cs
│ │ │ ├── Generator.cs
│ │ │ ├── GeneratorEnum.cs
│ │ │ ├── InfoChunk.cs
│ │ │ ├── InstrumentBuilder.cs
│ │ │ ├── Instrument.cs
│ │ │ ├── ModulatorBuilder.cs
│ │ │ ├── Modulator.cs
│ │ │ ├── ModulatorType.cs
│ │ │ ├── PresetBuilder.cs
│ │ │ ├── Preset.cs
│ │ │ ├── PresetsChunk.cs
│ │ │ ├── RiffChunk.cs
│ │ │ ├── SampleDataChunk.cs
│ │ │ ├── SampleHeaderBuilder.cs
│ │ │ ├── SampleHeader.cs
│ │ │ ├── SampleMode.cs
│ │ │ ├── SFSampleLink.cs
│ │ │ ├── SFVersionBuilder.cs
│ │ │ ├── SFVersion.cs
│ │ │ ├── SoundFont.cs
│ │ │ ├── StructureBuilder.cs
│ │ │ ├── ZoneBuilder.cs
│ │ │ └── Zone.cs
│ │ └── Wav
│ │ └── WaveFileChunkReader.cs
│ ├── Manufacturers.cs
│ ├── MmException.cs
│ ├── MmResult.cs
│ ├── NAudio.Core.csproj
│ ├── Utils
│ │ ├── BufferHelpers.cs
│ │ ├── ByteArrayExtensions.cs
│ │ ├── ByteEncoding.cs
│ │ ├── ChunkIdentifier.cs
│ │ ├── CircularBuffer.cs
│ │ ├── Decibels.cs
│ │ ├── FieldDescriptionAttribute.cs
│ │ ├── FieldDescriptionHelper.cs
│ │ ├── HResult.cs
│ │ ├── IEEE.cs
│ │ ├── IgnoreDisposeStream.cs
│ │ ├── NativeMethods.cs
│ │ └── WavePositionExtensions.cs
│ └── Wave
│ ├── SampleChunkConverters
│ │ ├── ISampleChunkConverter.cs
│ │ ├── Mono16SampleChunkConverter.cs
│ │ ├── Mono24SampleChunkConverter.cs
│ │ ├── Mono8SampleChunkConverter.cs
│ │ ├── MonoFloatSampleChunkConverter.cs
│ │ ├── Stereo16SampleChunkConverter.cs
│ │ ├── Stereo24SampleChunkConverter.cs
│ │ ├── Stereo8SampleChunkConverter.cs
│ │ └── StereoFloatSampleChunkConverter.cs
│ ├── SampleProviders
│ │ ├── AdsrSampleProvider.cs
│ │ ├── ConcatenatingSampleProvider.cs
│ │ ├── FadeInOutSampleProvider.cs
│ │ ├── MeteringSampleProvider.cs
│ │ ├── MixingSampleProvider.cs
│ │ ├── MonoToStereoSampleProvider.cs
│ │ ├── MultiplexingSampleProvider.cs
│ │ ├── NotifyingSampleProvider.cs
│ │ ├── OffsetSampleProvider.cs
│ │ ├── PanningSampleProvider.cs
│ │ ├── Pcm16BitToSampleProvider.cs
│ │ ├── Pcm24BitToSampleProvider.cs
│ │ ├── Pcm32BitToSampleProvider.cs
│ │ ├── Pcm8BitToSampleProvider.cs
│ │ ├── SampleChannel.cs
│ │ ├── SampleProviderConverterBase.cs
│ │ ├── SampleProviderConverters.cs
│ │ ├── SampleToWaveProvider16.cs
│ │ ├── SampleToWaveProvider24.cs
│ │ ├── SampleToWaveProvider.cs
│ │ ├── SignalGenerator.cs
│ │ ├── SMBPitchShiftingSampleProvider.cs
│ │ ├── StereoToMonoSampleProvider.cs
│ │ ├── VolumeSampleProvider.cs
│ │ ├── WaveToSampleProvider64.cs
│ │ ├── WaveToSampleProvider.cs
│ │ └── WdlResamplingSampleProvider.cs
│ ├── WaveExtensionMethods.cs
│ ├── WaveFormats
│ │ ├── AdpcmWaveFormat.cs
│ │ ├── AudioMediaSubtypes.cs
│ │ ├── Gsm610WaveFormat.cs
│ │ ├── ImaAdpcmWaveFormat.cs
│ │ ├── Mp3WaveFormat.cs
│ │ ├── OggWaveFormat.cs
│ │ ├── TrueSpeechWaveFormat.cs
│ │ ├── WaveFormat.cs
│ │ ├── WaveFormatCustomMarshaler.cs
│ │ ├── WaveFormatEncoding.cs
│ │ ├── WaveFormatExtensible.cs
│ │ ├── WaveFormatExtraData.cs
│ │ └── WmaWaveFormat.cs
│ ├── WaveInputs
│ │ ├── CaptureState.cs
│ │ ├── IWaveIn.cs
│ │ └── WaveInEventArgs.cs
│ ├── WaveOutputs
│ │ ├── AiffFileWriter.cs
│ │ ├── BextChunkInfo.cs
│ │ ├── BwfWriter.cs
│ │ ├── CueWaveFileWriter.cs
│ │ ├── DirectSoundOut.cs
│ │ ├── IWaveBuffer.cs
│ │ ├── IWavePlayer.cs
│ │ ├── IWaveProvider.cs
│ │ ├── IWaveProviderFloat.cs
│ │ ├── PlaybackState.cs
│ │ ├── StoppedEventArgs.cs
│ │ ├── WaveBuffer.cs
│ │ └── WaveFileWriter.cs
│ ├── WaveProviders
│ │ ├── BufferedWaveProvider.cs
│ │ ├── MixingWaveProvider32.cs
│ │ ├── MonoToStereoProvider16.cs
│ │ ├── MultiplexingWaveProvider.cs
│ │ ├── SilenceWaveProvider.cs
│ │ ├── StereoToMonoProvider16.cs
│ │ ├── VolumeWaveProvider16.cs
│ │ ├── Wave16toFloatProvider.cs
│ │ ├── WaveFloatTo16Provider.cs
│ │ ├── WaveInProvider.cs
│ │ ├── WaveProvider16.cs
│ │ ├── WaveProvider32.cs
│ │ └── WaveRecorder.cs
│ └── WaveStreams
│ ├── AiffFileReader.cs
│ ├── BlockAlignReductionStream.cs
│ ├── CueList.cs
│ ├── CueWaveFileReader.cs
│ ├── ISampleNotifier.cs
│ ├── Mp3FileReaderBase.cs
│ ├── RawSourceWaveStream.cs
│ ├── RiffChunk.cs
│ ├── SimpleCompressorStream.cs
│ ├── Wave32To16Stream.cs
│ ├── WaveChannel32.cs
│ ├── WaveFileReader.cs
│ ├── WaveMixerStream32.cs
│ ├── WaveOffsetStream.cs
│ └── WaveStream.cs
├── NAudioDemo
│ ├── AcmDemo
│ │ ├── AcmPanel.cs
│ │ ├── AcmPanel.Designer.cs
│ │ └── AcmPanel.resx
│ ├── app.config
│ ├── AsioDirectDemo
│ │ ├── AsioDirectPanel.cs
│ │ ├── AsioDirectPanel.Designer.cs
│ │ └── AsioDirectPanel.resx
│ ├── AsioRecordingDemo
│ │ ├── AsioRecordingPanel.cs
│ │ ├── AsioRecordingPanel.Designer.cs
│ │ └── AsioRecordingPanel.resx
│ ├── AudioPlaybackDemo
│ │ ├── AsioOutPlugin.cs
│ │ ├── AsioOutSettingsPanel.cs
│ │ ├── AsioOutSettingsPanel.Designer.cs
│ │ ├── AsioOutSettingsPanel.resx
│ │ ├── AudioPlaybackPanel.cs
│ │ ├── AudioPlaybackPanel.Designer.cs
│ │ ├── AudioPlaybackPanelPlugin.cs
│ │ ├── AudioPlaybackPanel.resx
│ │ ├── DirectSoundOutPlugin.cs
│ │ ├── DirectSoundOutSettingsPanel.cs
│ │ ├── DirectSoundOutSettingsPanel.Designer.cs
│ │ ├── DirectSoundOutSettingsPanel.resx
│ │ ├── IOutputDevicePlugin.cs
│ │ ├── WasapiOutPlugin.cs
│ │ ├── WasapiOutSettingsPanel.cs
│ │ ├── WasapiOutSettingsPanel.Designer.cs
│ │ ├── WasapiOutSettingsPanel.resx
│ │ ├── WaveOutPlugin.cs
│ │ ├── WaveOutSettingsPanel.cs
│ │ ├── WaveOutSettingsPanel.Designer.cs
│ │ └── WaveOutSettingsPanel.resx
│ ├── DeviceTopology
│ │ ├── DeviceTopologyPanel.cs
│ │ ├── DeviceTopologyPanel.Designer.cs
│ │ ├── DeviceTopologyPanel.resx
│ │ └── DeviceTopologyPlugin.cs
│ ├── FadeInOutDemo
│ │ ├── FadeInOutPanel.cs
│ │ ├── FadeInOutPanel.Designer.cs
│ │ ├── FadeInOutPanel.resx
│ │ └── FadeInOutPlugin.cs
│ ├── Images.Designer.cs
│ ├── Images.resx
│ ├── INAudioDemoPlugin.cs
│ ├── MainForm.cs
│ ├── MainForm.Designer.cs
│ ├── MainForm.resx
│ ├── MediaFoundationDemo
│ │ ├── MediaFoundationDemoPanel.cs
│ │ ├── MediaFoundationDemoPanel.Designer.cs
│ │ ├── MediaFoundationDemoPanel.resx
│ │ └── WasapiOutGuiThread.cs
│ ├── MidiInDemo
│ │ ├── MidiInPanel.cs
│ │ ├── MidiInPanel.Designer.cs
│ │ └── MidiInPanel.resx
│ ├── Mp3StreamingDemo
│ │ ├── MP3StreamingPanel.cs
│ │ ├── MP3StreamingPanel.Designer.cs
│ │ ├── MP3StreamingPanel.resx
│ │ └── ReadFullyStream.cs
│ ├── NAudioDemo.csproj
│ ├── NAudioDemo.csproj.DotSettings
│ ├── NetworkChatDemo
│ │ ├── AcmChatCodec.cs
│ │ ├── ALawChatCodec.cs
│ │ ├── G722ChatCodec.cs
│ │ ├── Gsm610ChatCodec.cs
│ │ ├── IAudioReceiver.cs
│ │ ├── IAudioSender.cs
│ │ ├── INetworkChatCodec.cs
│ │ ├── MicrosoftAdpcmChatCodec.cs
│ │ ├── MuLawChatCodec.cs
│ │ ├── NetworkAudioPlayer.cs
│ │ ├── NetworkAudioSender.cs
│ │ ├── NetworkChatPanel.cs
│ │ ├── NetworkChatPanel.Designer.cs
│ │ ├── NetworkChatPanel.resx
│ │ ├── SpeexChatCodec.cs
│ │ ├── TcpAudioReceiver.cs
│ │ ├── TcpAudioSender.cs
│ │ ├── TrueSpeechChatCodec.cs
│ │ ├── UdpAudioReceiver.cs
│ │ ├── UdpAudioSender.cs
│ │ └── UncompressedPcmChatCodec.cs
│ ├── Program.cs
│ ├── Properties
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── RecordingDemo
│ │ ├── RecordingPanel.cs
│ │ ├── RecordingPanel.Designer.cs
│ │ └── RecordingPanel.resx
│ ├── Resources
│ │ ├── Audiosrv.png
│ │ ├── Back.png
│ │ ├── Forward.png
│ │ ├── Loop.png
│ │ ├── Mute.png
│ │ ├── Open.png
│ │ ├── Pause.png
│ │ ├── Play.png
│ │ ├── Rewind.png
│ │ ├── Shuffle.png
│ │ ├── Stop.png
│ │ └── Unmute.png
│ ├── SignalGeneratorDemo
│ │ ├── GeneratorPanel.cs
│ │ ├── GeneratorPanel.Designer.cs
│ │ ├── GeneratorPanel.resx
│ │ └── GeneratorPlugIn.cs
│ ├── SimplePlaybackDemo
│ │ ├── SimplePlaybackPanel.cs
│ │ ├── SimplePlaybackPanel.Designer.cs
│ │ ├── SimplePlaybackPanel.resx
│ │ └── SimplePlaybackPlugin.cs
│ ├── Utils
│ │ ├── ProcessHelper.cs
│ │ └── ReflectionHelper.cs
│ └── VolumeMixerDemo
│ ├── IconExtractor.cs
│ ├── VolumeMixerPanel.cs
│ ├── VolumeMixerPanel.Designer.cs
│ ├── VolumeMixerPlugin.cs
│ ├── VolumePanel.cs
│ ├── VolumePanel.Designer.cs
│ └── VolumePanel.resx
├── NAudio.Extras
│ ├── AudioPlaybackEngine.cs
│ ├── AutoDisposeFileReader.cs
│ ├── CachedSound.cs
│ ├── CachedSoundSampleProvider.cs
│ ├── EqualizerBand.cs
│ ├── Equalizer.cs
│ ├── LoopStream.cs
│ ├── NAudio.Extras.csproj
│ └── SampleAggregator.cs
├── naudio-icon.png
├── naudio-logo.png
├── NAudio.Midi
│ ├── MergeSort.cs
│ ├── Midi
│ │ ├── ChannelAfterTouchEvent.cs
│ │ ├── ControlChangeEvent.cs
│ │ ├── KeySignatureEvent.cs
│ │ ├── MetaEvent.cs
│ │ ├── MetaEventType.cs
│ │ ├── MidiCommandCode.cs
│ │ ├── MidiController.cs
│ │ ├── MidiEventCollection.cs
│ │ ├── MidiEventComparer.cs
│ │ ├── MidiEvent.cs
│ │ ├── MidiFile.cs
│ │ ├── MidiInCapabilities.cs
│ │ ├── MidiIn.cs
│ │ ├── MidiInMessageEventArgs.cs
│ │ ├── MidiInSysexMessageEventArgs.cs
│ │ ├── MidiInterop.cs
│ │ ├── MidiMessage.cs
│ │ ├── MidiOutCapabilities.cs
│ │ ├── MidiOut.cs
│ │ ├── MidiOutTechnology.cs
│ │ ├── NoteEvent.cs
│ │ ├── NoteOnEvent.cs
│ │ ├── PatchChangeEvent.cs
│ │ ├── PitchWheelChangeEvent.cs
│ │ ├── RawMetaEvent.cs
│ │ ├── SequencerSpecificEvent.cs
│ │ ├── SmpteOffsetEvent.cs
│ │ ├── SysexEvent.cs
│ │ ├── TempoEvent.cs
│ │ ├── TextEvent.cs
│ │ ├── TimeSignatureEvent.cs
│ │ └── TrackSequenceNumberEvent.cs
│ └── NAudio.Midi.csproj
├── NAudio.sln
├── NAudio.sln.DotSettings
├── NAudioStrongNameKey.snk
├── NAudioTests
│ ├── Acm
│ │ ├── AcmDriverTests.cs
│ │ ├── GsmEncodeTest.cs
│ │ └── WaveFormatConversionStreamTests.cs
│ ├── Aiff
│ │ └── AiffReaderTests.cs
│ ├── DirectSound
│ │ └── DirectSoundTests.cs
│ ├── Dmo
│ │ ├── DmoEffectorTests.cs
│ │ ├── DmoMp3FrameDecompressorTests.cs
│ │ ├── DmoTests.cs
│ │ ├── ResamplerDmoStreamTests.cs
│ │ └── ResamplerDmoTests.cs
│ ├── MediaFoundation
│ │ └── MediaFoundationReaderTests.cs
│ ├── Midi
│ │ ├── MidiEventCloneTests.cs
│ │ ├── MidiEventCollectionTest.cs
│ │ └── PitchWheelChangeEventTests.cs
│ ├── Mixer
│ │ └── MixerApiTests.cs
│ ├── Mp3
│ │ ├── Mp3FileReaderTests.cs
│ │ └── Mp3FrameTests.cs
│ ├── NAudioTests.csproj
│ ├── NAudioTests.csproj.vspscc
│ ├── StopwatchExtensions.cs
│ ├── Utils
│ │ ├── BlockAlignedWaveStream.cs
│ │ ├── ByteEncodingTests.cs
│ │ ├── NullWaveStream.cs
│ │ ├── OSUtils.cs
│ │ ├── SampleProviderTestHelpers.cs
│ │ └── TestFileBuilder.cs
│ ├── Wasapi
│ │ ├── AudioClientTests.cs
│ │ └── MMDeviceEnumeratorTests.cs
│ ├── WaveFormats
│ │ └── AdpcmWaveFormatTests.cs
│ ├── WaveIn
│ │ └── WaveInDevicesTests.cs
│ └── WaveStreams
│ ├── AudioFileReaderTests.cs
│ ├── BlockAlignmentReductionStreamTests.cs
│ ├── BufferedWaveProviderTests.cs
│ ├── ChunkIdentifierTests.cs
│ ├── CircularBufferTests.cs
│ ├── ConcatenatingSampleProviderTests.cs
│ ├── FadeInOutSampleProviderTests.cs
│ ├── MixingSampleProviderTests.cs
│ ├── MonoToStereoProvider16Tests.cs
│ ├── MonoToStereoSampleProviderTests.cs
│ ├── MultiplexingSampleProviderTests.cs
│ ├── MultiplexingWaveProviderTests.cs
│ ├── OffsetSampleProviderTests.cs
│ ├── SampleToWaveProvider24Tests.cs
│ ├── SilenceProviderTests.cs
│ ├── StereoToMonoProvider16Tests.cs
│ ├── StereoToMonoSampleProviderTests.cs
│ ├── TestSampleProvider.cs
│ ├── TestWaveProvider.cs
│ ├── VolumeWaveProvider16Tests.cs
│ ├── WaveChannel32Tests.cs
│ ├── WaveFileReaderTests.cs
│ ├── WaveFileWriterTests.cs
│ └── WdlResamplingSampleProviderTests.cs
├── NAudio.Uap
│ ├── NAudio.Uap.csproj
│ ├── WasapiCaptureRT.cs
│ ├── WasapiOutRT.cs
│ └── WaveFileWriterRT.cs
├── NAudioUniversalDemo
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ │ ├── Logo.scale-100.png
│ │ ├── SmallLogo.scale-100.png
│ │ ├── SplashScreen.scale-100.png
│ │ ├── StoreLogo.scale-100.png
│ │ └── WideLogo.scale-100.png
│ ├── DelegateCommand.cs
│ ├── MainPageViewModel.cs
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── MediaFoundationReaderUniversal.cs
│ ├── NAudioUniversalDemo.csproj
│ ├── NAudioUniversalDemo_TemporaryKey.pfx
│ ├── Package.appxmanifest
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ └── Default.rd.xml
│ └── ViewModelBase.cs
├── NAudio.Wasapi
│ ├── ComStream.cs
│ ├── CoreAudioApi
│ │ ├── ActivateAudioInterfaceCompletionHandler.cs
│ │ ├── AudioCaptureClient.cs
│ │ ├── AudioClientBufferFlags.cs
│ │ ├── AudioClient.cs
│ │ ├── AudioClientProperties.cs
│ │ ├── AudioClientShareMode.cs
│ │ ├── AudioClientStreamFlags.cs
│ │ ├── AudioClientStreamOptions.cs
│ │ ├── AudioClockClient.cs
│ │ ├── AudioEndpointVolumeCallback.cs
│ │ ├── AudioEndpointVolumeChannel.cs
│ │ ├── AudioEndpointVolumeChannels.cs
│ │ ├── AudioEndpointVolume.cs
│ │ ├── AudioEndpointVolumeNotificationDelegate.cs
│ │ ├── AudioEndpointVolumeStepInformation.cs
│ │ ├── AudioEndpointVolumeVolumeRange.cs
│ │ ├── AudioMeterInformationChannels.cs
│ │ ├── AudioMeterInformation.cs
│ │ ├── AudioMute.cs
│ │ ├── AudioRenderClient.cs
│ │ ├── AudioSessionControl.cs
│ │ ├── AudioSessionEventsCallback.cs
│ │ ├── AudioSessionManager.cs
│ │ ├── AudioSessionNotification.cs
│ │ ├── AudioStreamCategory.cs
│ │ ├── AudioStreamVolume.cs
│ │ ├── AudioVolumeLevel.cs
│ │ ├── AudioVolumeNotificationData.cs
│ │ ├── Connector.cs
│ │ ├── ConnectorType.cs
│ │ ├── DataFlow.cs
│ │ ├── DeviceState.cs
│ │ ├── DeviceTopology.cs
│ │ ├── EEndpointHardwareSupport.cs
│ │ ├── Interfaces
│ │ │ ├── AudioVolumeNotificationDataStruct.cs
│ │ │ ├── Blob.cs
│ │ │ ├── ClsCtx.cs
│ │ │ ├── ErrorCodes.cs
│ │ │ ├── IActivateAudioInterfaceAsyncOperation.cs
│ │ │ ├── IActivateAudioInterfaceCompletionHandler.cs
│ │ │ ├── IAgileObject.cs
│ │ │ ├── IAudioAutoGainControl.cs
│ │ │ ├── IAudioCaptureClient.cs
│ │ │ ├── IAudioClient2.cs
│ │ │ ├── IAudioClient.cs
│ │ │ ├── IAudioClock2.cs
│ │ │ ├── IAudioEndpointVolumeCallback.cs
│ │ │ ├── IAudioEndpointVolume.cs
│ │ │ ├── IAudioMeterInformation.cs
│ │ │ ├── IAudioMute.cs
│ │ │ ├── IAudioRenderClient.cs
│ │ │ ├── IAudioSessionControl.cs
│ │ │ ├── IAudioSessionEnumerator.cs
│ │ │ ├── IAudioSessionEvents.cs
│ │ │ ├── IAudioSessionEventsHandler.cs
│ │ │ ├── IAudioSessionManager.cs
│ │ │ ├── IAudioSessionNotification.cs
│ │ │ ├── IAudioStreamVolume.cs
│ │ │ ├── IAudioVolumeLevel.cs
│ │ │ ├── IConnector.cs
│ │ │ ├── IControlChangeNotify.cs
│ │ │ ├── IControlInterface.cs
│ │ │ ├── IDeviceTopology.cs
│ │ │ ├── IKsJackDescription.cs
│ │ │ ├── IMMDeviceCollection.cs
│ │ │ ├── IMMDevice.cs
│ │ │ ├── IMMDeviceEnumerator.cs
│ │ │ ├── IMMEndpoint.cs
│ │ │ ├── IMMNotificationClient.cs
│ │ │ ├── IPart.cs
│ │ │ ├── IPartsList.cs
│ │ │ ├── IPerChannelDbLevel.cs
│ │ │ ├── IPropertyStore.cs
│ │ │ ├── ISimpleAudioVolume.cs
│ │ │ ├── ISubunit.cs
│ │ │ ├── MMDeviceEnumeratorComObject.cs
│ │ │ ├── PartType.cs
│ │ │ └── StorageAccessMode.cs
│ │ ├── KsJackDescription.cs
│ │ ├── MMDeviceCollection.cs
│ │ ├── MMDevice.cs
│ │ ├── MMDeviceEnumerator.cs
│ │ ├── NativeMethods.cs
│ │ ├── Part.cs
│ │ ├── PartsList.cs
│ │ ├── PropertyKey.cs
│ │ ├── PropertyKeys.cs
│ │ ├── PropertyStore.cs
│ │ ├── PropertyStoreProperty.cs
│ │ ├── PropVariant.cs
│ │ ├── PropVariantNative.cs
│ │ ├── Role.cs
│ │ ├── SessionCollection.cs
│ │ └── SimpleAudioVolume.cs
│ ├── Dmo
│ │ ├── DmoDescriptor.cs
│ │ ├── DmoEnumerator.cs
│ │ ├── DmoEnumFlags.cs
│ │ ├── DmoGuids.cs
│ │ ├── DmoHResults.cs
│ │ ├── DmoInPlaceProcessFlags.cs
│ │ ├── DmoInPlaceProcessReturn.cs
│ │ ├── DmoInputDataBufferFlags.cs
│ │ ├── DmoInputStatusFlags.cs
│ │ ├── DmoInterop.cs
│ │ ├── DmoMediaType.cs
│ │ ├── DmoOutputDataBuffer.cs
│ │ ├── DmoOutputDataBufferFlags.cs
│ │ ├── DmoPartialMediaType.cs
│ │ ├── DmoProcessOutputFlags.cs
│ │ ├── DmoSetTypeFlags.cs
│ │ ├── Effect
│ │ │ ├── ChorusPhase.cs
│ │ │ ├── ChorusWaveForm.cs
│ │ │ ├── DmoChorus.cs
│ │ │ ├── DmoCompressor.cs
│ │ │ ├── DmoDistortion.cs
│ │ │ ├── DmoEcho.cs
│ │ │ ├── DmoFlanger.cs
│ │ │ ├── DmoGargle.cs
│ │ │ ├── DmoI3DL2Reverb.cs
│ │ │ ├── DmoParamEq.cs
│ │ │ ├── DmoWavesReverb.cs
│ │ │ ├── EchoPanDelay.cs
│ │ │ ├── FlangerPhase.cs
│ │ │ ├── FlangerWaveForm.cs
│ │ │ ├── GargleWaveShape.cs
│ │ │ ├── I3Dl2EnvironmentPreset.cs
│ │ │ └── IDmoEffector.cs
│ │ ├── IEnumDmo.cs
│ │ ├── IMediaBuffer.cs
│ │ ├── IMediaObject.cs
│ │ ├── IMediaObjectInPlace.cs
│ │ ├── IMediaParamInfo.cs
│ │ ├── InputStreamInfoFlags.cs
│ │ ├── IWMResamplerProps.cs
│ │ ├── MediaBuffer.cs
│ │ ├── MediaObject.cs
│ │ ├── MediaObjectInPlace.cs
│ │ ├── MediaObjectSizeInfo.cs
│ │ ├── MediaParamInfo.cs
│ │ ├── MediaTypes.cs
│ │ ├── OutputStreamInfoFlags.cs
│ │ ├── ResamplerMediaObject.cs
│ │ └── WindowsMediaMp3Decoder.cs
│ ├── DmoEffectWaveProvider.cs
│ ├── DmoMp3FrameDecompressor.cs
│ ├── MediaFoundation
│ │ ├── AudioSubtypes.cs
│ │ ├── IMFActivate.cs
│ │ ├── IMFAttributes.cs
│ │ ├── IMFByteStream.cs
│ │ ├── IMFCollection.cs
│ │ ├── IMFMediaBuffer.cs
│ │ ├── IMFMediaEvent.cs
│ │ ├── IMFMediaType.cs
│ │ ├── IMFReadWriteClassFactory.cs
│ │ ├── IMFSample.cs
│ │ ├── IMFSinkWriter.cs
│ │ ├── IMFSourceReader.cs
│ │ ├── IMFTransform.cs
│ │ ├── MediaEventType.cs
│ │ ├── MediaFoundationAttributes.cs
│ │ ├── MediaFoundationErrors.cs
│ │ ├── MediaFoundationHelpers.cs
│ │ ├── MediaFoundationInterop.cs
│ │ ├── MediaFoundationTransformCategories.cs
│ │ ├── MediaFoundationTransform.cs
│ │ ├── MediaType.cs
│ │ ├── MediaTypes.cs
│ │ ├── MF_SINK_WRITER_STATISTICS.cs
│ │ ├── _MFT_ENUM_FLAG.cs
│ │ ├── _MFT_INPUT_STATUS_FLAGS.cs
│ │ ├── MFT_INPUT_STREAM_INFO.cs
│ │ ├── _MFT_INPUT_STREAM_INFO_FLAGS.cs
│ │ ├── MFT_MESSAGE_TYPE.cs
│ │ ├── MFT_OUTPUT_DATA_BUFFER.cs
│ │ ├── _MFT_OUTPUT_DATA_BUFFER_FLAGS.cs
│ │ ├── _MFT_OUTPUT_STATUS_FLAGS.cs
│ │ ├── MFT_OUTPUT_STREAM_INFO.cs
│ │ ├── _MFT_OUTPUT_STREAM_INFO_FLAGS.cs
│ │ ├── _MFT_PROCESS_OUTPUT_FLAGS.cs
│ │ ├── _MFT_PROCESS_OUTPUT_STATUS.cs
│ │ ├── MFT_REGISTER_TYPE_INFO.cs
│ │ ├── _MFT_SET_TYPE_FLAGS.cs
│ │ └── TranscodeContainerTypes.cs
│ ├── MediaFoundationEncoder.cs
│ ├── MediaFoundationReader.cs
│ ├── MediaFoundationResampler.cs
│ ├── NAudio.Wasapi.csproj
│ ├── ResamplerDmoStream.cs
│ ├── StreamMediaFoundationReader.cs
│ ├── WasapiCapture.cs
│ ├── WasapiLoopbackCapture.cs
│ └── WasapiOut.cs
├── NAudio.WinForms
│ ├── Gui
│ │ ├── Fader.cs
│ │ ├── Fader.Designer.cs
│ │ ├── Fader.resx
│ │ ├── PanSlider.cs
│ │ ├── PanSlider.Designer.cs
│ │ ├── PanSlider.resx
│ │ ├── Pot.cs
│ │ ├── Pot.Designer.cs
│ │ ├── Pot.resx
│ │ ├── ProgressLog.cs
│ │ ├── ProgressLog.Designer.cs
│ │ ├── ProgressLog.resx
│ │ ├── VolumeMeter.cs
│ │ ├── VolumeMeter.Designer.cs
│ │ ├── VolumeSlider.cs
│ │ ├── VolumeSlider.Designer.cs
│ │ ├── VolumeSlider.resx
│ │ ├── WaveformPainter.cs
│ │ ├── WaveformPainter.Designer.cs
│ │ ├── WaveViewer.cs
│ │ ├── WaveViewer.Designer.cs
│ │ └── WaveViewer.resx
│ ├── NAudio.WinForms.csproj
│ ├── WaveCallbackInfo.cs
│ ├── WaveIn.cs
│ ├── WaveOut.cs
│ └── WaveWindow.cs
├── NAudio.WinMM
│ ├── Compression
│ │ ├── AcmDriverAddFlags.cs
│ │ ├── AcmDriver.cs
│ │ ├── AcmDriverDetails.cs
│ │ ├── AcmDriverDetailsSupportFlags.cs
│ │ ├── AcmDriverEnumFlags.cs
│ │ ├── AcmFormatChoose.cs
│ │ ├── AcmFormatChooseStyleFlags.cs
│ │ ├── AcmFormat.cs
│ │ ├── AcmFormatDetails.cs
│ │ ├── AcmFormatEnumFlags.cs
│ │ ├── AcmFormatSuggestFlags.cs
│ │ ├── AcmFormatTag.cs
│ │ ├── AcmFormatTagDetails.cs
│ │ ├── AcmInterop.cs
│ │ ├── AcmMetrics.cs
│ │ ├── AcmStreamConvertFlags.cs
│ │ ├── AcmStream.cs
│ │ ├── AcmStreamHeader.cs
│ │ ├── AcmStreamHeaderStatusFlags.cs
│ │ ├── AcmStreamHeaderStruct.cs
│ │ ├── AcmStreamOpenFlags.cs
│ │ ├── AcmStreamSizeFlags.cs
│ │ └── WaveFilter.cs
│ ├── Mixer
│ │ ├── BooleanMixerControl.cs
│ │ ├── CustomMixerControl.cs
│ │ ├── ListTextMixerControl.cs
│ │ ├── MixerControl.cs
│ │ ├── MixerControlType.cs
│ │ ├── Mixer.cs
│ │ ├── MixerFlags.cs
│ │ ├── MixerInterop.cs
│ │ ├── MixerLineComponentType.cs
│ │ ├── MixerLine.cs
│ │ ├── SignedMixerControl.cs
│ │ └── UnsignedMixerControl.cs
│ ├── MmeInterop
│ │ ├── MmTime.cs
│ │ ├── WaveCallbackStrategy.cs
│ │ ├── WaveHeader.cs
│ │ ├── WaveHeaderFlags.cs
│ │ ├── WaveInCapabilities.cs
│ │ ├── WaveInterop.cs
│ │ ├── WaveOutCapabilities.cs
│ │ └── WaveOutSupport.cs
│ ├── Mp3FrameDecompressor.cs
│ ├── NAudio.WinMM.csproj
│ ├── WaveFormatConversionProvider.cs
│ ├── WaveFormatConversionStream.cs
│ ├── WaveInBuffer.cs
│ ├── WaveInEvent.cs
│ ├── WaveOutBuffer.cs
│ ├── WaveOutEvent.cs
│ └── WaveOutUtils.cs
├── NAudioWpfDemo
│ ├── app.config
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── AudioPlaybackDemo
│ │ ├── AudioPlayback.cs
│ │ ├── AudioPlaybackDemoPlugin.cs
│ │ ├── AudioPlaybackDemoView.xaml
│ │ ├── AudioPlaybackDemoView.xaml.cs
│ │ ├── AudioPlaybackViewModel.cs
│ │ ├── IVisualizationPlugin.cs
│ │ ├── PolygonWaveFormVisualization.cs
│ │ ├── PolylineWaveFormVisualization.cs
│ │ ├── SpectrumAnalyzerVisualization.cs
│ │ └── WaveformVisual.cs
│ ├── AutoDisposeFileReader.cs
│ ├── DrumMachineDemo
│ │ ├── DrumKit.cs
│ │ ├── DrumMachineDemoPlugin.cs
│ │ ├── DrumMachineDemoViewModel.cs
│ │ ├── DrumMachineDemoView.xaml
│ │ ├── DrumMachineDemoView.xaml.cs
│ │ ├── DrumPattern.cs
│ │ ├── DrumPatternEditor.xaml
│ │ ├── DrumPatternEditor.xaml.cs
│ │ ├── DrumPatternSampleProvider.cs
│ │ ├── MusicSampleProvider.cs
│ │ ├── PatternSequencer.cs
│ │ ├── PatternSequencerTests.cs
│ │ └── SampleSource.cs
│ ├── EnumMediaFoundationTransforms
│ │ ├── EnumMftDemo.cs
│ │ ├── EnumMftViewModel.cs
│ │ ├── EnumMftView.xaml
│ │ └── EnumMftView.xaml.cs
│ ├── EqualizationDemo
│ │ ├── EqualizationDemoPlugin.cs
│ │ ├── EqualizationDemoViewModel.cs
│ │ ├── EqualizationDemoView.xaml
│ │ └── EqualizationDemoView.xaml.cs
│ ├── FireAndForgetPlayback
│ │ ├── FireAndForgetDemoPlugin.cs
│ │ ├── FireAndForgetPlaybackViewModel.cs
│ │ ├── FireAndForgetPlaybackView.xaml
│ │ └── FireAndForgetPlaybackView.xaml.cs
│ ├── IModule.cs
│ ├── IWaveFormRenderer.cs
│ ├── MainWindowViewModel.cs
│ ├── MainWindow.xaml
│ ├── MainWindow.xaml.cs
│ ├── MediaFoundationEncode
│ │ ├── MediaFoundationEncodePlugin.cs
│ │ ├── MediaFoundationEncodeViewModel.cs
│ │ ├── MediaFoundationEncodeView.xaml
│ │ ├── MediaFoundationEncodeView.xaml.cs
│ │ └── MediaTypeViewModel.cs
│ ├── MediaFoundationPlayback
│ │ ├── MediaFoundationPlaybackPlugin.cs
│ │ ├── MediaFoundationPlaybackViewModel.cs
│ │ ├── MediaFoundationPlaybackView.xaml
│ │ └── MediaFoundationPlaybackView.xaml.cs
│ ├── MediaFoundationResample
│ │ ├── MediaFoundationEncodePlugin.cs
│ │ ├── MediaFoundationResampleViewModel.cs
│ │ ├── MediaFoundationResampleView.xaml
│ │ └── MediaFoundationResampleView.xaml.cs
│ ├── ModuleBase.cs
│ ├── NAudioWpfDemo.csproj
│ ├── NAudioWpfDemo.csproj.DotSettings
│ ├── PolygonWaveFormControl.xaml
│ ├── PolygonWaveFormControl.xaml.cs
│ ├── PolylineWaveFormControl.xaml
│ ├── PolylineWaveFormControl.xaml.cs
│ ├── Properties
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── SpectrumAnalyser.xaml
│ ├── SpectrumAnalyser.xaml.cs
│ ├── Utils
│ │ └── ReflectionHelper.cs
│ ├── ViewModel
│ │ ├── DelegateCommand.cs
│ │ ├── RelayCommand.cs
│ │ └── ViewModelBase.cs
│ ├── WasapiCaptureDemo
│ │ ├── RecordingsViewModel.cs
│ │ ├── RecordingsView.xaml
│ │ ├── RecordingsView.xaml.cs
│ │ ├── WasapiCaptureDemoPlugin.cs
│ │ ├── WasapiCaptureDemoView.xaml
│ │ ├── WasapiCaptureDemoView.xaml.cs
│ │ └── WasapiCaptureViewModel.cs
│ ├── WaveFormControl.xaml
│ └── WaveFormControl.xaml.cs
├── publish.ps1
├── README.md
├── readme.txt
├── RELEASE_NOTES.md
├── SampleData
│ └── Drums
│ ├── closed-hat-trimmed.wav
│ ├── crash-trimmed.wav
│ ├── kick-trimmed.wav
│ ├── open-hat-trimmed.wav
│ └── snare-trimmed.wav
└── Tools
└── NuGet.exe
97 directories, 906 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论