KsStudio : Exemples d’utilisation

Cette rubrique fournit trois exemples d’utilisation pour résoudre les problèmes audio WDM en utilisant l’utilitaire KSStudio. Pour plus d’informations, veuillez consulter la section Utilitaire KSStudio.

Exemple 1 : L’audio ne semble pas fonctionner

Scénario :

Le développeur installe le pilote de périphérique audio, mais l’application de lecteur (par exemple Windows Media Player) indique qu’aucun périphérique audio n’est disponible.

Résolution des problèmes :

  1. Le périphérique apparaît-il dans le gestionnaire de périphériques ? Si oui, passez à l’étape (2), sinon il y a un problème avec le fichier INF utilisé pour installer le périphérique.

  2. Le périphérique a-t-il un point d’exclamation jaune ? Si oui, le périphérique n’a pas été installé avec succès (consultez les propriétés du périphérique pour plus d’informations), sinon passez à l’étape (3).

  3. Lancez KSStudio. Énumérez les filtres de la classe KSCATEGORY_AUDIO et KSCATEGORY_AUDIO_DEVICE. Le ou les filtres correspondant au périphérique audio apparaissent-ils sous KSCATEGORY_AUDIO ? Si oui, passez à l’étape (4), sinon la fabrique de filtres n’est pas correctement enregistrée. La cause la plus courante est une incompatibilité entre le guid XXX dans le fichier INF et le guid XXX dans le code source du filtre.

  4. Les filtres KSCATEGORY_AUDIO_DEVICE sont des filtres virtuels qui représentent des parties du graphe audio intégré au système. Pour plus d’informations, consultez Composants audio WDM en mode noyau et Périphériques audio virtuels. En général, ces filtres virtuels sont ceux auxquels les API de niveau supérieur accèdent.

Une fabrique de filtres virtuels correspondant à la fabrique de filtres _AUDIO mentionnée existe-t-elle (cela sera évident si c’est le cas) ? Si oui, passez à l’étape (5), sinon le pilote a un problème qui a causé son rejet par sysaudio. Instanciez le périphérique _AUDIO correspondant. Cela amènera KSStudio à profiler le filtre. Recherchez les erreurs (texte en rouge) dans les fenêtres de journalisation. Examinez le filtre dans la vue « Objets instanciés ». Comparez avec un filtre (peut-être l’un des pilotes d’exemple du DDK ou celui d’un autre fabricant) qui fonctionne.

  1. Exécutez mmsys.cpl et voyez si des périphériques correspondant au filtre en cours de développement sont affichés. Ceci est la vue du périphérique via les API MMSystem. Si aucun périphérique n’est affiché ici, il y a quelque chose de particulier avec le périphérique qui a causé son rejet par MMSystem. Retournez à KSStudio et instanciez la fabrique de filtres virtuels KSCATEGORY_AUDIO_DEVICE correspondant à votre périphérique. Recherchez les erreurs (texte en rouge) dans les fenêtres de journalisation. Examinez le filtre dans la vue « Objets instanciés ». Comparez avec un filtre (peut-être l’un des pilotes audio d’exemple du WDK ou celui d’un autre fabricant) qui fonctionne.

Exemple 2 : Les lignes du mixeur audio sont manquantes

Scénario :

Le périphérique audio est installé. Une ou plusieurs lignes de mixeur attendues sont manquantes dans SndVol32 (ou une autre application de mixeur).

Résolution des problèmes :

  1. La topologie du filtre semble-t-elle correcte dans KSStudio ? Lancez KSStudio et énumérez KSCATEGORY_AUDIO. Instanciez votre filtre de topologie et choisissez l’option Afficher les nœuds dans la Vue de la topologie des objets. La topologie du filtre semble-t-elle correcte ? Si oui, répétez pour le filtre correspondant KSCATEGORY_AUDIO_DEVICE. Si cette topologie semble raisonnable, passez à l’étape (2), sinon il y a un problème dans votre filtre de topologie qui empêche l’expression de la topologie aux composants plus élevés dans la pile audio. Pour plus d’informations sur la façon dont la topologie du filtre est traduite en lignes de mixeur, consultez la documentation du DDK.

  2. Les lignes du mixeur apparaissent-elles comme prévu dans MixApp ? MixApp est une application d’exemple très simple mais utile du SDK Windows. Si les lignes du mixeur semblent correctes dans MixApp, mais pas dans l’application de mixeur problématique mentionnée précédemment, il est probable qu’il s’agisse d’un bug de l’application.

Exemple 3 : Les contrôles du mixeur audio sont manquants ou non fonctionnels

Scénario :

Les contrôles du mixeur (API du mixeur MMSystem) ne s’affichent pas ou ne semblent pas fonctionner dans SndVol32 ou une autre application de mixeur.

Résolution des problèmes :

  1. Suivez le dépannage de l’exemple 2 ci-dessus.

  2. Le support des événements matériels semble-t-il fonctionner dans KSStudio ? Trouvez le nœud ou la broche qui supporte l’événement KSEVENT_CONTROL_CHANGE et activez-le comme décrit dans KSStudio : KSPropriétés et événements. Basculez les contrôles matériels. Cela devrait faire clignoter l’icône de l’ampoule d’événement.

Voir aussi

Utilitaire KSStudio

KSStudio : Filtres et usines de filtres

KSStudio : Broches et nœuds

KSStudio : KSProperties et événements

KSStudio : KS Monitor