Połączenie z urządzeniem Bluetooth A2DP z systemu Android

Bluetooth A2DP(Advanced Audio Distribution Profile) to profil Bluetooth Stereo, który definiuje, w jaki sposób wysokiej jakości dźwięk stereo może być przesyłany strumieniowo z jednego urządzenia do drugiego za pośrednictwem połączenia Bluetooth – na przykład muzyka przesyłana strumieniowo z telefonu komórkowego do słuchawek bezprzewodowych.

W starszych wersjach Androida klasy, które są wymagane do połączenia się z urządzeniem Bluetooth A2DP były ukryte na poziomie API, a w późniejszych wersjach od Androida 4.0 są częściowo widoczne.

Jest jednak rozwiązanie, które będzie działać na wszystkich wersjach Androida, możesz łatwo wejść w interakcję z dowolnym urządzeniem A2DP, po prostu wykonując kilka wywołań IPC (Inter Process Communication).

Podstawowo, jest to osiągane przez użycie AIDL (Android Interface Definition Language), który w zasadzie pozwala zdefiniować interfejs programowania, że zarówno klient i usługa zgadzają się na w celu komunikowania się ze sobą za pomocą IPC.

Jak podłączyć urządzenie Bluetooth do dowolnego urządzenia z systemem Android?

Aby umożliwić połączenie z urządzeniem Bluetooth do dowolnego urządzenia z systemem Android programowo, wystarczy wykonać te proste kroki.

Krok 1: Tworzenie plików AIDL

Naszym pierwszym krokiem jest uchwycenie instancji klasy Bluetooth A2DP. W tym celu należy utworzyć 2 pliki AIDL w folderze „src” projektu Android w pakiecie android.bluetooth w następujący sposób:

Krok 2: Dodaj uprawnienia

Następnie w Manifeście Androida dodaj uprawnienia do korzystania z Bluetooth i następujących usług :

android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.BROADCAST_STICKY
android.permission.BIND_ACCESSIBILITY_SERVICE

Krok 3: Włącz Bluetooth i Get Paired Devices

Po pierwsze, musisz się upewnić, czy Bluetooth jest włączony. Aby zażądać włączenia Bluetooth, zadzwoń do startActivityForResult() z ACTION_REQUEST_ENABLEakcji Intent. Spowoduje to wydanie żądania włączenia Bluetooth za pośrednictwem ustawień systemowych.

val enableBtIntent = Intent(BluetoothAdapter. ACTION_REQUEST_ENABLE)
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT)

Możesz uzyskać już sparowane urządzenia z klasy BluetoothAdapter w następujący sposób:

devices = BluetoothAdapter.getDefaultAdapter().bondedDevices

Z urządzeń możesz uzyskać urządzenie z zestawem słuchawkowym, które chcesz sparować

Krok 4: Ustanowienie połączenia Bluetooth

Użyj getProfileProxy(), aby ustanowić połączenie z obiektem proxy związanym z profilem. Set up a BluetoothProfile.ServiceListener(), This listener notifies BluetoothProfile IPC clients when they have been connected to or disconnected from the service.

Step 5: Stream Audio URL

Następnym krokiem jest strumieniowanie dźwięku, który ma być odtwarzany na podłączonym zestawie słuchawkowym Bluetooth. Zainicjuj MediaPlayer i odtwórz adres url jak poniżej:

Krok 6: Odłącz urządzenie

W końcu skończyłeś z odtwarzaniem dźwięku i chcesz odłączyć urządzenie i zamknąć połączenie proxy, użyj następującej metody, aby odłączyć i zwolnić MediaPlayer:

.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.