【问题标题】:WASAPI Exclusive/Event mode leads to buzzing noiseWASAPI 独占/事件模式导致嗡嗡声
【发布时间】:2014-08-04 15:38:27
【问题描述】:

当我在其中一个扬声器上打开独占模式音频流时,会发出奇怪的嗡嗡声。这种嗡嗡声在我的其他设备上的相同条件下不会发生,通常在独占推送模式或共享模式下也不会发生。

问题似乎是 WASAPI 将周期性设置为比我要求的高 5 毫秒,没有特别的原因。我尝试了 10 毫秒来查看 timeGetTime() 以显示 15 毫秒的周期,所以我尝试请求 15 毫秒。然后周期变为 20 毫秒。我的其他设备不会发生这种情况,这些设备在与问题设备相同的条件下进行流式传输,并且 timeGetTime() 显示的周期性等于请求的周期性。这是某个驱动程序的故障,还是我在代码中做出了不应该的假设?

更新:当我在开始流式传输之前发送一个静音数据包时,嗡嗡声就会消失。我不确定这会如何影响周期性,所以我仍在寻找解释。

【问题讨论】:

    标签: c++ audio wasapi


    【解决方案1】:

    感谢来自 MSDN 的 Maurits 帮助我找出答案。

    WASAPI 文档指示应在开始之前向设备发送一段音频以避免启动故障。这里听到的嗡嗡声就是其中之一。只有我的放大器,它是一个连接 USB 的设备,有这个问题,而其他非 USB 设备没有(其他两个设备包括内置的笔记本电脑扬声器和连接 HDMI 的电视显示器)是因为它使用与其他两种不同类型的流式传输(“标准流式传输”而不是“标准循环流式传输”)。

    【讨论】:

      猜你喜欢
      • 2011-03-18
      • 1970-01-01
      • 2016-05-28
      • 1970-01-01
      • 2011-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-08
      相关资源
      最近更新 更多