代码之家  ›  专栏  ›  技术社区  ›  Bohoo

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

  •  1
  • Bohoo  · 技术社区  · 10 年前

    我曾经在一个教程中读到(不幸的是,我找不到哪里),如果我想播放几个音频文件,并使用 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 回复  |  直到 10 年前
        1
  •  3
  •   Mark Heath    10 年前

    WaveOut 最初设计用于 Init 只被称为一次。在某些情况下,它可能会起作用,但我建议创建一个新的 波形输出 播放下一个声音。