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