Připojení k zařízení Bluetooth A2DP ze systému Android

Bluetooth A2DP(Advanced Audio Distribution Profile) je profil Bluetooth Stereo, který definuje způsob streamování vysoce kvalitního stereofonního zvuku z jednoho zařízení do druhého prostřednictvím připojení Bluetooth – například streamování hudby z mobilního telefonu do bezdrátových sluchátek.

Ve starších verzích systému Android byly třídy, které jsou nutné pro připojení k zařízení Bluetooth A2DP, skryty na úrovni API a v pozdějších verzích od Androidu 4.0 jsou částečně zviditelněny.

Existuje však řešení, které bude fungovat na všech verzích systému Android, můžete snadno komunikovat s libovolným zařízením A2DP jednoduše pomocí několika volání IPC (Inter Process Communication).

Zásadně se toho dosáhne použitím jazyka AIDL (Android Interface Definition Language), který v podstatě umožňuje definovat programové rozhraní, na kterém se klient i služba dohodnou, aby spolu mohli komunikovat pomocí IPC.

Jak připojit zařízení Bluetooth k libovolnému zařízení se systémem Android?

Chcete-li umožnit připojení zařízení Bluetooth k libovolnému zařízení se systémem Android programově, stačí provést tyto jednoduché kroky.

Krok 1: Vytvoření souborů AIDL

Naším prvním krokem je získat instanci třídy Bluetooth A2DP. Za tímto účelem je třeba nejprve vytvořit 2 soubory AIDL ve složce „src“ projektu Android v balíčku android.bluetooth takto :

Krok 2. Vytvoření souborů AIDL: Přidejte oprávnění

Poté v manifestu Androidu přidejte oprávnění pro používání Bluetooth a následujících služeb :

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

Krok 3: Povolení Bluetooth a získání spárovaných zařízení

Nejprve musíte zajistit, zda je Bluetooth povoleno. Chcete-li požádat o povolení Bluetooth, zavolejte startActivityForResult() s akcí ACTION_REQUEST_ENABLEZáměr. Tím vydáte požadavek na povolení Bluetooth prostřednictvím nastavení systému.

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

Již spárovaná zařízení můžete získat ze třídy BluetoothAdapter následujícím způsobem:

devices = BluetoothAdapter.getDefaultAdapter().bondedDevices

Ze zařízení můžete získat zařízení náhlavní soupravy, které chcete spárovat

Krok 4: Navázání spojení Bluetooth

Pomocí getProfileProxy() navážete spojení s objektem proxy profilu přidruženým k profilu. Nastavte BluetoothProfile.ServiceListener(),Tento posluchač oznamuje BluetoothProfile klientům IPC, když byli připojeni ke službě nebo od ní odpojeni.

Krok 5: Streamování zvukové adresy URL

Dalším krokem je streamování zvuku, který chcete přehrát na připojených sluchátkách Bluetooth. Inicializujte MediaPlayer a přehrajte streamovanou url adresu, jak je uvedeno níže:

Krok 6: Odpojení zařízení

Když konečně skončíte s přehráváním zvuku a chcete zařízení odpojit, uzavřete proxy připojení, použijte následující metodu pro odpojení a uvolnění MediaPlayeru:

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.