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