W Androidzie 14 wprowadzono aktualizacje interfejsów API, które wprowadziły zmiany w zachowaniu routingu dźwięku na urządzeniach z Bluetooth LE Audio (LEA), w tym w urządzeniach do wspomagania słuchu. Wpłynęły one na sposób, w jaki aplikacje VoIP zarządzają wyborem wyjścia audio. Ten dokument zawiera istotne informacje, które pomogą deweloperom dostosować aplikacje VoIP do tych zmian i zapewnić użytkownikom płynne działanie.
Zmiana zachowania w Androidzie 14
- Przekierowanie na urządzenie LEA: urządzenia LEA są teraz domyślnie włączone na telefonach Pixel i w AOSP. Aby jednak aktywnie rozpoznawać i wybierać urządzenia z usługą LEA jako wyjście audio, aplikacje muszą używać nowych interfejsów API wprowadzonych na poziomie API 31.
- Przesyłanie dźwięku do aparatu słuchowego: wcześniej dźwięk zawsze był przesyłany do aparatu słuchowego, nawet jeśli użytkownik wybrał słuchawkę. W Androidzie 14 aparaty wspomagające słuch są wyświetlane jako jedna z dostępnych opcji wyjścia audio, wymagająca wyraźnego wybrania przez użytkownika.
uzasadnienie zmiany;
- Przed Androidem 12 nie było interfejsu API do obsługi aparatów słuchowych na potrzeby połączeń, co powodowało, że po połączeniu dźwięk zawsze był odtwarzany przez aparat słuchowy.
- Utrudniało to użytkownikom przełączanie się z aparatów słuchowych na słuchawki bezprzewodowe bez odłączania aparatów.
- Ten sam problem dotyczył zestawów słuchawkowych Bluetooth LE Audio.
Aby sprostać tym wyzwaniom, w Androidzie 14 wprowadziliśmy zmiany zapewniające aplikacjom VoIP większą kontrolę nad kierowaniem dźwięku i spójne działanie akcesoriów Bluetooth.
Najważniejsze zmiany w Androidzie 14
- Ogólne interfejsy API do wyboru trasy: Android 12 wprowadził
AudioManager.setCommunicationDevice
, aby umożliwić aplikacjom określanie tras audio, w tym urządzeń wspomagających słuch i urządzeń do komunikacji wspomagającej. Jednak w Androidzie 12 i 13 aparaty słuchowe nie były widoczne jako urządzenia, co ograniczało przydatność tego interfejsu API. - Widoczność aparatów słuchowych: w Androidzie 14 aparaty słuchowe są widoczne jako urządzenia, co umożliwia aplikacjom wyświetlanie elementów interfejsu, dzięki którym użytkownicy mogą wybrać preferowane wyjście audio.
- Wycofanie interfejsów API: kilka interfejsów API związanych z kierowaniem dźwięku zostało wycofanych w Androidzie 14. Aby skutecznie zarządzać wyborem wyjścia audio, deweloperzy muszą przejść na nowe interfejsy API wprowadzone w interfejsie API na poziomie 31.
Wymagane działania dewelopera
- Zalecane: zmigruj do biblioteki Jetpack firmy Telecom. Jeśli to możliwe, przenieś aplikację VoIP do biblioteki Jetpacka, aby usprawnić zarządzanie przekierowywaniem dźwięku.
- Jeśli przeniesienie nie jest możliwe, użyj interfejsu
setCommunicationDevice()
lub najnowszych interfejsów API (wymienionych poniżej).