A través de Bluetooth, los dispositivos pueden transmitir datos que pueden usarse para servicios interactivos como audio, mensajería y telefonía. Los perfiles de Bluetooth utilizados para diferentes servicios se pueden encontrar en include/hardware/bluetooth.h
.
Audio
Una conexión Bluetooth permite a los usuarios transmitir audio en dispositivos habilitados para Bluetooth. Para la mayoría de los casos de uso de audio, el dispositivo Android es la fuente y el dispositivo de reproducción, como un altavoz o unos auriculares, es el receptor.
Control absoluto de volumen
En Android 6.0 y versiones posteriores, la pila Bluetooth de Android permite que una fuente establezca un volumen absoluto, lo que brinda a los usuarios un control preciso sobre el volumen del audio. El dispositivo fuente envía información de volumen y audio no atenuado al receptor. Luego, el disipador amplifica el audio de acuerdo con la información del volumen, para que los usuarios escuchen el volumen de reproducción preciso.
El dispositivo fuente también puede registrar notificaciones de volumen. Cuando los cambios de volumen se realizan con los controles del receptor, el receptor envía una notificación a la fuente. Esto permite que la fuente muestre con precisión información de volumen en una interfaz de usuario.
El control de volumen absoluto está activado de forma predeterminada. Para deshabilitar el control de volumen absoluto, los usuarios pueden ir a Configuración > Sistema > Opciones de desarrollador y seleccionar la opción Desactivar volumen absoluto .
Códecs de audio avanzados
En Android 8.0, los dispositivos que utilizan el perfil de distribución de audio avanzado (A2DP) pueden admitir códecs de audio adicionales. La pila Bluetooth admite la negociación de códecs de audio para cuando los dispositivos se conectan a un receptor de audio remoto. Esta negociación selecciona el mejor códec admitido tanto por el remitente como por el receptor para proporcionar audio de alta calidad. Después de la selección, todo el audio se enruta a través del codificador seleccionado y luego se envía al receptor.
Implementación
Los dispositivos que ejecutan Android 8.0 y admiten A2DP obtienen automáticamente compatibilidad con códec adicional. Es posible que los fabricantes de dispositivos necesiten obtener licencias independientes y blobs binarios para algunos códecs de audio propietarios. Además de SBC, Android 8.0 admite los siguientes códecs:
- CAA
- aptX
- aptXHD
- LDAC
Los fabricantes de dispositivos pueden elegir qué códecs intentan utilizar primero sus dispositivos. Establezca las prioridades del códec cambiando los siguientes valores en res/values/config.xml
:
<!-- Configuring priorities of A2DP source codecs. Larger value means higher priority. Value -1 means the codec is disabled. Value 0 is reserved and should not be used here. Enabled codecs should have priorities in the interval [1, 999999], and each priority value should be unique. --> <integer name="a2dp_source_codec_priority_sbc">1001</integer> <integer name="a2dp_source_codec_priority_aac">2001</integer> <integer name="a2dp_source_codec_priority_aptx">3001</integer> <integer name="a2dp_source_codec_priority_aptx_hd">4001</integer> <integer name="a2dp_source_codec_priority_ldac">5001</integer>
Certificación LDAC
El Proyecto de código abierto de Android incluye un codificador para el códec LDAC de Sony, por lo que no se necesita una licencia o blob por separado de Sony. Para integrar el códec LDAC en su dispositivo, regístrese en Sony y siga el proceso de certificación LDAC .
El sitio web de certificación LDAC tiene documentación sobre LDAC, como manuales de operación y especificaciones. El sitio LDAC también proporciona pruebas de validación e interoperabilidad para dispositivos móviles y tabletas. Envíe los resultados de las pruebas a Sony para completar la certificación LDAC.
Funciones de la interfaz de usuario
Además de la compatibilidad con códecs adicionales, Android 8.0 proporciona una configuración orientada al usuario para desactivar los códecs de audio Bluetooth de alta definición (HD).
- Navegue a Configuración > Dispositivos conectados > Bluetooth .
- Toque el ícono de ajustes al lado del receptor para el que desea desactivar los códecs.
- Desmarque la casilla de verificación Audio HD .
Los fabricantes de dispositivos que personalizan la configuración deberían implementar una forma para que los usuarios deshabiliten los códecs HD.
Mensajería
La mensajería a través de Bluetooth permite a los usuarios leer, explorar y redactar mensajes SMS desde un dispositivo remoto. Esta capacidad se utiliza a menudo al conectar un teléfono a un sistema de información y entretenimiento en el vehículo.
Telefonía
Los servicios de telefonía Bluetooth permiten a los usuarios transmitir llamadas y sincronizar contactos desde un teléfono a otro dispositivo Bluetooth. Estas funciones se utilizan a menudo para llamadas con manos libres mientras se conduce.
En Android 8.0, Bluetooth admite tonos de llamada dentro de banda. Cuando un teléfono conectado a través de Bluetooth recibe una llamada entrante, el tono de llamada se reproducirá en el fregadero. Habilite el tono de llamada dentro de banda en Configuración > Sistema > Opciones de desarrollador seleccionando el interruptor para Habilitar timbre dentro de banda .
Funciones de Bluetooth
Para implementar los servicios Bluetooth, la pila Bluetooth admite una variedad de perfiles y funciones.
Perfiles Bluetooth
Estos perfiles están disponibles para Bluetooth:
Característica | versión de Android | |||||
---|---|---|---|---|---|---|
Nombre | Descripción | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
SAVIA | Perfil de acceso a SIM | 1.1 | 1.1 | 1.1 | 1.1 | 1.1 |
MAPA | Perfil de acceso a mensajes para SMS | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
OPP | Perfil de inserción de objetos | 1.1 | 1.1 | 1.1 | 1.1 | 1.2 |
OBEX sobre L2CAP | Intercambio de objetos sobre protocolo de adaptación y control de enlace lógico | Sí | Sí | Sí | Sí | Sí |
Puerta de enlace de audio HFP | Perfil manos libres | 1.6 | 1.6 | 1.7 | 1.7 | 1.7 |
HSP | Perfil de auriculares | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
A2DP | Perfil de distribución de audio avanzado | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
AVRCP | Perfil de control remoto de audio/vídeo | 1.3 | 1.3 | 1.3 | 1.3 | 1.4 |
ESCONDIDO | Perfil del dispositivo de interfaz humana | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
PBAP | Perfil de acceso a la agenda telefónica | 1.1.1 | 1.1.1 | 1.1.1 | 1.1.1 | 1.2 |
HDP | Perfil del dispositivo de salud | 1.0 | 1.0 | 1.1 | 1.1 | 1.1 |
SPP | Perfil de puerto serie | 1.2 | 1.2 | 1.2 | 1.2 | 1.2 |
PAN/BNEP | Perfil de red de área personal/Protocolo de encapsulación de red Bluetooth | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 |
ADEREZO | Perfil de identificación del dispositivo | 1.3 | 1.3 | 1.3 | 1.3 | 1.3 |
HOGP 1.0 | HID sobre el GATT | Sí | Sí | Sí | Sí | Sí |
Audio de alta definición 1 | Consulte "Códecs de audio avanzados" más arriba | No | No | No | No | Sí |
1 La implementación de HD Audio depende de las capacidades del dispositivo, tanto de la fuente como del receptor.
Funciones de Bluetooth de bajo consumo
Estas funciones están disponibles para BLE:
Característica | versión de Android | ||||
---|---|---|---|---|---|
Nombre | 6.0 | 7.0 | 7.1 | 7.1.2 | 8.0 |
Conexiones seguras BR/EDR | 4.1 | 4.1 | 4.1 | 4.1 | 5.0 |
LE Privacidad | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
Conexiones seguras LE | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
Extensiones de paquetes de datos | 4.2 | 4.2 | 4.2 | 4.2 | 5.0 |
UUID de 32 bits | Sí | Sí | Sí | Sí | Sí |
Modo dual LE central/periférico | Sí | Sí | Sí | Sí | Sí |
Modo periférico LE | Sí | Sí | Sí | Sí | Sí |
Requisitos de HCI de Google | Sí | Sí | Sí | Sí | Sí |
Canales orientados a la conexión LE | No | No | No | No | No |