Commandes multimédias dans l'UI du système

À partir d'Android 13, les commandes multimédias de l'UI système contiennent des mises à jour des boutons d'action et de la lecture à distance. Ces modifications permettent d'offrir une expérience de contrôle des contenus multimédias plus soignée sur les téléphones et les tablettes, et de transférer des contenus multimédias de manière fluide entre les appareils.

Modifications apportées aux commandes multimédias

Cette section décrit les modifications apportées aux commandes multimédias dans Android 13 pour les boutons d'action et la lecture à distance.

Modifications apportées au bouton d'action

Pour s'assurer que les utilisateurs peuvent accéder à un ensemble complet de commandes multimédias pour les applications diffusant des contenus multimédias, les boutons d'action des commandes multimédias pour Android 13 sont dérivés des états d'action PlaybackState. Avec ce changement, la fonction MediaDataManager#createActionsFromState génère des informations sur le bouton d'action en fonction de l'état de l'action PlaybackState. Cela correspond à la façon dont les commandes multimédias sont affichées sur d'autres plates-formes Android telles qu'Auto, Assistant et Wear.

En revanche, dans Android 12, les boutons d'action des commandes multimédias étaient déterminés par les actions de notification ajoutées à une notification MediaStyle.

Pour obtenir un récapitulatif des modifications compatibles avec les applications pour les mises à jour du bouton d'action, consultez StatusBarManager.

API de lecture à distance

Pour offrir une expérience multimédia cohérente sur différentes surfaces, à partir d'Android 13, une nouvelle API système Notification#setRemotePlaybackInfo est ajoutée pour marquer les notifications multimédias dans l'UI système de contrôle multimédia pour la lecture à distance. Cette API permet aux applications système qui publient les notifications d'effectuer les opérations suivantes:

  • Fournit des informations et des fonctionnalités pour les contenus multimédias provenant d'un appareil distant au commutateur de sortie par défaut de la commande multimédia.
  • Remplacez l'affordance de l'option de sortie si nécessaire.

Les applications système qui utilisent cette notification doivent disposer de l'autorisation MEDIA_CONTENT_CONTROL.

L'API Notification#setRemotePlaybackInfo ajoute également les éléments extras suivants pour déterminer le nom, l'icône et l'intent de l'appareil de lecture à distance:

  • Notification#EXTRA_MEDIA_REMOTE_DEVICE
  • Notification#EXTRA_MEDIA_REMOTE_ICON
  • Notification#EXTRA_MEDIA_REMOTE_INTENT

Grâce à ces informations, l'UI système peut remplacer les informations sur l'appareil du chip de commutation de sortie par défaut et ajouter la commande multimédia pour la lecture à distance à la fin de la liste des commandes multimédias locales.

Implémentation du contrôle multimédia

Les OEM doivent être conscients de ce changement de comportement par défaut, car il affecte la façon dont les commandes multimédias des applications sont générées. Les OEM doivent également s'assurer que la nouvelle API système fonctionne comme prévu dans leur affordance de sélecteur de sortie.

Les OEM ne sont pas tenus d'apporter de modifications et peuvent utiliser l'implémentation par défaut dans AOSP.

Personnalisation de la lecture à distance

Si l'OEM dispose d'une application système qui publie des notifications de lecture multimédia à distance, l'application peut éventuellement appeler setRemotePlaybackInfo pour une notification tant qu'elle a reçu l'autorisation MEDIA_CONTENT_CONTROL. Toutefois, ce n'est pas obligatoire, et le partenaire peut choisir de ne pas personnaliser.

Validation des commandes multimédias

Pour tester la commande multimédia dans l'UI système, exécutez un test manuel pour valider les points suivants:

  • Les boutons fonctionnent comme prévu lorsque vous lisez des contenus multimédias à partir d'une application.
  • Le sélecteur de sortie affiche les informations correctes sur l'appareil.

Utilisez les tests suivants pour valider l'API de lecture à distance:

Pour obtenir des recommandations, consultez la nouvelle exigence de CDD [3.8.3.1/H-1-SR].