Zarządzanie rolami urządzeń
Interfejs API MMDevice obsługuje role urządzeń. Wyliczenie ERole definiuje role urządzeń, które są obsługiwane przez API MMDevice.
Notatka
Mimo że interfejsu API MMDevice obsługuje role urządzeń, interfejs użytkownika w systemie Windows Vista nie implementuje obsługi tej funkcji.
Aplikacja może używać interfejsu API MMDevice do obsługi ról urządzeń za pomocą IMMDeviceEnumerator::GetDefaultAudioEndpoint i IMMNotificationClient::OnDefaultDeviceChanged metod. Jednak interfejs użytkownika w systemie Windows Vista nie obsługuje przypisywania poszczególnych ról do różnych urządzeń. W systemie Windows Vista interfejs użytkownika umożliwia użytkownikowi wybranie domyślnego urządzenia audio do renderowania i domyślnego urządzenia audio do przechwytywania. Gdy użytkownik wybierze domyślne urządzenie renderowania lub przechwytywania, system przypisuje do tego urządzenia wszystkie trzy role urządzeń (eConsole, eMultimedia i eCommunications). Aplikacje nie mogą zmieniać ról przypisanych do urządzeń punktów końcowych audio. System operacyjny umożliwia tylko użytkownikowi przypisywanie ról urządzeń.
Klient może zarejestrować się, aby otrzymywać powiadomienie z interfejsu API MMDevice za każdym razem, gdy następuje zmiana przypisania ról do urządzeń punktów końcowych audio. Gdy rola przechodzi z jednego urządzenia na inne, klient może zdecydować, czy kontynuować odtwarzanie (lub nagrywanie) strumieni za pośrednictwem tego samego urządzenia, czy też przełączyć strumienie na inne urządzenie. Domyślnie strumienie będą odtwarzane (lub rejestrowane) za pośrednictwem oryginalnego urządzenia. W systemie Windows Vista, aby przełączyć strumienie na inne urządzenie, klient musi usunąć strumienie na oryginalnym urządzeniu i utworzyć strumienie zastępcze na nowym urządzeniu. W systemie Windows 7 klient może nasłuchiwać nowych powiadomień, aby zaimplementować bezproblemowy przełącznik bez przerywania odtwarzania lub sesji przechwytywania. Aby uzyskać więcej informacji, zobacz Stream Routing.
Jeśli planujesz przetestować aplikację przy użyciu systemu Windows Vista, możesz skonfigurować środowisko testowe, aby sprawdzić, czy aplikacja zachowuje się zgodnie z oczekiwaniami, gdy użytkownik może przypisać poszczególne role urządzeń do różnych urządzeń. Aby uzyskać więcej informacji, wyślij wiadomość e-mail na adres uaa@microsoft.com.
Urządzenia komunikacyjne
Interfejs użytkownika systemu Windows 7 umożliwia dodawanie urządzeń komunikacyjnych. Panel sterowania dźwięku umożliwia użytkownikowi wybranie domyślnego urządzenia komunikacyjnego, osobno do odtwarzania i przechwytywania strumienia audio. Domyślnie, gdy nowe urządzenie jest połączone z komputerem, system operacyjny wykonuje automatyczne wykrywanie ról i określa, czy urządzenie jest odpowiednie dla roli eCommunication. Ukierunkowanie urządzeń komunikacyjnych umożliwia tworzenie aplikacji korzystających z Core Audio API w celu zaimplementowania rozwiązań komunikacyjnych między komputerem a telefonem. Na przykład aplikacja VoIP może przypisać swoje strumienie głosowe wejściowe i wyjściowe do domyślnych urządzeń końcowych przechwytywania i renderowania z rolą komunikacji elektronicznej. Podobnie jak w przypadku dowolnego innego strumienia aplikacja komunikacji musi uzyskać odwołanie do punktu końcowego urządzenia komunikacyjnego, wywołując IMMDeviceEnumerator::GetDefaultAudioEndpoint. W tym wywołaniu aplikacja musi określić eKomunikacja w parametrze Rola. Operacje strumienia WASAPI na strumieniu otwartym na urządzeniu komunikacyjnym są podobne do dowolnego innego strumienia audio. Aplikacja komunikacji może poprawić doświadczenia użytkownika poprzez implementację zachowań, takich jak ducking, za pomocą obsługi powiadomień z urządzenia końcowego. Aby uzyskać więcej informacji, odnieś się do Używanie urządzenia komunikacyjnego.
Automatyczne wykrywanie roli urządzenia
Rozważmy scenariusz, w którym komputer ma domyślne urządzenie renderowania, głośniki i domyślne urządzenie przechwytywania, mikrofon. Użytkownik łączy zestaw słuchawkowy USB z komputerem. Po zainstalowaniu odpowiednich sterowników system operacyjny próbuje wykryć rolę, która ma zostać przypisana dla nowego urządzenia audio.
W systemie Windows 7 funkcja wykrywania roli urządzenia została znacznie ulepszona w celu określenia odpowiednich ról odpowiednich dla urządzeń audio. Wszystkie urządzenia audio zawierają zestaw ustawień konfiguracji wypełnionych przez producenta OEM urządzenia, co pomaga systemowi zdecydować, jak korzystać z urządzenia. Te ustawienia obejmują informacje, takie jak lokalizacja fizyczna gniazda audio typu urządzenia, podtyp gniazda i możliwości wykrywania, aby system mógł określić, czy urządzenie jest podłączone. Po pobraniu tych wartości z urządzenia system operacyjny określa rolę, która ma zostać przypisana do urządzenia. W tym scenariuszu system odpytywał urządzenie nagłowne USB, automatycznie wykrywało role i zdecydowało, że urządzenie najlepiej nadaje się do komunikacji.
Aplikacja może również uzyskać informacje o jacku przy użyciu podstawowych interfejsów API audio. Aby uzyskać więcej informacji, zobacz IKsJackDescription i IKsJackDescription2.
Tematy pokrewne