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

NAudio: Should I dispose a WaveOut object before each call to the Init method

我曾经看过一个教程(很遗憾,我找不到在哪里),如果我想播放多个音频文件,并使用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();

所以我只想确保我做的是正确的事情。

WaveOut 最初是为 Init 设计的,只能被调用一次。在某些情况下它可能会起作用,但我建议创建一个 WaveOut 的新实例来播放下一个声音。