Intégrez la bibliothèque Jetpack Media3 comme norme pour la lecture, les sessions, le montage, les métadonnées et l'extraction de frames multimédias afin de vous assurer que les applications utilisent les API recommandées pour gérer les tâches multimédias complexes sur les différents facteurs de forme Android. La modernisation de l'architecture multimédia en migrant des anciennes API de framework (telles que MediaPlayer, MediaMuxer et MediaExtractor) vers la bibliothèque Jetpack Media3 robuste fournit un kit d'outils unifié et riche en fonctionnalités qui garantit des expériences multimédias cohérentes.
Implémentation requise
Pour être éligible au programme AEP, votre application doit répondre aux exigences suivantes :
| ID | Consigne |
|---|---|
| AEP-M3-GAA | Ne doit pas utiliser les anciennes API du framework Android, y compris MediaPlayer, MediaExtractor, MediaMuxer et MediaMetadataRetriever. |
| AEP-M3-GAB | Si la lecture est un parcours utilisateur essentiel, l'application doit intégrer des sessions multimédias pour la reconnaissance de l'OS et l'intégration multi-appareils. |
| AEP-M3-GAC | Si l'application dispose d'une bibliothèque de contenus audio, elle doit exposer les contenus via MediaLibraryService et implémenter la prise en charge de la reprise de lecture. |
Applicabilité des consignes
Cette consigne s'applique aux éléments suivants :
- Applications permettant de lire des contenus multimédias (vidéo ou audio) ou de modifier des vidéos.
- À tous les facteurs de forme sur lesquels l'application est disponible.
Exceptions
Les applications peuvent utiliser un framework alternatif équivalent qui offre une qualité, des fonctionnalités utilisateur, une stabilité et une compatibilité similaires dans l'écosystème. Contactez l'assistance si vous avez un framework approprié à prendre en compte. Pour être éligible, l'implémentation alternative doit répondre aux critères suivants :
| ID | Exonération |
|---|---|
| AEP-M3-EAA | Sur un réseau rapide, le premier frame vidéo doit s'afficher dans les 500 ms suivant le lancement par l'utilisateur. |
| La lecture doit rester fluide, sans perte d'images visible ni sous-exécution audio audible pendant une période de 30 secondes. | |
| L'application doit gérer correctement la priorité audio. | |
| L'application doit répondre aux touches multimédias matérielles, même lorsqu'elle s'exécute en arrière-plan. | |
| Si la lecture en arrière-plan est prise en charge, l'application doit publier une notification de style multimédia et utiliser un service de premier plan. | |
| Si l'application permet de reprendre la lecture, elle doit implémenter la reprise du contenu multimédia. | |
| Les déconnexions de casque doivent être gérées de manière fluide. Par exemple, en mettant la lecture en pause au lieu de passer à l'enceinte. | |
| La lecture doit se poursuivre sans perte d'images lorsque vous passez d'une orientation de l'appareil à une autre. |
Documentation et ressources sur les fonctionnalités
Les ressources suivantes fournissent des conseils d'implémentation et des informations techniques sur la fonctionnalité Media3. Ces ressources sont fournies à titre informatif uniquement et ne contiennent pas d'exigences supplémentaires concernant le programme.
- Jetpack Media3
- Media3 ExoPlayer
- Contrôler et annoncer la lecture avec MediaSession
- API MediaExtractorCompat
- API MediaMuxerCompat
- API MetadataRetriever
- API FrameExtractor