2014-06-14 73 views
2

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

问题似乎是,WASAPI将周期性设置为比我要求的高5毫秒,没有特别理由。我已经尝试了10 ms来查看timeGetTime()以显示15 ms的时间段,所以我尝试请求15 ms。这段时间变成了20毫秒。我的其他设备在与问题设备相同的条件下进行流式处理时不会发生这种情况,timeGetTime()会显示与请求相同的周期性。这是一个驱动程序的故障,或者我可能在我的代码中假设我不应该这样做?

更新:当我在开始流之前发送一个沉默的数据包时,嗡嗡噪声消失。我不确定这是如何影响周期性的,所以我仍在寻找解释。

回答

1

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

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