使用NAudio 1.7+播放音频文件

本文关键字:音频 文件 播放 NAudio 使用 | 更新日期: 2023-09-27 18:00:23

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

使用NAudio 1.7+播放音频文件

希望能帮助其他难以正确使用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)以及这些编解码器的网络流。要重用上面的播放器,请对播放器、outputStream和volumeStream调用Dispose(),然后将其分别设置为null。