Поделиться через


Звуковые меры

Всякий раз, когда приложение или компонент Windows хочет воспроизводить или записывать звук, он использует один из различных API аудио.

Инициализация аудиопотока

Все API аудио в конечном итоге вызывают основной вызов АУДИО API IAudioClient::Initialize. Функция IAudioClient::Initialize создает соединение между приложением и звуковым модулем Windows, а также подключением между звуковой подсистемой Windows и звуковым драйвером.

Если вызов IAudioClient::Initialize завершается ошибкой, приложение не может использовать звук. Некоторые ошибки IAudioClient::Initialize являются доброкачественными и игнорируются; список этих ошибок представлен в приложении.

Результат вызова регистрируется в событии AudioClientInitialize в поставщике Microsoft.Windows.Audio.Client . Поле HRESULT равно 0, если вызов выполнен успешно, и отрицательное число, если вызов завершился ошибкой.

Следующие звуковые меры отслеживают успешность IAudioClient::Initialize :

Надежность пользовательского звука

Драйверы потоковой передачи ядра выполняются в режиме ядра. Если звуковой драйвер попадает за исключение, он приводит к синему экрану смерти (BSOD) или зеленому экрану смерти (GSOD).

Нет никаких мер специально для проблем надежности в режиме звукового ядра, но в целом существуют меры по обеспечению надежности в режиме ядра.

Подсистема аудио в режиме общего режима Windows работает в пользовательском режиме. В частности, аудиослужба Windows AudioSrv.dll (AudioSrv) выполняется в выделенном svchost.exe процессе. Он также запускает вспомогательный процесс изоляции Графа аудиоустройств Windows, audiodg.exe (AudioDg).

Звуковые IHV могут включать подключаемые модули в звуковой подсистеме пользовательского режима, называемой объектами обработки звука (API).

Если APO попадает в исключение, нет синего экрана смерти, но звуковой механизм Windows завершается сбоем. Существует также таймер наблюдателя, который проверяет, что вызовы из приложений выполняются быстро. Если звонок застрял, наблюдатель замечает и заставляет завершить сбой звукового двигателя Windows.

В любом случае все звуки в системе будут потеряны, пока звуковой механизм не будет перезапущен.

Если AudioDg завершается сбоем, и AudioSrv находится вокруг, событие AudioDgCrash регистрируется из поставщика Microsoft.Windows.Audio.Service . В некоторых старых версиях Windows 10 событие было AudioDg-Crash.

Если AudioSrv завершается сбоем, и AudioDg находится вокруг, событие AudioSrvSvchostCrash регистрируется из поставщика Microsoft.Windows.Audio.DeviceGraph . В некоторых старых версиях Windows 10 событие было AudioSrv-Svchost-Crash.

Если звуковая служба зависает, событие Hang регистрируется у поставщика Microsoft.Windows.Audio.Service. В некоторых старых версиях Windows 10 для определенных типов зависания событие Зависания также будет зарегистрировано из поставщика Microsoft.Windows.Audio.DeviceGraph .

Следующие звуковые меры отслеживают надежность звукового модуля Windows:

Отключение объекта обработки звука

Эта мера отслеживает автоматическое отключение объектов обработки звука:

Что делать, если этикетка доставки отклонена

Если ваша метка доставки отклонена, см . статью "Апелляция отклоненного звукового драйвера"