尝试使用带有 ASIO 设备的 MultiplexingWaveProvider 设置缓冲区大小

Trying to setup the buffer size using the MultiplexingWaveProvider with an ASIO Device

我有类似下面的代码

   _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();

我需要增加缓冲区大小以减少输出音频中的爆裂声和咔哒声。如何通过代码设置缓冲区大小?

恐怕 ASIO API 没有提供设置缓冲区大小的标准化方法。您需要做的是调用 API 来显示控制面板,它几乎总是会为用户提供缓冲区大小的选择。