c# - 如何使用 NAudio 播放 MP3 文件

标签 c# mp3 naudio

WaveStream waveStream = new Mp3FileReader(mp3FileToPlay);
var waveOut = new WaveOut();
waveOut.Init(waveStream); 
waveOut.Play();

这会引发异常:

WaveBadFormat calling waveOutOpen

编码类型为“MpegLayer3”,如NAudio。

如何使用 NAudio 播放 mp3 文件?

最佳答案

对于 NAudio 1.6 及以上版本的用户,请不要使用原始接受答案中的代码。您不需要添加 WaveFormatConversionStreamBlockAlignReductionStream,并且您应该避免将 WaveOut 与函数回调一起使用 (WaveOutEvent 如果您不在 WinForms 或 WPF 应用程序中,则更可取)。此外,除非您想要阻止播放,否则您通常不会在音频结束前 sleep 。只需订阅 WaveOutPlaybackStopped 事件即可。

以下代码可以很好地在 NAudio 中播放 MP3:

var reader = new Mp3FileReader("test.mp3");
var waveOut = new WaveOut(); // or WaveOutEvent()
waveOut.Init(reader); 
waveOut.Play();

关于c# - 如何使用 NAudio 播放 MP3 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2488426/

相关文章:

java - 将音频媒体播放器集成到网站中

c# - fmod Sound.setMusicSpeed 返回不支持的格式错误

c# - 在播放时跳过静音-优化值

c# - C# 中的定点数学

c# - 未找到类型或命名空间 "are you missing assembly reference"而所有引用都正确

c# - HttpClient 使用 JToken 和字符串发布 MultipartFormDataContent 返回 404 错误

java - 如何在java中播放mp3文件

c# - 窗口刷新音频

c# - 如何将音频数据与时间相关联

c# - 如何在服务器上发送邮件时在客户端显示已发送邮件的数量?