Wie erkennt man den Event-Kopfhöreranschluss, der auf Realtek ALC888 eingesetzt / entfernt wurde?
Gibt es ein SDK oder eine Lib?
Globale Frage: Wie erkennt man dasselbe Ereignis unter Windows XP? Globale Antwort: keine universelle Lösung. Aber, Realtek Audio wissen. Wie?
Unter Windows XP gibt es eine Legacy-Funktion
%Vor%sollte 0 zurückgeben, wenn keine Kopfhörerbuchse angeschlossen ist. Das genaue Verhalten hängt jedoch vom tatsächlichen Hardware-Treiber ab. Siehe auch: Ссылка
Es gibt einige Soundkarten, bei denen dies nicht funktioniert, aber wenn der Treiber mit einem Dienstprogramm geliefert wird, das startet, wenn etwas in den Kopfhöreranschluss eingesteckt ist (dh einige Karten haben eine gemeinsame Buchse für Kopfhörer / Mikrofon und wenn Sie ein Gerät, fragt Sie, welche Art von Gerät Sie gerade eingesteckt haben) - als könnten Sie Ihre eigene "Erkennungsanwendung" schreiben, was irgendwie berichtet (d. h. Sockets, Pipes, Shared Memory) wenn etwas an deine Hauptanwendung angeschlossen wurde. Normalerweise gibt es eine exe-Datei im Installationsverzeichnis des Treibers - Sie können das einfach durch Ihre 'Erkennungsanwendung' ersetzen, die startet, wenn etwas automatisch auf diese Weise angeschlossen wurde.
Ich befürchte, dass es neben diesen beiden "Lösungen" (oder besserem Workaround für die zweite) unter Windows XP keine Möglichkeit gibt zu erkennen, ob ein Gerät an die Kopfhörerbuchse angeschlossen wurde. Unter Windows Vista und neuer gibt es jedoch eine neue Schnittstelle für diese Ereignisse namens IKsJackDescription .
Tags und Links c++ audio windows-xp headphones