type tutorial studio permiso low libreria developer bluetoothsocket android bluetooth android-bluetooth bluez a2dp

tutorial - driver bluetooth android



BlueZ vs bluedroid bluetooth pila (4)

BlueZ tiene muchas documentaciones y todo. Y por lo mismo, entendí que BlueZ es compatible con el receptor de sumidero A2DP. Y al mismo tiempo, se puede hacer que un dispositivo Android actúe como un receptor A2DP modificando el archivo audio.conf dentro del mismo.

También llegué a saber que a partir de Android 4.2, la pila BlueZ fue reemplazada por la pila Bluedroid de Broadcom. Busqué mucho sobre la pila de Bluedroid. Pero no pude encontrar muchos detalles sobre el mismo.

Espero que alguien me pueda ayudar con las siguientes dudas.

1). ¿Si Bluedroid tiene soporte de disipador A2DP?

2). ¿Estará disponible el archivo audio.conf para dispositivos que tengan la pila de bluedroid?

3). Voy a escribir un soporte de receptor A2DP para un dispositivo Android llamando directamente a la API de la pila BlueZ. ¿Pero mi última pregunta es si lo mismo se puede usar con Bluedroid stack? Hope Bluedroid es solo una expansión de BlueZ.

Por favor ayuda.


Agregando a las respuestas anteriores, ya que Android L, se introduce la compatibilidad con el sumidero, pero aún así no se completa la parte del código de transmisión de audio. Sin embargo, he encontrado this lista de cambios donde se completa la implementación del receptor a2dp y los medios se pueden reproducir a través del dispositivo receptor como se menciona en el mensaje de confirmación de la lista de cambios:

Fregadero Bluetooth A2DP

El cambio implementa la característica de sumidero A2DP. Si el dispositivo Android tiene una función de sumidero, puede recibir música del teléfono a través de BT. Esta función se puede aplicar en el kit de coche multimedia, decodificador y familia HiFi. Configure BLUETOOTH_A2DP_SINK: = true en BoardConfig.mk para habilitar la función A2DP Sink en bluedroid.

También necesita los cambios a continuación en el marco para enrutar la música al orador. 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/

Este cambio no incluye el decodificador SBC. Puede obtener un decodificador SBC en github.com/tieto/sbc-decoder.

¡¡¡Todo lo mejor!!!


Bluedroid es una pila provista por Broadcom y ahora es de código abierto en Android. Bluedroid no está relacionado con bluez en ningún aspecto, tiene pocas ventajas sobre bluez (me diferencia de eso).

[1]. Bluedroid no tiene soporte de receptor a2dp a partir de ahora, según el código fuente disponible , solo está disponible el soporte de fuente a2dp

[2]. El archivo audio.conf es para bluez stack, no forma parte de bluedroid

[3]. Llamar directamente a Bluez API: creo que utilizará llamadas dbus pero bluedroid no admite llamadas a métodos dbus, tiene implementado un mecanismo de devolución de llamada, por lo que no funcionará, bluedroid no es una expansión de bluez.


Como dijo el usuario 987500, el receptor A2DP es compatible con Android L, solo realice modificaciones menores, su dispositivo puede cambiarse de A2DP src a receptor. Pero asegúrese de que solo se pueda admitir una función para un dispositivo, que se puede configurar desde un archivo xml.


La función A2DP Sink ahora es compatible con Android Lollipop (5.0). Han modificado el código fuente de Bluedroid para admitir el mismo. Para admitirlo completamente, debe modificar el audio HAL (audio.h), AudioPolicyManagerBase.cpp y audio_policy.conf y también el Administrador de audio, A2DPStateMachine, etc.