Android 14 introdujo actualizaciones de API junto con cambios en la experiencia del usuario en el comportamiento del enrutamiento de audio para dispositivos Bluetooth LE Audio (LEA), incluidos audífonos. Estos cambios afectaron la forma en que las apps de VoIP administran la selección de salida de audio. En este documento, se proporciona información esencial para que los desarrolladores adapten sus apps de VoIP a estos cambios y garanticen una experiencia del usuario fluida.
Cambio de comportamiento en Android 14
- Enrutamiento de dispositivos LEA: Los dispositivos LEA ahora están habilitados de forma predeterminada en los teléfonos Pixel y el AOSP. Sin embargo, para reconocer y seleccionar de forma activa dispositivos de LEA como salida de audio, las apps deben usar las nuevas APIs que se introdujeron en el nivel de API 31.
- Enrutamiento de audífonos: Anteriormente, el audio siempre se configuraba en audífonos de forma predeterminada, incluso si el usuario lo seleccionaba explícitamente. En Android 14, los audífonos ahora se presentan como una de las opciones de salida de audio disponibles, y requiere que el usuario seleccione de forma explícita.
Fundamentos del cambio
- Antes de Android 12, no había una API que usara audífonos de forma explícita para las llamadas, lo que hacía que el audio siempre se usara de forma predeterminada en audífonos cuando se conectaban.
- Esto dificultaba que los usuarios cambiaran de audífonos a auriculares sin desconectarlos.
- El mismo problema se aplicaba a los auriculares Bluetooth LE Audio.
Para abordar estos desafíos, Android 14 introdujo cambios para proporcionar a las apps de VoIP más control sobre el enrutamiento de audio y garantizar un comportamiento coherente en todos los accesorios Bluetooth.
Cambios clave en Android 14
- APIs genéricas para la selección de rutas: Android 12 introdujo
AudioManager.setCommunicationDevice
para permitir que las apps especifiquen rutas de audio, incluidos los audífonos y los dispositivos LEA. Sin embargo, en Android 12 y 13, los audífonos no eran visibles como dispositivos, lo que limitaba la utilidad de esta API. - Visibilidad de los audífonos: En Android 14, los audífonos ahora se muestran como dispositivos, lo que permite que las apps proporcionen elementos de la IU para que los usuarios seleccionen su salida de audio preferida.
- Bajas de la API: Varias APIs relacionadas con el enrutamiento de audio dejaron de estar disponibles en Android 14. Los desarrolladores deben migrar a las nuevas APIs que se introdujeron en el nivel de API 31 para administrar la selección de salida de audio de manera eficaz.
Acciones obligatorias del desarrollador
- Recomendación: Migra a la biblioteca de Jetpack de telecomunicaciones. Si es posible, migra tu app de VoIP a la biblioteca de Telecom Jetpack para optimizar la administración del enrutamiento de audio.
- Usa
setCommunicationDevice()
o las APIs más recientes (que se indican a continuación) si la migración no es factible.