web-dev-qa-db-fra.com

Streaming audio Bluetooth entre Android

J'ai fait une recherche sur le même sujet et j'ai découvert que Android sont des sources a2dp et l'audio ne peut être diffusé que d'une source a2dp vers un récepteur a2dp. Le récepteur A2dp peut être un casque Bluetooth ou un haut-parleur Bluetooth.

Mais ma question est alors comment l'application Android nommée " Bluetooth Music Player " = ça marche?

Il permet le streaming d'un mobile à un autre. Donc, dans ce cas, l'appareil mobile qui écoute doit agir comme un puits. Comment est-ce possible? Utilisent-ils un autre profil au lieu de a2dp?

Ok, cela peut être un profil différent de ce qu'ils utilisent. Parce que l'application doit également être installée côté client. Mais comment il devient possible de diffuser la voix d'un microphone Bluetooth vers un Android?

Veuillez aider.

18
Nidhin Joseph

Sans connaître les détails du lecteur de musique Bluetooth mentionné, il semble utiliser une simple connexion de données Bluetooth, sinon vous n'auriez pas besoin d'installer un client sur le périphérique de lecture/d'envoi.

Pour diffuser l'audio du microphone vers un autre appareil, vous pouvez l'enregistrer sur votre appareil émetteur et l'envoyer à l'appareil récepteur. Vous devrez implémenter un protocole à cet effet.
[~ # ~] ou [~ # ~]
Vous pouvez implémenter un autre service récepteur A2DP. Voici ce qu'est l'évier: un appareil avec une pile de protocole Bluetooth avec une implémentation de A2DP Sink.

Modifier:
Pour le cas que vous avez détaillé par vos commentaires, l'appareil d'envoi doit être laissé tel quel, sans installer aucune application. Cela signifie implicitement que votre solution doit utiliser la fonctionnalité Bluetooth prête à l'emploi de cet appareil Android.
Ce que vous pouvez utiliser ici est donc limité aux profils qui prennent en charge Android généralement, qui est HSP, HFP et A2DP. Comme vous voulez évidemment diffuser de la musique, A2DP serait votre choix.
Sur l'appareil censé recevoir le flux audio et faire la lecture, vous devez implémenter un service fournissant le récepteur A2DP comme un BluetoothService auto-implémenté ouvrant un BluetoothServerSocket sur RFCOMM comme décrit dans Documentation Android =.

Vous devrez consacrer beaucoup d'efforts à sa mise en œuvre, et je ne sais pas si vous aurez besoin d'une licence pour cela.

6
Schlangi