如何才能获得2个wavefilereader顺序播放?

时间:2010-01-11 13:07:12

标签: c# audio playback naudio

我正在尝试播放一组通过网络发送的音频wav文件,以便作为整体声音流播放。我如何让一组这些块一个接一个地播放,没有声音中断或使用NAudio的光点?我可以播放1个文件,但我无法找到一种方法来检测一个声音文件何时结束或如何将第二个声音文件附加到第一个。

目前,当我尝试播放2个文件时,第1首曲目立即被切断,唯一的最终音轨正常播放

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

这个NAudio教程展示了如何实时混合流。它似乎支持定位(所以你可以在第一个流的末尾混合第二个流)。

http://opensebj.blogspot.com/2009/02/naudio-tutorial-2-mixing-multiple-wave.html

答案 1 :(得分:2)

另一种方法是创建自己的包含两个WaveFileReaders的自定义WaveStream。在Read方法中,从第一个返回数据直到它用完为止,然后从第二个开始返回数据。如果你需要在播放期间支持重新定位,你需要多做一点,但除此之外它应该非常简单