NAudio:我应该在每次调用Init方法之前配置一个WaveOut对象

时间:2016-02-02 13:10:55

标签: naudio

我曾经在教程中读过(不幸的是,我无法找到位置),如果我想播放多个音频文件并使用WaveOut,我应该处理最后一个WaveOut在再次调用Init方法之前的对象。如果没有,我会收到错误。但是,我没有处理对象,一切正常。我这样做了:

Mp3FileReader reader_1 = new Mp3FileReader("1.mp3");
Mp3FileReader reader_2 = new Mp3FileReader("2.mp3");

WaveOut WaveOutDevice = new WaveOut();

WaveOutDevice.Init(reader_1);
WaveOutDevice.Play();

过了一会儿,播放第二个文件:

WaveOutDevice.Init(reader_2);
WaveOutDevice.Play();

所以我只想确保我做对了。

1 个答案:

答案 0 :(得分:3)

WaveOut最初是为Init而设计的,只能被称为一次。在某些情况下它可能会有效,但我建议您创建WaveOut的新实例以播放下一个声音。