Technologia Bluetooth Low Energy Audio (LEA) zapewnia użytkownikom dźwięk o wysokiej jakości bez poświęcania czasu pracy na baterii i umożliwia im płynne przełączanie się między różnymi zastosowaniami. Android 13 (poziom API 33) zawiera wbudowaną obsługę LEA.
Dopóki udział w rynku urządzeń źródłowych LEA nie wzrośnie, większość słuchawek LEA będzie działać w trybie podwójnym. Użytkownicy powinni mieć możliwość sparowania i skonfigurowania obu transportów na słuchawkach w trybie podwójnym.
Przykłady zastosowań
Możesz je zintegrować w tych przypadkach użycia:
Udostępnianie dźwięku: użytkownicy mogą jednocześnie udostępniać wiele strumieni audio na jednym lub większej liczbie urządzeń do odbioru dźwięku. Dźwięk jest synchronizowany między urządzeniem źródłowym a połączonymi urządzeniami.
Przesyłanie dźwięku: użytkownicy mogą przesyłać dźwięk do znajomych i rodziny, a także łączyć się z publicznymi transmisjami w celu uzyskania informacji, rozrywki lub dostępności.
Obsługa kodeka audio LC3: jest to domyślny kodek audio, który zastępuje kodek SBC używany w przypadku A2DP (multimedia) i mSBC w HFP (głos). LC3 jest wydajniejszy, można go konfigurować na różne sposoby i ma lepszą jakość.
Ulepszenia próbkowania dźwięku: zestawy słuchawkowe mogą utrzymywać wysoką jakość dźwięku podczas korzystania z mikrofonów. Klasyczny Bluetooth obniża jakość dźwięku podczas korzystania z mikrofonów Bluetooth. W przypadku BLE Audio próbkowanie wejściowe i wyjściowe może sięgać 32 kHz.
Mikrofon stereo: urządzenia do noszenia mogą nagrywać dźwięk za pomocą mikrofonów stereo, aby poprawić dźwięk przestrzenny.
Obsługa profilu Hearing Aid Profile (HAP): HAP zapewnia użytkownikom większą dostępność i użyteczność niż poprzednie protokoły ASHA. Użytkownicy mogą używać aparatów słuchowych do połączeń telefonicznych i aplikacji VoIP.
Obsługa protokołu Enhanced Attribute Protocol (EATT): EATT umożliwia deweloperom wysyłanie wielu poleceń jednocześnie do sparowanych urządzeń do noszenia.
Kluczowe scenariusze
Wyróżniamy 4 główne kategorie zastosowań:
Konwersacyjne: aplikacje do wybierania numerów i VoIP, które wymagają przesyłania danych z minimalnym opóźnieniem, zapewniają dźwięk wysokiej jakości i mniejsze zużycie baterii.
Gry: jednoczesne korzystanie z mikrofonu i odtwarzanie dźwięku wysokiej jakości umożliwia strumieniowe przesyłanie dźwięku wysokiej jakości do urządzeń dousznych. Aplikacja do gier może uzyskać dostęp do wejścia audio BLE, gdy gra skonfiguruje mikrofon Bluetooth jako gotowy do użycia. Następnie, gdy gracz rozpocznie rozmowę na żywo z graczem z grupy porównawczej, aplikacja gry może bez opóźnienia użyć danych z mikrofonu.
Multimedia: aplikacje multimedialne mogą ustawiać preferowane urządzenie menedżera dźwięku. Użytkownik może zmienić to ustawienie, wybierając preferowane urządzenie w ustawieniach systemu.
Ułatwienia dostępu: aparaty słuchowe obsługujące BLE Audio mogą teraz korzystać z mikrofonu, co pozwala użytkownikom na ciągłe korzystanie z aparatu słuchowego podczas rozmowy.
Interfejsy API i metody BLE Audio
Aby obsługiwać urządzenia BLE Audio, musisz użyć tych interfejsów API i metod:
AudioManager
setCommunicationDevice()
wybiera urządzenie audio, którego należy używać do komunikacji, na przykład do połączeń głosowych lub wideo. Ta metoda może być używana przez aplikacje do czatu głosowego lub wideo do wyboru innego urządzenia audio niż to, które zostało wybrane domyślnie przez platformę. Ten interfejs API zastępuje te przestarzałe interfejsy API:startBluetoothSco()
,stopBluetoothSco()
isetSpeakerphoneOn()
.clearCommunicationDevice()
jest wywoływany po zakończeniu połączenia lub sesji w aplikacji, aby zapewnić użytkownikowi wygodę podczas przechodzenia między różnymi aplikacjami.
BluetoothProfile
BluetoothLeAudio
kontroluje usługę Bluetooth za pomocą obiektu zastępczego.
Telecom InCallService
InCallService#requestCallEndpointChange()
zastępuje przestarzałe interfejsy APIInCallService.setAudioRoute()
iInCallService.requestBluetoothAudio()
, aby umożliwić aplikacjom przesyłanie żądań przekierowania dźwięku do określonegoCallEndpoint
. Klienty nie powinny definiować własnego elementuCallEndpoint
, żądając zmiany. Zamiast tego nowy punkt końcowy powinien być jednym z obowiązujących punktów końcowych udostępnionych przezInCallService.onAvailableCallEndpointsChanged(java.util.List)
.CallEndpoint.TYPE_BLUETOOTH
kieruje strumień audio przez Bluetooth.- Wymienione powyżej interfejsy API
InCallService
są przeznaczone do używania przez domyślną aplikację telefoniczną na telefonie z Androidem lub inne platformy do połączeń, takie jak urządzenia do noszenia, samochody czy inne urządzenia Bluetooth, które mogą mieć wpływ na kierowanie dźwięku.
Telecom CallControl
- Nowa klasa
CallControl
została wprowadzona w poziomie interfejsu API 34 w celu zastąpienia klasConnection
iConnectionService
tylko w przypadku aplikacji VoIP. CallControl.requestCallEndpointChange()
prosi też o zmianęCallEndpoint
. Ten interfejs API zastępuje wycofane interfejsy APIConnection.requestBluetoothAudio()
iConnection.setAudioRoute()
.- Oprócz zaktualizowanych interfejsów API platformy telekomunikacyjnej przy tworzeniu aplikacji do rozmów głosowych i wideo zdecydowanie zalecamy korzystanie z biblioteki Telecom Jetpack. Ta biblioteka może znacznie uprościć proces integracji i usprawnić połączenia VoIP na wszystkich platformach Androida.
Informacje o urządzeniu audio
AudioDeviceInfo.TYPE_BLE_HEADSET
opisuje typ urządzenia audio jako urządzenie LEA. Służy do określenia, czy urządzenie słuchowe jest urządzeniem LEA.
Rejestrator dźwięku
setPreferredDevice()
ustawia preferowane urządzenie do routingu dźwięku. Użytkownik może zmienić to ustawienie w ustawieniach systemu.
Adapter Bluetooth
isLeAudioSupported()
zwraca, czy sprzęt platformy obsługuje LEA.isLeAudioBroadcastSourceSupported()
zwraca, czy sprzęt platformy obsługuje LEA.
Przewodniki na podstawie przypadku użycia
Poniżej znajdziesz wytyczne dotyczące wdrażania LEA na podstawie konkretnych przypadków użycia.
Aplikacje do komunikacji głosowej
Aplikacje do komunikacji głosowej mogą zarządzać routingiem audio i stanem urządzenia przez samodzielne zarządzanie swoim stanem lub za pomocą interfejsu Telecom API, który wykonuje za Ciebie logikę routingu dźwięku i stanu.
Zarządzanie samodzielne: w przypadku aplikacji, które obecnie korzystają z funkcji
startBluetoothSco()
,stopBluetoothSco()
isetSpeakerphoneOn()
, lub jeśli chcesz samodzielnie zarządzać stanem kierowania dźwięku, postępuj zgodnie z przewodnikiem dotyczącym samodzielnego zarządzania połączeniami w Menedżerze dźwięku.Zarządzane: użyj biblioteki Telecom Jetpack lub interfejsów API platformy telekomunikacyjnej, aby utworzyć aplikację do rozmów audio lub wideo.
Te 2 rozwiązania umożliwiają szybkie i łatwe sterowanie kierowaniem dźwięku oraz przełączanie się między urządzeniami Bluetooth. Więcej informacji znajdziesz w przewodniku po zarządzaniu połączeniami przez operatora telekomunikacyjnego.
Aplikacje do nagrywania dźwięku
- Narzędzie do nagrywania multimediów: podczas nagrywania dźwięku za pomocą narzędzia do nagrywania multimediów możesz teraz nagrywać w stereo, jeśli urządzenie dźwiękowe Bluetooth obsługuje LEA. Zapoznaj się z przewodnikiem na temat nagrywania dźwięku.
Zalecane słuchawki LE Audio (LEA)
Wraz z wypuszczaniem kolejnych zestawów słuchawkowych LEA wykryliśmy w testach rzeczywistych problemy, które pogarszają wrażenia użytkownika. Specyfikacja nie uwzględnia wszystkich tych kwestii. W poniższej tabeli znajdziesz listę zaleceń, których powinni przestrzegać producenci zestawów słuchawkowych LEA, aby zapewnić użytkownikom Androida lepsze wrażenia podczas użytkowania.
Opis | Kontekst |
---|---|
Obsługuj wyprowadzanie kluczy transportowych (CTKD) w przypadku zestawów słuchawkowych w 2 trybach:
|
Większość nowych słuchawek z technologią LE Audio będzie działać w dwóch trybach, dopóki udział w rynku urządzeń z usługą źródłową LE Audio nie wzrośnie. Użytkownicy powinni mieć możliwość bezproblemowego sparowania zestawów słuchawkowych obsługujących 2 tryby oraz skonfigurowania obu trybów transportowych. Jest to również ważne w przypadku Szybkiego parowania Google. |
Używaj funkcji Targeted Broadcasts (kierowane ogłoszenia), jeśli chcesz, by zestawy słuchawkowe LEA w niezawodny sposób łączą się z urządzeniami źródłowymi. Słuchawki z Bluetooth LE powinny używać elementów sterujących do żądania połączenia przychodzącego z urządzeń centralnych. Zostanie dodany do nadchodzącego SIG dotyczącego BT. |
W przeciwieństwie do modelu stronicowania BR/EDR, gdzie połączenie może zostać zainicjowane przez telefon lub zestaw słuchawkowy, połączenie w LEA musi zostać zainicjowane przez urządzenie centralne. Obecnie wiele zestawów słuchawkowych nie korzysta z TA, co oznacza, że urządzenie centralne może nie być w stanie ponownie połączyć się z urządzeniem peryferyjnym bez dodania go do listy dozwolonych. Jednak obejście polegające na użyciu listy dozwolonych może uniemożliwić zestawowi słuchawkowemu nawiązanie połączenia z innym urządzeniem centralnym. Dlatego ważne jest, aby słuchawki LEA obsługiwały prawidłowo TA, aby urządzenie centralne mogło niezawodnie nawiązywać połączenia bez korzystania z obejścia od procedury, które może spowodować przerwanie połączeń wielopunktowych. |
Zoptymalizowana wykrywalność słuchawek dousznych w trybie podwójnym
|
Zapobiega to wyświetlaniu podwójnych wpisów słuchawek LEA w ustawieniach Bluetooth, co może wprowadzać użytkowników w błąd i utrudniać parowanie LEA.
Wybór dynamicznego lidera jest szczególnie ważny w przypadku urządzeń dwutrybowych, które są sparowane stopniowo. Jeśli na przykład podczas początkowego parowania dostępna jest tylko jedna słuchawka, powinna ona przedstawiać się jako urządzenie dwutrybowe. Gdy użytkownik sparuje drugą słuchawkę, wystarczy, że sparuje ją z urządzeniem LE, a CSIP zadba o to, aby były one zgrupowane na urządzeniu z Androidem. Podczas parowania zaleca się używanie adresu tożsamości, ponieważ komponent BR/EDR udostępnia już adres publiczny urządzenia urządzeniom w pobliżu. |
Obsługa protokołu Enhanced Attribute (EATT). | Zmniejsza opóźnienie parowania i połączenia. |
Obsługa solidnego buforowania GATT. | Redukuje czas oczekiwania na połączenie, zwłaszcza w przypadku słuchawek TWS. |
Obsługa podłączenia. | Umożliwia bardziej elastyczne planowanie przesyłania pakietów i możliwe oszczędności baterii. |
Zadbaj o to, aby podczas wstępnego i po przetworzeniu odtwarzania i przechwytywania potok przetwarzania sygnałów mógł działać na częstotliwości 16, 24, 32 i 48 kHz oraz obsługiwać wyższe częstotliwości. | Korzysta z wyższych częstotliwości próbkowania obsługiwanych przez ścieżki uchwycenia połączeń LEA lub VoIP oraz odtwarzania multimediów. |
Obsługa LE Power Control | Lepsze zarządzanie zasilaniem |
Obsługa typu kontekstu
Opis | Kontekst |
---|---|
Używaj wszystkich typów kontekstu określonych w przypisanych numerach 6.12.3, chyba że zestaw słuchawkowy wyraźnie nie obsługuje danego typu kontekstu. | Jeśli na przykład typ kontekstu „Gra” nie jest obsługiwany, Android będzie wysyłać dźwięki z gry. Zwróć uwagę, że typ kontekstu „Nieokreślony” nie oznacza „dowolny typ kontekstu” i nie obejmuje nieobsługiwanych typów kontekstu. |
Gdy urządzenie centralne wchodzi w interakcję z ASCS urządzenia peryferyjnego, urządzenie peryferyjne musi połączyć się z MCS i TBS urządzenia centralnego. Urządzenie centralne może nie zawsze używać dźwięku LE jako ścieżki strumieniowego przesyłania danych, ponieważ może wrócić do korzystania z A2DP lub HFP. Urządzenie peryferyjne może używać interakcji ASCS do określenia, czy urządzenie centralne będzie używać LE Audio do strumieniowania. Kilka przykładów interakcji ASCS to odczyt, zapis oraz rejestracja na potrzeby powiadomień. |