Cómo mostrar una tarjeta de Está sonando

Las apps para TV que reproducen audio pueden seguir haciéndolo después de que el usuario regresa a la pantalla principal o cambia a otra app. Para ello, la app debe proporcionar una tarjeta de Está sonando en la página principal en la pantalla. Esta tarjeta les permite a los usuarios comprender de dónde proviene el audio y regresar a tu app para controlar la reproducción de contenido multimedia

Cada vez que se active MediaSession es El framework de Android muestra una tarjeta de Está sonando en la pantalla principal. La carta incluye metadatos multimedia, como la imagen del álbum, el título y el ícono de la app. Cuando el usuario selecciona la tarjeta, para que el sistema abra la app.

Tarjeta de Está sonando

Después de implementar una sesión multimedia, configura para activar y solicitar foco de audio, aparecerá la tarjeta Está sonando.

Nota: La tarjeta de Está sonando solo se muestra para un contenido multimedia con el FLAG_HANDLES_TRANSPORT_CONTROLS marca de verificación. Esta marca dejó de estar disponible en el nivel de API 26. Sin embargo, esta marca aún podría ser necesaria en dispositivos más antiguos para la retrocompatibilidad.

La tarjeta se quita de la pantalla del selector cuando setActive(false) llamada desactiva la sesión multimedia o cuando otra app inicia la reproducción multimedia. Si la reproducción es Se detuvo por completo y no hay contenido multimedia activo, desactiva la sesión multimedia. de inmediato. Si la reproducción está en pausa, desactiva la sesión multimedia después de un retraso. generalmente de 5 a 30 minutos.

Actualizar la tarjeta

Cada vez que tu app actualiza el estado de reproducción en MediaSession, se La tarjeta de Está sonando se actualiza para mostrar el estado del contenido multimedia actual. Para obtener información sobre cómo hacerlo, consulta Actualiza el estado de reproducción.

De manera similar, tu app puede actualizar la MediaMetadata para proporcionar información en la tarjeta Está sonando sobre el contenido multimedia actual, como el título, el subtítulo, y varios iconos. Para obtener información sobre cómo hacerlo, consulta Actualiza los metadatos multimedia.

Cómo responder a la acción del usuario

Cuando el usuario selecciona la tarjeta Está sonando, el sistema abre la app a la que pertenece sesión. Si tu app proporciona un elemento PendingIntent a setSessionActivity(), el sistema inicia la actividad que especificas, como se muestra en el siguiente fragmento de código. Si no es así, di lo siguiente: se abre el intent predeterminado del sistema. La actividad que especifiques debe proporcionar controles de reproducción que y permitir que los usuarios pausen o detengan la reproducción.

Kotlin

val pi: PendingIntent = Intent(context, MyActivity::class.java).let { intent ->
    PendingIntent.getActivity(
            context, 99 /*request code*/,
            intent,
            PendingIntent.FLAG_UPDATE_CURRENT
    )
}
session.setSessionActivity(pi)

Java

Intent intent = new Intent(context, MyActivity.class);
PendingIntent pi = PendingIntent.getActivity(context, 99 /*request code*/,
        intent, PendingIntent.FLAG_UPDATE_CURRENT);
session.setSessionActivity(pi);

Casos de uso aceptados

La tarjeta Está sonando solo debe usarse en los casos en que el usuario espera que el audio continúe se reproducen en segundo plano cuando sales de la app. El sonido o la reproducción de video a menos que tu app se integre y cumpla con los requisitos de la función pantalla en pantalla.