尝试使用带有 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 来显示控制面板,它几乎总是会为用户提供缓冲区大小的选择。
我有类似下面的代码
_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 来显示控制面板,它几乎总是会为用户提供缓冲区大小的选择。