Integra la libreria Jetpack Media3 come standard per la riproduzione, le sessioni, la modifica, i metadati e l'estrazione dei frame multimediali per garantire che le app utilizzino le API consigliate per la gestione di attività multimediali complesse nei vari fattori di forma Android. La modernizzazione dell'architettura multimediale tramite la migrazione dalle API del framework legacy (come MediaPlayer, MediaMuxer e MediaExtractor) alla solida libreria Jetpack Media3 fornisce un toolkit unificato e ricco di funzionalità che garantisce esperienze multimediali coerenti.
Implementazione richiesta
Per essere idonea al programma AEP, la tua app deve rispettare i seguenti requisiti:
| ID | Linea guida |
|---|---|
| AEP-M3-GAA | Non utilizzare le API del framework Android legacy, tra cui MediaPlayer, MediaExtractor, MediaMuxer e MediaMetadataRetriever. |
| AEP-M3-GAB | Se la riproduzione è un percorso utente principale, l'app deve integrare le sessioni multimediali per la consapevolezza del sistema operativo e l'integrazione cross-device. |
| AEP-M3-GAC | Se l'app ha una raccolta di contenuti audio, deve esporre i contenuti tramite MediaLibraryService e implementare il supporto per la ripresa dei contenuti multimediali. |
Applicabilità delle linee guida
Queste linee guida si applicano a:
- App che supportano la riproduzione di contenuti multimediali (video o audio) o l'editing video.
- A tutti i fattori di forma su cui è disponibile l'app.
Esenzioni
Le app possono utilizzare un framework alternativo equivalente che offra qualità, funzionalità utente, stabilità e compatibilità simili nell'ecosistema. Contatta l'assistenza se hai un framework adatto da prendere in considerazione. Per essere idonea, l'implementazione alternativa deve soddisfare i seguenti benchmark:
| ID | Esenzione |
|---|---|
| AEP-M3-EAA | Su una rete veloce, il primo frame video deve essere visualizzato entro 500 ms dall'avvio da parte dell'utente. |
| La riproduzione deve rimanere fluida, senza cali di frame visibili o sottotitoli codificati udibili durante un periodo di 30 secondi. | |
| L'app deve gestire correttamente il focus audio. | |
| L'app deve rispondere ai tasti multimediali hardware, anche quando è in esecuzione in background. | |
| Se la riproduzione in background è supportata, l'app deve pubblicare una notifica in stile multimediale e utilizzare un servizio in primo piano. | |
| Se l'app supporta la ripresa della riproduzione, deve implementare la ripresa dei contenuti multimediali. | |
| Le disconnessioni delle cuffie devono essere gestite in modo controllato. Ad esempio, mettere in pausa la riproduzione anziché passare all'oratore. | |
| La riproduzione deve continuare senza fotogrammi persi quando si passa da un orientamento del dispositivo all'altro. |
Documentazione e risorse sulle funzionalità
Le seguenti risorse forniscono indicazioni sull'implementazione e dettagli tecnici sulla funzionalità Media3. Queste risorse sono solo di riferimento e non contengono requisiti aggiuntivi del programma.
- Jetpack Media3
- Media3 ExoPlayer
- Controllare e pubblicizzare la riproduzione utilizzando una MediaSession
- API MediaExtractorCompat
- API MediaMuxerCompat
- API MetadataRetriever
- API FrameExtractor