我想知道如何用NAudio有效读取本地mp3文件?
我尝试了几种方法来读取mp3并使用WaveOut
进行播放,但有时速度很慢。
对于我目前的测试案例,我使用了几个文件大小在80MB到180MB之间的mp3文件。
首先我用Mp3FileReader
:用NAudio慢速读取mp3文件
myWaveOut.Init(new Mp3FileReader("test.mp3"));
然后我用一个FileStream
,并传递给Mp3FileReader
。
FileStream stream = File.OpenRead("test.mp3");
myWaveOut.Init(new Mp3FileReader(stream));
同样的问题...
此外我用这些(例如,不同的缓冲器大小/读取器)的variatons。
我检查了我的taskmanager,每次我读取一个文件,似乎读者在播放之前读取整个文件。例如。花了10-20秒来播放我的一个文件。根据我的taskmanager,这个文件在这段时间内被加载5.6到6.5 MB/s。所以在这段时间内,整个文件可能已被加载。
我做错了什么?
是否有更有效的方法来加载较大的文件并对它们进行流式处理?
要添加到此 - WM ASF读卡器也被称为正在读取MP3文件:当涉及到标准产品时,还有一个选项可供选择。 –
是的,它很好地工作。没有更多的等待:)谢谢 – TorbenJ