2012-11-07 8 views
9

Jak wykrywać gniazdo słuchawek zdarzeń wstawione/usunięte w urządzeniu Realtek ALC888?Gniazdo słuchawek zdarzeń (Windows XP) z Realtek ALC888

Czy istnieje pakiet SDK lub biblioteka?

Globalne pytanie: jak wykryć to samo zdarzenie w systemie Windows XP? Globalna odpowiedź: nie istnieje uniwersalne rozwiązanie. Ale dźwięk Realtek wie. W jaki sposób?

Odpowiedz

3

W systemie Windows XP istnieje funkcja spuścizna

waveInGetNumDevs(void) 

że powinien powrócić 0, chyba że gniazdo słuchawkowe jest podłączony. Zresztą dokładne zachowanie zależy od rzeczywistego sterownika sprzętowego. Zobacz także: http://msdn.microsoft.com/en-us/library/ms713732%28VS.85%29.aspx

Istnieje kilka kart dźwiękowych, w których to nie działa, ale jeśli sterownik ma narzędzie, które uruchamia się, gdy coś jest podłączone do gniazda słuchawkowego (np. Niektóre karty mają wspólne gniazdo dla słuchawek/mikrofonu a jeśli włożysz urządzenie, zapyta cię, jakiego rodzaju urządzenia właśnie podłączyłeś) - niż możesz napisać własną "aplikację wykrywającą", , która jakoś raportuje (np. gniazda, rury, pamięć współdzielona), jeśli coś zostało podłączone do twoja główna aplikacja. Zazwyczaj jest to plik exe w katalogu instalacyjnym sterownika - można to po prostu zastąpić "aplikacją do wykrywania", która zaczyna się, jeśli coś zostało automatycznie podłączone w ten sposób.

Obawiam się, że oprócz tych dwóch "rozwiązań" (lub lepszego sposobu obejścia tego drugiego), system Windows XP nie może wykryć, czy urządzenie było podłączone do gniazda słuchawkowego. W systemach Windows Vista i nowszych dostępny jest nowy interfejs dla tych zdarzeń o nazwie IKsJackDescription.

1

Również WM_DEVICECHANG może zostać uruchomiony.

Powiązane problemy