Perfil Bluetooth A2DP
Soy completamente nuevo al desarrollo de la aplicación del bluetooth. ¿Qué es exactamente un perfil bluetooth? ¿Es una especificación de hardware para el dispositivo? Puede un teléfono móvil android con bluetooth actuar como remitente y receptor en el perfil de A2DP?
- Android: Problema con tipos de archivos aceptables vía bluetooth
- Cómo crear Insecure RFCOMM Socket en Android?
- Determinar si el dispositivo Android Wear está en línea
- Registro de Bluetooth de Android llenando logcat
- Cómo forzar una conexión a un dispositivo a2dp bluetooth por una actividad o servicio
- ¿Cómo saber cuándo un dispositivo BLE se suscribe a una característica de Android?
- BluetoothSocket deja de transmitir en OutputStream.write ()
- Android Bluetooth: java.io.IOException: falla en el descubrimiento del servicio
- Android detectar Bluetooth desconectar inmediatamente Máximo 2 segundos
- ¿Hacer de un dispositivo móvil un control remoto para una tableta?
- Cómo tener múltiples conexiones a un solo dispositivo bluetooth Obd2 conectado al coche
- Crear un servicio programado en android
- Cómo obtener dispositivos conectados a bluetooth mediante BluetoothHeadset API
Un perfil bluetooth es una especificación sobre el protocolo y la funcionalidad de un dispositivo bluetooth. No es sólo una especificación de hardware, porque la implementación de un perfil dependerá a menudo de la pila de software y del chip de hardware. Puede encontrar más información de la página wikipedia .
Y en el caso de A2DP, está específicamente diseñado para la transmisión de música. No se puede utilizar para la comunicación de datos arbitraria (si eso es lo que quieres decir con "remitente y receptor"). Si está buscando un mecanismo genérico de comunicación de datos sobre el transporte bluetooth, el perfil de puerto serie (SPP) es lo que necesita (algunas personas también lo llaman RFCOMM). Guía del usuario de Android SDK tiene información bastante detallada sobre cómo usar la API de RFCOMM: http://developer.android.com/guide/topics/wireless/bluetooth.html
Existen dos perfiles A2DP: fuente A2DP (el dispositivo que envía audio) y A2DP Sink (el dispositivo que recibe y reproduce el audio) como un auricular Bluetooth.
El hardware del teléfono admite ambos perfiles, pero el Sink A2DP no se implementa en Android, por lo que no puedes simplemente escribir una aplicación para usarlo. Necesitas modificar el código fuente de Android y construir tu propia ROM.
Si desea hacerlo, necesita un dispositivo con un código fuente disponible (un Nexus o un dispositivo compatible con CyanogenMod).
Si utiliza Android 5 o hasta que no será muy difícil habilitar el fregadero A2DP ya que ya está incluido en el origen, pero está deshabilitado.
Si usas Android 4.2 -4.4 necesitas portar las clases de Sink A2DP desde Android 5.
En cuanto a Android antes de 4.2 las cosas son diferentes, ya que utiliza una pila Bluetooth diferente llamado BlueZ (ahora que utilizan Bluedroid) puede activar A2DP Sink por el enraizamiento de su dispositivo y la edición de archivo "audio.conf", pero lamentablemente, aunque su teléfono será la publicidad Como un fregadero A2DP usted no oirá ningún sonido pues no se enruta a los altavoces y para dirigirlo usted tendrá que construir una ROM modificada.
La construcción de una ROM puede parecer complicada, pero no lo es, especialmente si utilizas Android 5 o más como, como dije antes, el perfil de SINK ya está allí todo lo que necesitas hacer es escribir 6 líneas en el terminal (necesitas un Linux OS) y editar 3 líneas de código para habilitar el fregadero A2SP y construir su propia ROM. Si usted está interesado en esto puedo dar más detalles.