Condividi tramite


Misure audio

Ogni volta che un componente dell'applicazione o di Windows desidera riprodurre o registrare audio, usa una delle varie API audio.

Inizializzazione del flusso audio

Tutte le API audio richiamano infine l'API audio principale chiamano IAudioClient::Initialize. La funzione IAudioClient::Initialize crea la connessione tra l'applicazione e il motore audio di Windows e una connessione tra il motore audio di Windows e il driver audio.

Se la chiamata IAudioClient::Initialize ha esito negativo, l'applicazione è, con alcune eccezioni, non è possibile usare l'audio. Alcuni errori IAudioClient::Initialize sono benigni e vengono ignorati. Un elenco di questi errori viene fornito nell'appendice.

Il risultato della chiamata viene registrato in un evento AudioClientInitialize nel provider Microsoft.Windows.Audio.Client . Il campo HRESULT è 0 se la chiamata ha avuto esito positivo e un numero negativo se la chiamata non è riuscita.

Le misure audio seguenti tengono traccia di IAudioClient::Initialize success:

Affidabilità in modalità utente audio

I driver audio in streaming del kernel vengono eseguiti in modalità kernel. Se un driver audio raggiunge un'eccezione, si verifica una schermata blu di morte (BSOD) o schermo verde della morte (GSOD).

Non esistono misure specifiche per i problemi di affidabilità in modalità kernel audio, ma esistono misure per problemi di affidabilità in modalità kernel in generale.

Il motore audio in modalità condivisa di Windows viene eseguito in modalità utente. In particolare, il servizio audio di Windows, AudioSrv.dll (AudioSrv), viene eseguito in un processo di svchost.exe dedicato. Avvia anche un processo di isolamento di Windows Audio Device Graph helper, audiodg.exe (AudioDg).

IHV audio possono includere plug-in per il motore audio in modalità utente denominato oggetti di elaborazione audio (API).

Se un APO raggiunge un'eccezione, non c'è alcuna schermata blu di morte, ma il motore audio di Windows si arresta in modo anomalo. C'è anche un timer watchdog che verifica che le chiamate dalle applicazioni vengano completate rapidamente. Se una chiamata si blocca, il watchdog nota e forza un arresto anomalo del motore audio di Windows.

In entrambi i casi, tutto l'audio nel sistema viene perso fino al riavvio del motore audio.

Se AudioDg si arresta in modo anomalo e AudioSrv si trova intorno a notare, viene registrato un evento AudioDgCrash dal provider Microsoft.Windows.Audio.Service . In alcune versioni precedenti di Windows 10, l'evento era AudioDg-Crash.

Se AudioSrv si arresta in modo anomalo e AudioDg si trova intorno a notare, un evento AudioSrvSvchostCrash viene registrato dal provider Microsoft.Windows.Audio.DeviceGraph . In alcune versioni precedenti di Windows 10, l'evento era AudioSrv-Svchost-Crash.

Se il servizio audio si blocca, viene registrato un evento Hang dal provider Microsoft.Windows.Audio.Service . In alcune versioni precedenti di Windows 10, per determinati tipi di blocchi, viene registrato anche un evento Hang dal provider Microsoft.Windows.Audio.DeviceGraph .

Le misure audio seguenti tengono traccia dell'affidabilità del motore audio di Windows:

Disabilitazione dell'oggetto elaborazione audio

Questa misura tiene traccia della disabilitazione automatica degli oggetti di elaborazione audio:

Cosa fare se l'etichetta di spedizione viene rifiutata

Se l'etichetta di spedizione viene rifiutata, vedi Appello a un driver audio rifiutato