KsStudio – Verwendungsbeispiele
Dieses Thema enthält drei Verwendungsbeispiele für die Problembehandlung von WDM-Audioproblemen mithilfe des KSStudio-Hilfsprogramms. Weitere Informationen finden Sie unter KSStudio-Hilfsprogramm.
Beispiel 1: Audio funktioniert offenbar nicht
Szenario:
Der Entwickler installiert den Audiogerätetreiber, aber die Player-App (z. B. Windows Media Player) zeigt an, dass kein Audiogerät verfügbar ist.
Problembehandlung:
Wird das Gerät im Geräte-Manager angezeigt? Wenn ja, wechseln Sie zu Schritt (2), andernfalls gibt es ein Problem mit der INF-Datei, die zum Installieren des Geräts verwendet wird.
Hat das Gerät ein gelbes Ausrufezeichen? Wenn ja, wurde das Gerät nicht erfolgreich installiert (zeigen Sie die Eigenschaften des Geräts für weitere Informationen an), andernfalls gehen Sie zu Schritt (3).
Starten Sie KSStudio. Listen Sie die Filter der Klassen KSCATEGORY_AUDIO und KSCATEGORY_AUDIO_DEVICE auf. Werden die Filter, die dem Audiogerät entsprechen, unter KSCATEGORY_AUDIO angezeigt? Wenn ja, wechseln Sie zu (4), andernfalls wird die Filterfactory nicht ordnungsgemäß registriert. Die häufigste Ursache hierfür ist ein Konflikt zwischen der XXX-GUID in der INF und der XXX-GUID im Quellcode für den Filter.
KSCATEGORY_AUDIO_DEVICE-Filter sind virtuelle Filter, die Teile des vom System erstellten Audiodiagramms darstellen. Weitere Informationen finden Sie unter Kernelmodus-WDM-Audiokomponenten und Virtuelle Audiogeräte. Im Allgemeinen greifen die übergeordneten APIs auf diese virtuellen Filter zu.
Gibt es eine virtuelle Filterfactory, die der oben genannten _AUDIO-Filterfactory entspricht (falls dies der Fall ist, ist dies offensichtlich)? Wenn ja, fahren Sie mit (5) fort, andernfalls hat der Treiber ein Problem, das dazu geführt hat, dass Sysaudio ihn abgelehnt hat. Instanziieren Sie das entsprechende _AUDIO-Gerät. Dadurch erstellt KSStudio ein Profil für den Filter. Suchen Sie in den Protokollierungsfenstern nach Fehlern (roter Text). Überprüfen Sie den Filter in der Ansicht „Instanziierte Objekte“. Vergleichen Sie mit einem Filter (vielleicht einem der DDK-Beispieltreiber oder einem von einem anderen Hersteller), der funktioniert.
- Führen Sie mmsys.cpl aus und prüfen Sie, ob Geräte angezeigt werden, die dem in der Entwicklung befindlichen Filter entsprechen. Dies ist die Ansicht des Geräts über die MMSystem-APIs. Wenn hier kein Gerät angezeigt wird, gibt es etwas Besonderes an dem Gerät, das dazu geführt hat, dass MMSystem es abgelehnt hat. Gehen Sie zurück zu KSStudio und instanziieren Sie die virtuelle KSCATEGORY_AUDIO_DEVICE-Filterfactory, die Ihrem Gerät entspricht. Suchen Sie in den Protokollierungsfenstern nach Fehlern (roter Text). Überprüfen Sie den Filter in der Ansicht „Instanziierte Objekte“. Vergleichen Sie mit einem Filter (vielleicht einem der WDK-Beispielaudiotreiber oder einem von einem anderen Hersteller), der funktioniert.
Beispiel 2: Audiomischer-Lines fehlen
Szenario:
Audiogerät ist installiert. Mindestens eine erwartete Mischer-Line fehlt bei SndVol32 (oder einer anderen Mischeranwendung)
Problembehandlung:
Sieht die Topologie des Filters in KSStudio korrekt aus? Starten Sie KSStudio, und zählen Sie KSCATEGORY_AUDIO auf. Instanziieren Sie den Topologiefilter, und wählen Sie die Option „Knoten anzeigen“ in der Objekttopologieansicht aus. Sieht die Filtertopologie richtig aus? Wenn ja, wiederholen Sie diesen Vorgang für den entsprechenden KSCATEGORY_AUDIO_DEVICE-Filter. Wenn diese Topologie sinnvoll erscheint, fahren Sie mit (2) fort, andernfalls liegt ein Problem in Ihrem Topologiefilter vor, das den Ausdruck der Topologie für Komponenten weiter oben im Audiostapel verhindert. Weitere Informationen zur Umsetzung der Filtertopologie in Mischer-Lines finden Sie in der DDK-Dokumentation.
Werden die Mischer-Lines in MixApp wie erwartet angezeigt? MixApp ist eine sehr einfache, aber nützliche Windows SDK-Beispiel-App. Wenn die Mischer-Lines in MixApp korrekt aussehen, in der zuvor erwähnten problematischen Mischeranwendung jedoch nicht, handelt es sich wahrscheinlich um einen App-Fehler.
Beispiel 3: Audiomischersteuerelemente fehlen oder sind nicht funktionsfähig
Szenario:
Mischersteuerelemente (MMSystem-Mischer-API) werden entweder nicht angezeigt oder funktionieren in SndVol32 oder einer anderen Mischeranwendung nicht.
Problembehandlung:
Führen Sie die Problembehandlung in Beispiel 2 oben durch.
Funktioniert die Hardwareereignisunterstützung in KSStudio? Suchen Sie den Knoten oder Pin, der das KSEVENT_CONTROL_CHANGE-Ereignis unterstützt, und aktivieren Sie ihn wie in KSStudio – KSProperties und Ereignisse beschrieben. Schalten Sie die Hardwaresteuerelemente um. Dies sollte dazu führen, dass das Glühbirnensymbol des Ereignisses blinkt.
Weitere Informationen
KSStudio – Filter und Filter Factories