Yhteyden muodostaminen Bluetooth A2DP -laitteeseen Androidista

Bluetooth A2DP(Advanced Audio Distribution Profile) on Bluetooth Stereo -profiili, joka määrittelee, miten laadukasta stereoääntä voidaan suoratoistaa yhdestä laitteesta toiseen Bluetooth-yhteyden kautta – esimerkiksi musiikkia suoratoistaa matkapuhelimesta langattomiin kuulokkeisiin.

Aikaisemmissa Android-versioissa luokat, joita tarvitaan yhteyden muodostamiseen Bluetooth A2DP -laitteeseen, oli piilotettu API-tasolle ja myöhemmissä versioissa Android 4.0:sta alkaen se on tehty osittain näkyväksi.

Mutta on olemassa ratkaisu, joka toimii kaikissa Android-versioissa, voit helposti olla vuorovaikutuksessa minkä tahansa A2DP-laitteen kanssa tekemällä yksinkertaisesti joitakin IPC-kutsuja (IPC = Inter Process Communication).

Periaatteessa tämä saavutetaan käyttämällä AIDL:ää (Android Interface Definition Language), jonka avulla voidaan periaatteessa määritellä ohjelmointirajapinta, josta sekä asiakas että palvelu sopivat voidakseen kommunikoida keskenään IPC:n avulla.

Miten Bluetooth-laite liitetään mihin tahansa Android-laitteeseen?

Voidaksesi ottaa yhteyden Bluetooth-laitteeseen mihin tahansa Android-laitteeseen ohjelmallisesti sinun tarvitsee vain noudattaa näitä yksinkertaisia vaiheita.

Vaihe 1: Luo AIDL-tiedostot

Ensimmäisenä askeleenamme on päästä käsiksi Bluetooth A2DP-luokan instanssiin. Sitä varten sinun on luotava ensin 2 AIDL-tiedostoa Android-projektin ”src”-kansioon paketin android.bluetooth alle seuraavasti :

Vaihe 2: Lisää käyttöoikeudet

Sitten lisää Android Manifestiin käyttöoikeudet Bluetoothin ja seuraavien palveluiden käyttämiseen :

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

Vaihe 3: Ota Bluetooth käyttöön ja Hae pariliitetyt laitteet

Ensin on varmistettava, onko Bluetooth käytössä. Voit pyytää, että Bluetooth otetaan käyttöön, soittamalla startActivityForResult() toiminnolla ACTION_REQUEST_ENABLE Intent. Tämä antaa pyynnön ottaa Bluetooth käyttöön järjestelmäasetusten kautta.

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

Voit hakea jo pariliitetyt laitteet BluetoothAdapter-luokasta seuraavasti:

devices = BluetoothAdapter.getDefaultAdapter().bondedDevices

Laitteista voit hakea kuulokelaitteen, jonka haluat pariliittää

Vaihe 4: Bluetooth-yhteyden muodostaminen

Käyttämällä getProfileProxy()tapausta voit muodostaa yhteyden profiiliin liitettyyn profiilisi välitystieto-objektiin. Määritä BluetoothProfile.ServiceListener(), Tämä kuuntelija ilmoittaa BluetoothProfile IPC-asiakkaille, kun niihin on muodostettu yhteys tai yhteys on katkaistu.

Vaihe 5: Äänen suoratoisto-URL

Seuraavassa vaiheessa suoratoistetaan ääni, joka halutaan toistaa yhdistetyissä Bluetooth-kuulokkeissa. Alusta MediaPlayer ja toista suoratoisto-url alla olevan mukaisesti:

Vaihe 6: Irrota laitteen yhteys

Viimein lopetat äänen toistamisen ja haluat irrottaa laitteen sulkea välityspalvelinyhteyden, käytä seuraavaa menetelmää MediaPlayerin irrottamiseen ja vapauttamiseen:

Vastaa

Sähköpostiosoitettasi ei julkaista.