Integre a biblioteca Jetpack Media3 como padrão para reprodução, sessões, edição, metadados e extração de frames de mídia para garantir que os apps usem as APIs recomendadas para processar tarefas de mídia complexas em formatos Android. A modernização da arquitetura de mídia pela migração de APIs de framework legadas (como MediaPlayer, MediaMuxer e MediaExtractor) para a biblioteca robusta do Jetpack Media3 oferece um kit de ferramentas unificado e cheio de recursos que garante experiências de mídia consistentes.
Implementação necessária
Para se qualificar para o AEP, seu app precisa obedecer aos seguintes requisitos:
- Não usar APIs de framework Android legadas, incluindo MediaPlayer, MediaExtractor, MediaMuxer e MediaMetadataRetriever.
- Se a reprodução for uma jornada principal do usuário, o app precisará integrar sessões de mídia para reconhecimento do SO e integração entre dispositivos.
- Se o app tiver uma biblioteca de conteúdo de áudio, ele precisará expor o conteúdo pelo MediaLibraryService e implementar suporte para retomada de mídia.
Aplicabilidade das diretrizes
Esta diretriz se aplica a:
- Apps que oferecem suporte à reprodução de mídia (vídeo ou áudio) ou edição de vídeo.
- A todos os formatos em que o app está disponível.
Isenções
Os apps podem usar um framework alternativo equivalente que ofereça qualidade, recursos do usuário, estabilidade e compatibilidade semelhantes em todo o ecossistema. Entre em contato com o suporte se você tiver um framework adequado para consideração. Para se qualificar, a implementação alternativa precisa atender aos seguintes critérios de comparação:
- Em uma rede rápida, o primeiro frame de vídeo precisa ser exibido em até 500 ms após a inicialização do usuário.
- A reprodução precisa permanecer suave, sem quedas de frame visíveis ou subfluxos de áudio audíveis durante uma janela de 30 segundos.
- O app precisa gerenciar corretamente a seleção de áudio.
- O app precisa responder às teclas de mídia de hardware, mesmo quando estiver em execução em segundo plano.
- Se a reprodução em segundo plano for compatível, o app precisará postar uma notificação no estilo de mídia e usar um serviço em primeiro plano.
- Se o app oferecer suporte à retomada da reprodução, ele precisará implementar a retomada de mídia.
- As desconexões de fone de ouvido precisam ser processadas corretamente. Por exemplo, pausar a reprodução em vez de mudar para o alto-falante.
- A reprodução precisa continuar sem frames descartados ao alternar entre as orientações do dispositivo.
Documentação e recursos de recursos
Os recursos a seguir fornecem orientações de implementação e detalhes técnicos sobre o recurso Media3. Esses recursos são apenas para referência e não contêm outros requisitos do programa.
- Jetpack Media3
- ExoPlayer da Media3
- Controlar e anunciar a reprodução usando uma MediaSession
- API MediaExtractorCompat
- API MediaMuxerCompat
- API MetadataRetriever
- API FrameExtractor