Режим WASAPI Exclusive / Event приводит к жужжанию

Когда я открываю аудиопоток в эксклюзивном режиме на одном из моих громкоговорителей, появляется странный жужжащий звук. Этот гудящий шум не возникает при тех же условиях на других моих устройствах, и при этом он не происходит в эксклюзивном режиме push или общем режиме в целом.

Кажется, проблема в том, что WASAPI устанавливает периодичность на 5 миллисекунд выше, чем я запрашивал, без особой причины. Я попытался 10 мс, чтобы увидеть timeGetTime (), чтобы показать период 15 мс, поэтому я попытался запросить 15 мс. Период тогда стал 20 мс. Этого не происходит с другими моими устройствами, которые передаются в тех же условиях, что и проблемное устройство, и timeGetTime () показывает периодичность, равную запрошенной. Это где-то сбой в драйвере, или я могу предположить, что в моем коде не должно быть?

ОБНОВЛЕНИЕ: жужжание исчезает, когда я отправляю пакет тишины перед запуском потока. Я не уверен, как это влияет на периодичность, поэтому я все еще ищу объяснение.

2

Решение

Спасибо Маурицу из MSDN за помощь в поиске ответа.

В документации WASAPI указывается, что перед началом работы на устройство следует отправлять период аудио, чтобы избежать сбоев при запуске. Слышимый здесь жужжащий шум считается одним из таких. Причина, по которой эта проблема возникла только у моего усилителя, являющегося устройством, подключенным через USB, в то время как другие устройства, отличные от USB, отсутствовали (два других устройства включают встроенные динамики ноутбука и монитор телевизора, подключенный через HDMI), потому что он использует другой вид потоковой передачи, чем два других («стандартная потоковая передача» вместо «стандартная потоковая передача по петле»).

1

Другие решения


По вопросам рекламы [email protected]