尝试使用MultiplexingWaveProvider和ASIO设备设置缓冲区大小

时间:2015-03-26 20:27:57

标签: .net naudio

我有类似下面的代码

   _deviceOutput = new AsioOut("Driver name");
    _padFile = new WaveFileReader(padStream); //using a memory stream
    _headphoneFile = new WaveFileReader(headphoneStream); //using a memory stream
    var multiplexer = new MultiplexingWaveProvider(new IWaveProvider[] {_headphoneFile, _padFile},
                                                           _deviceOutput.DriverOutputChannelCount);
    _deviceOutput.Init(multiplexer);
    _deviceOutput.Play();

我需要增加缓冲区大小以减少输出音频中的弹出和点击。如何通过代码设置缓冲区大小?

1 个答案:

答案 0 :(得分:1)

我担心ASIO API没有提供设置缓冲区大小的标准方法。您应该做的是调用API来显示控制面板,这几乎总是为用户提供缓冲区大小的选择。