앱이 Android 폼 팩터 전반에서 복잡한 미디어 작업을 처리하는 데 권장되는 API를 활용하도록 미디어 재생, 세션, 편집, 메타데이터, 프레임 추출의 표준으로 Jetpack Media3 라이브러리를 통합합니다. MediaPlayer, MediaMuxer, MediaExtractor와 같은 기존 프레임워크 API에서 강력한 Jetpack Media3 라이브러리로 이전하여 미디어 아키텍처를 현대화하면 일관된 미디어 환경을 보장하는 통합된 기능이 풍부한 툴킷이 제공됩니다.
필수 구현
AEP 자격요건을 충족하려면 앱이 다음 요구사항을 준수해야 합니다.
- MediaPlayer, MediaExtractor, MediaMuxer, MediaMetadataRetriever를 비롯한 기존 Android 프레임워크 API를 사용해서는 안 됩니다.
- 재생이 핵심 사용자 여정인 경우 앱은 OS 인식 및 기기 간 통합을 위해 미디어 세션을 통합해야 합니다.
- 앱에 오디오 콘텐츠 라이브러리가 있는 경우 MediaLibraryService를 통해 콘텐츠를 노출하고 미디어 재개 지원을 구현해야 합니다.
가이드라인 적용 대상
이 가이드라인은 다음에 적용됩니다.
- 미디어 (동영상 또는 오디오) 재생 또는 동영상 편집을 지원하는 앱
- 앱을 사용할 수 있는 모든 폼 팩터
예외
앱은 생태계 전반에서 유사한 품질, 사용자 기능, 안정성, 호환성을 제공하는 동등한 대체 프레임워크를 사용할 수 있습니다. 적합한 프레임워크가 있는 경우지원팀에 문의하세요. 자격요건을 충족하려면 대체 구현이 다음 벤치마크를 충족해야 합니다.
- 빠른 네트워크에서 첫 번째 동영상 프레임은 사용자가 시작한 후 500ms 이내에 표시되어야 합니다.
- 재생은 30초 동안 눈에 띄는 프레임 삭제나 들리는 오디오 언더런 없이 원활하게 유지되어야 합니다.
- 앱은 오디오 포커스를 올바르게 관리해야 합니다.
- 앱은 백그라운드에서 실행 중인 경우에도 하드웨어 미디어 키에 응답해야 합니다.
- 백그라운드 재생이 지원되는 경우 앱은 미디어 스타일 알림을 게시하고 포그라운드 서비스를 사용해야 합니다.
- 앱이 재생 재개를 지원하는 경우 미디어 재개를 구현해야 합니다.
- 헤드폰 연결 해제는 적절히 처리되어야 합니다. 예를 들어 스피커로 전환하는 대신 재생을 일시중지합니다.
- 기기 방향을 전환할 때 프레임이 삭제되지 않고 재생이 계속되어야 합니다.
기능 문서 및 리소스
다음 리소스는 Media3 기능에 관한 구현 가이드 및 기술 세부정보를 제공합니다. 이러한 리소스는 참고용일 뿐이며 추가 프로그램 요구사항은 포함하지 않습니다.
- Jetpack Media3
- Media3 ExoPlayer
- MediaSession을 사용하여 재생 제어 및 광고
- MediaExtractorCompat API
- MediaMuxerCompat API
- MetadataRetriever API
- FrameExtractor API