2014-06-14 117 views
2

當我在其中一個揚聲器上打開獨佔模式音頻流時,會出現奇怪的嗡嗡聲。這種嗡嗡聲不會在我的其他設備的相同條件下發生,也不會在獨佔推送模式或共享模式下發生。WASAPI獨佔/事件模式導致嗡嗡聲

問題似乎是,WASAPI將週期性設置爲比我要求的高5毫秒,沒有特別理由。我已經嘗試了10 ms來查看timeGetTime()以顯示15 ms的時間段,所以我嘗試請求15 ms。這段時間變成了20毫秒。我的其他設備在與問題設備相同的條件下進行流式處理時不會發生這種情況,timeGetTime()會顯示與請求相同的週期性。這是一個驅動程序的故障,或者我可能在我的代碼中假設我不應該這樣做?

更新:當我在開始流之前發送一個沉默的數據包時,嗡嗡噪聲消失。我不確定這是如何影響週期性的,所以我仍在尋找解釋。

回答

1

非常感謝來自MSDN的Maurits幫助我找出答案。

WASAPI文檔指示應在開始避免啓動故障之前將一段音頻發送到設備。這裏所聽到的嗡嗡聲應該是其中之一。之所以只有我的功放是USB連接設備,有其他非USB設備(其他兩種設備包括內置筆記本揚聲器和HDMI連接電視監視器)出現此問題,是因爲它使用了與其他兩種不同的流式傳輸(「標準流式傳輸」而不是「標準環式流式傳輸」)。