web-dev-qa-db-fra.com

BlueZ vs pile bluedroid bluetooth

BlueZ a beaucoup de documentations et tout. Et de la même manière, j’ai compris que BlueZ prend en charge la prise en charge des puits A2DP. Et dans le même temps, un périphérique Android peut être transformé en récepteur A2DP en modifiant le fichier audio.conf.

J'ai également appris que, à partir d'Android 4.2, la pile BlueZ a été remplacée par la pile Bluedroid de Broadcom. J'ai beaucoup cherché sur la pile Bluedroid. Mais je n'ai pas pu trouver beaucoup de détails à ce sujet.

J'espère que quelqu'un pourra m'aider avec les doutes suivants.

1). Si Bluedroid a le support de l'évier A2DP?

2) Si le fichier audio.conf sera disponible pour les appareils ayant une pile bluedroid?

3) Je vais écrire un support de récepteur A2DP pour un périphérique Android en appelant directement les API de la pile BlueZ. Mais ma dernière question est de savoir si le même peut être utilisé avec la pile Bluedroid également? Hope Bluedroid n'est qu'une extension de BlueZ.

S'il vous plaît aider.

17
Nidhin Joseph

Bluedroid est une pile fournie par Broadcom et est maintenant opensource dans Android. Bluedroid n’est aucunement lié à bluez, il présente peu d’avantages par rapport à bluez (je le distingue). 

[1]. Bluedroid ne prend pas en charge le récepteur a2dp à l’heure actuelle, conformément au code disponible code source seul le support de source a2dp est disponible

[2] Le fichier audio.conf est pour la pile bluez, il ne fait pas partie de bluedroid

[3] Appel direct de Bluez API - je pense que vous utiliserez les appels dbus mais bluedroid ne prend pas en charge les appels de méthode dbus, il a un mécanisme de rappel implémenté;.

13
ashish

Le rôle de récepteur A2DP est désormais pris en charge dans Android Lollipop (5.0). Ils ont modifié le code source de Bluedroid pour prendre en charge les mêmes. Pour le supporter complètement, vous devez modifier les fichiers audio HAL (audio.h), AudioPolicyManagerBase.cpp et audio_policy.conf et aussi Audio Manager, A2DPStateMachine, etc.

3
theangrylama

Comme le dit l'utilisateur 987500, le dissipateur A2DP est pris en charge dans Android L, n'apportez que des modifications mineures, votre périphérique peut être remplacé de A2DP src en récepteur . Mais assurez-vous qu'un seul rôle peut être pris en charge pour un seul périphérique, qui peut être configuré à partir d'un fichier xml .

2
Boatman_Yang

En ajoutant aux réponses ci-dessus, depuis Android L, la prise en charge du récepteur est introduite, mais la partie de code en streaming audio n’est pas encore terminée. Cependant, j'ai trouvé this change list où l'implémentation du collecteur a2dp est terminée et le média peut être lu via le périphérique du récepteur, comme indiqué dans le message de validation de la liste de modifications:

Évier Bluetooth A2DP

La modification implémente la fonction de récepteur A2DP. Si le périphérique Android est un rôle d’évier, il peut recevoir de la musique d’un téléphone via BT. Cette fonctionnalité peut être appliqué dans un kit voiture multimédia, un boîtier décodeur et une chaîne HiFi familiale. Ensemble BLUETOOTH_A2DP_SINK: = true dans BoardConfig.mk pour activer le dissipateur A2DP featue dans bluedroid.

Vous avez également besoin des modifications ci-dessous dans le cadre pour router la musique vers orateur. https://Android-review.googlesource.com/#/c/97832/https://Android-review.googlesource.com/#/c/97853/https://Android-review.googlesource.com/#/c/97833/https://Android-review.googlesource.com/#/c/98130/https://Android-review.googlesource.com/#/c/98131/

Cette modification n'inclut pas le décodeur SBC. Vous pouvez obtenir un décodeur SBC de github.com/tieto/sbc-decoder.

Bonne chance!!!

0
aksonlyaks