Afficher une carte "En écoute"

Les applications TV qui lisent du contenu audio peuvent continuer à le faire lorsque l'utilisateur revient à l'écran d'accueil ou passe à une autre application. Pour cela, l'application doit afficher une carte En écoute sur la page d'accueil. l'écran. Cette fiche permet aux utilisateurs de comprendre d'où provient l'audio et de revenir à votre appli pour contrôler la lecture des contenus multimédias.

À chaque fois qu'un MediaSession correspond à présent, le framework Android affiche une carte En écoute sur l'écran d'accueil. La fiche inclut des métadonnées multimédias telles que la pochette de l'album, le titre et l'icône de l'application. Lorsque l'utilisateur sélectionne la carte, le système ouvre l'application.

Carte "En écoute"

Après avoir implémenté une session multimédia, définissez le paramètre active et demandez la priorité au son, la carte En écoute s'affiche.

Remarque:La carte En écoute ne s'affiche que pour les contenus multimédias. avec FLAG_HANDLES_TRANSPORT_CONTROLS défini. Cet indicateur est obsolète au niveau d'API 26. Toutefois, cet indicateur peut toujours être nécessaire sur les appareils plus anciens pour assurer la rétrocompatibilité.

La carte est supprimée de l'écran du lanceur d'applications lorsqu'un setActive(false) désactive la session multimédia ou lorsqu'une autre application lance la lecture du contenu multimédia. Si la lecture est s'est complètement arrêtée et qu'il n'y a pas de média actif, désactivez la session multimédia. immédiatement. Si la lecture est en pause, désactivez la session multimédia après un certain temps. généralement de 5 à 30 minutes.

Mettre à jour la carte

Chaque fois que votre application met à jour l'état de lecture dans MediaSession, Mise à jour de la fiche En écoute pour indiquer l'état du contenu multimédia en cours de lecture. Pour savoir comment procéder, consultez Mettez à jour l'état de lecture.

De même, votre application peut mettre à jour MediaMetadata pour fournir à la carte En écoute concernant le contenu multimédia en cours de lecture, comme le titre, le sous-titre, et différentes icônes. Pour savoir comment procéder, consultez Mettez à jour les métadonnées multimédias.

Répondre à une action de l'utilisateur

Lorsque l'utilisateur sélectionne la carte En écoute, le système ouvre l'application qui possède session. Si votre application propose PendingIntent jusqu'à setSessionActivity(), le système lance l'activité spécifiée, comme indiqué dans l'extrait de code suivant. Sinon, l'intent système par défaut s'ouvre. L'activité que vous spécifiez doit proposer des commandes de lecture permettent aux utilisateurs de mettre en pause ou d'arrêter la lecture.

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);

Cas d'utilisation acceptés

La carte En écoute ne doit être utilisée que si l'utilisateur s'attend à ce que l'audio continue. en arrière-plan lorsque vous quittez l'application. La lecture vidéo ou le son d'un jeu doivent toujours à moins que votre application soit intégrée et conforme au Picture-in-picture.