使用 NAudio 1.7+ 播放音频文件

Posted

技术标签:

【中文标题】使用 NAudio 1.7+ 播放音频文件【英文标题】:Playing Audio File using NAudio 1.7+ 【发布时间】:2014-04-25 16:39:26 【问题描述】:

我在播放网络流以及使用 AAC 和使用 NAudio 的 MP3 的音频文件时遇到问题。花了一段时间才弄清楚,但下面的解决方案有效。

【问题讨论】:

【参考方案1】:

希望能帮助其他在正确使用 NAudio 时遇到困难的人。

//Create Output Stream with Data from Audio File / Network Stream
WaveOutputStream outputStream = new MediaFoundationReader("Path to File"); 
//Create Volume Stream to control volume of output 
//ex: volumeStream.Volume = 0.5f; Float between 0 & 1 
WaveChannel32 volumeStream = new WaveChannel32(outputStream);
//Create WaveOutEvent since it works in Background and UI Threads
WaveOutEvent player = new WaveOutEvent();
//Init Player with Configured Volume Stream
player.Init(volumeStream);
player.Play();

此代码可以播放 MediaFoundationReader 支持的任何音频文件(MP3、AAC、WAV)以及这些编解码器的网络流。要在 player、outputStream 和 volumeStream 上重用上述播放器调用 Dispose(),然后将每个设置为 null。

【讨论】:

以上是关于使用 NAudio 1.7+ 播放音频文件的主要内容,如果未能解决你的问题,请参考以下文章

在 UWP 中使用 NAudio 播放多个音频文件

使用 NAUDIO 播放 Dialogic ADPCM 音频文件

NAudio - 通过终端服务器连接播放断断续续的音频

NAudio:在保持声卡打开的同时播放许多音频文件

使用 NAudio 录制和播放音频

使用 NAudio 播放 IMA ADPCM 音频