Prepárate para 12L, una actualización de funciones para pantallas grandes que se lanzará a principios del próximo año. Pruébala hoy.

Mejoras de foco de audio

Una app multimedia o de videojuego que usa foco de audio no debe reproducir audio después de que pierde el foco. A partir de Android 12, el marco de trabajo aplica de manera forzosa este comportamiento. Cuando una app solicita el foco de audio mientras otra en reproducción lo tiene, el marco de trabajo aplica de manera forzosa un fundido de salida en la app en reproducción. Agregar este fundido de salida ofrece una transición más fluida cuando se pasa de una app a otra.

Este comportamiento se produce cuando se cumplen las siguientes condiciones:

El sistema de audio aplica el fundido de salida en la primera app. Cuando finaliza este fundido, el sistema notifica a la primera app sobre la pérdida de foco. Los reproductores de la app permanecerán silenciados hasta que esta vuelva a solicitar el foco de audio.

Comportamientos existentes del foco de audio

También debes tener en cuenta estos otros casos que implican un cambio en el foco de audio.

Disminución automática del volumen

En Android 8, se introdujo la disminución automática del volumen (que reduce de manera temporal el nivel de audio de una app para que se pueda escuchar otra con claridad).

Si el marco de trabajo implementa la disminución automática, el desarrollador no necesita implementarla en la app.

La disminución automática del volumen también se produce cuando una notificación de audio toma el foco de una app en reproducción. El inicio de la reproducción de notificaciones se sincroniza con el final de la rampa de disminución del volumen.

La disminución automática del volumen se produce cuando se cumplen las siguientes condiciones:

  • La primera app actualmente en reproducción debe cumplir con lo siguiente:

  • Una segunda app solicita el foco de audio con [AudioManager.AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK](/reference/android/media/AudioManager#AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK.

El sistema de audio disminuye el volumen de todos los reproductores activos de la primera app mientras la segunda tiene el foco. Cuando la segunda app abandona el foco, deja de disminuir el volumen de estos. La primera app no recibe notificaciones cuando pierde el foco. Por lo tanto, no tiene que realizar ninguna acción.

Ten en cuenta que la disminución automática del volumen no se realiza cuando escuchas contenido de voz, ya que es posible que el usuario se pierda parte del programa. Por ejemplo, si disminuyes el volumen de reproducción mientras das instrucciones sobre cómo llegar en automóvil.

Silencia llamadas entrantes

Algunas apps no se comportan de manera correcta y continúan la reproducción durante llamadas telefónicas. Este comportamiento obliga al usuario a encontrar y silenciar la app ofensiva o salir de esta para escuchar su llamada. Esta función garantiza que no se reproduzca ninguna app cuando entre una llamada. Se invoca cuando una app cumple con las siguientes condiciones:

  • tiene los valores de uso AudioAttributes.USAGE_MEDIA o AudioAttributes.USAGE_GAME
  • solicita de manera correcta el foco de audio (mediante cualquier tipo de obtención) y está reproduciendo audio

Si una app continúa reproduciéndose durante la llamada, se silencia la reproducción hasta que la llamada finaliza. Sin embargo, si una app comienza a reproducirse durante la llamada, no se silencia este reproductor, ya que se considera una acción intencional del usuario.