尝试使用带有 ASIO 设备的 MultiplexingWaveProvider 设置缓冲区大小
Posted
技术标签:
【中文标题】尝试使用带有 ASIO 设备的 MultiplexingWaveProvider 设置缓冲区大小【英文标题】:Trying to setup the buffer size using the MultiplexingWaveProvider with an ASIO Device 【发布时间】:2015-03-26 20:27:57 【问题描述】:我有类似下面的代码
_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】:恐怕 ASIO API 没有提供设置缓冲区大小的标准化方法。您需要做的是调用 API 以显示控制面板,这几乎总是会为用户提供缓冲区大小的选择。
【讨论】:
马克,有什么方法可以直接与您联系并获得一些咨询帮助吗?我和但丁一起工作,我们遇到了一个真正让我们感到困惑的问题(这个)。我们希望增加缓冲区会有所帮助,但我有一种感觉,我们只是做错了什么,导致这些弹出和点击。我的电子邮件地址是 byron@acklenavenue.com。以上是关于尝试使用带有 ASIO 设备的 MultiplexingWaveProvider 设置缓冲区大小的主要内容,如果未能解决你的问题,请参考以下文章