Conectar a um dispositivo Bluetooth A2DP do Android

Bluetooth A2DP(Advanced Audio Distribution Profile) é o perfil Bluetooth Stereo que define como o áudio estéreo de alta qualidade pode ser transmitido de um dispositivo para outro através de uma ligação Bluetooth – por exemplo, música transmitida de um telemóvel para auscultadores sem fios.

Em versões mais antigas do Android as classes que são necessárias para se conectar a um dispositivo Bluetooth A2DP estavam ocultas no nível da API e nas versões posteriores a partir do Android 4.0, ele se torna parcialmente visível.

Mas existe uma solução que funcionará em todas as versões do Android, você pode facilmente interagir com qualquer dispositivo A2DP simplesmente fazendo algumas chamadas IPC (Inter Process Communication).

Basicamente, isto é conseguido através do uso da AIDL (Android Interface Definition Language) que basicamente permite definir a interface de programação que tanto o cliente como o serviço concordam a fim de comunicar um com o outro usando o IPC.

Como conectar um dispositivo Bluetooth a qualquer dispositivo Android?

Para activar a ligação a um dispositivo Bluetooth a qualquer dispositivo andróide de forma programática, basta seguir estes simples passos.

Passo 1: Criar ficheiros AIDL

O nosso primeiro passo é conseguir a instância da classe Bluetooth A2DP. Para isso, o que você precisa fazer é criar 2 arquivos AIDL primeiro na sua pasta “src” do Projeto Android sob o pacote android.bluetooth como segue :

Passo 2: Adicionar permissões

>

Então, no Manifesto Android, adicione permissões para usar Bluetooth e os seguintes serviços :

>

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

Passo 3: Habilitar Bluetooth e Obter Dispositivos Emparelhados

>

Primeiro, você precisa garantir se o Bluetooth está habilitado. Para solicitar que o Bluetooth seja ativado, ligue para startActivityForResult() com a ação ACTION_REQUEST_ENABLE Intenção. Isto irá emitir uma solicitação para habilitar o Bluetooth através das configurações do sistema.

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

Você pode obter os dispositivos já emparelhados da classe BluetoothAdapter da seguinte forma:

devices = BluetoothAdapter.getDefaultAdapter().bondedDevices

Dos dispositivos você pode obter seu dispositivo de fone de ouvido que você deseja emparelhar

Passo 4: Estabelecer conexão Bluetooth

Utilizar getProfileProxy()para estabelecer uma conexão com o objeto proxy de perfil associado ao perfil. Configurar um BluetoothProfile.ServiceListener(), Este ouvinte notifica BluetoothProfile clientes IPC quando eles foram conectados ou desconectados do serviço.

Passo 5: URL do fluxo de áudio

Passo seguinte é o fluxo de áudio que você deseja reproduzir no fone de ouvido Bluetooth conectado. Inicialize o MediaPlayer e reproduza a url de streaming como abaixo:

Passo 6: Desconecte o dispositivo

Finalmente feito com a reprodução do áudio e quer desconectar a conexão proxy de fechamento do dispositivo, use o seguinte método para desconectar e liberar o MediaPlayer:

Deixe uma resposta

O seu endereço de email não será publicado.