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

标签 .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();

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

最佳答案

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

关于.net - 尝试使用带有 ASIO 设备的 MultiplexingWaveProvider 设置缓冲区大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29288193/

相关文章:

c# - 如何使用 naudio 将音频录制到 byte[] 而不是文件中

c# - 音频可视化工具 C#

.net - .NET 3.5 中的 CultureInfo 类支持哪些文化?

c# - 从 WebBrowser 控件保存图像

c# - string[] 计数被传递给 ComboBox,但 string[] 值没有

c# - 将样本 float 数组转换为WAV文件格式

c# - 我正在使用nAudio库从MIC录音,如何增加MIC的增益?

c# - 如何在 VS2010 C# 控制台应用程序中将我的 App.config 编译成我的 exe?

c# - 在 SpecFlow 步骤文件中使用依赖注入(inject)

c# - 在 .Net 中使用 Spark 写入增量表