Partager via


Mesures audio

Chaque fois qu’une application ou un composant Windows souhaite lire ou enregistrer de l’audio, il/elle utilise l’une des différentes API audio disponibles.

Initialisation de flux audio

Toutes les API audio invoquent au final l’appel d’API audio principale (Core Audio) IAudioClient::Initialize. La fonction IAudioClient::Initialize crée la connexion entre l’application et le moteur audio Windows, ainsi qu’une connexion entre le moteur audio Windows et le pilote audio.

Si l’appel IAudioClient::Initialize échoue, l’application n’est pas, sauf certaines exceptions, en mesure d’utiliser l’audio. Certaines erreurs IAudioClient::Initialize sont bénignes et ignorées ; une liste de ces erreurs est fournie dans l’annexe.

Le résultat de l’appel est consigné dans un événement AudioClientInitialize dans le fournisseur Microsoft.Windows.Audio.Client. Le champ HRESULT est 0 si l’appel a réussi et un nombre négatif si l’appel a échoué.

L’audio suivant mesure le succès de la piste IAudioClient::Initialize :

Fiabilité du mode utilisateur audio

Les pilotes audio de streaming de noyau s’exécutent en mode noyau. Si un pilote audio rencontre une exception, cela génère un écran bleu de la mort (Blue Screen of Death, BSOD) ou un écran vert de la mort (Green Screen of Death, GSOD).

Il n’existe aucune mesure spécifique pour les problèmes de fiabilité du mode noyau audio, mais il existe des mesures pour les problèmes de fiabilité en mode noyau en général.

Le moteur audio en mode partagé Windows s’exécute en mode utilisateur. En particulier, le service audio Windows, AudioSrv.dll (AudioSrv), s’exécute dans un processus svchost.exe dédié. Il lance également un processus d’assistance Windows Audio Device Graph Isolation, audiodg.exe (AudioDg).

Les IHV audio peuvent inclure des plug-ins au moteur audio en mode utilisateur appelés objets de traitement audio (APO).

Si un APO rencontre une exception, il n’y a pas d’écran bleu de la mort, mais le moteur audio Windows génère un plantage. Il existe également un minuteur de surveillance qui vérifie que les appels des applications se terminent rapidement. Si un appel est bloqué, l’agent de surveillance le détecte et force un plantage du moteur audio Windows.

Dans tous les cas, tous les fichiers audio sur le système sont perdus jusqu’à ce que le moteur audio puisse être redémarré.

Si AudioDg génère un plantage et audioSrv est là pour le détecter, un événement AudioDgCrash est consigné à partir du fournisseur Microsoft.Windows.Audio.Service. Dans certaines versions antérieures de Windows 10, l’événement était AudioDg-Crash.

Si AudioSrv génère un plantage et AudioDg est là pour le détecter, un événement AudioSrvSvchostCrash est consigné à partir du fournisseur Microsoft.Windows.Audio.DeviceGraph. Dans certaines versions antérieures de Windows 10, l’événement était AudioSrv-Svchost-Crash.

Si le service audio se bloque, un événement Hang est consigné à partir du fournisseur Microsoft.Windows.Audio.Service. Dans certaines versions antérieures de Windows 10, pour certains types de blocages, un événement Hang est également enregistré à partir du fournisseur Microsoft.Windows.Audio.DeviceGraph .

Les mesures audio ci-après suivent la fiabilité du moteur audio Windows :

Désactivation APO

Cette mesure suit la désactivation automatique des objets de traitement audio :

Que faire si votre étiquette d’expédition est rejetée

Si votre étiquette d’expédition est rejetée, reportez-vous à Appel d’un pilote audio rejeté