整合 Jetpack Media3 程式庫,做為媒體播放、工作階段、編輯、中繼資料和影格擷取的標準,確保應用程式使用建議的 API,處理各種 Android 板型規格的複雜媒體工作。從舊版架構 API (例如 MediaPlayer、MediaMuxer 和 MediaExtractor) 遷移至功能完善的 Jetpack Media3 程式庫,即可將媒體架構現代化,並取得統一且功能豐富的工具包,確保媒體體驗一致。
必要實作
如要加入 AEP,應用程式必須符合下列規定:
- 請勿使用舊版 Android 架構 API,包括 MediaPlayer、MediaExtractor、MediaMuxer 和 MediaMetadataRetriever。
- 如果播放是核心使用者歷程,應用程式就必須整合媒體工作階段,讓作業系統瞭解情況並整合跨裝置。
- 如果應用程式有音訊內容庫,就必須透過 MediaLibraryService 公開內容,並實作媒體續播支援功能。
適用規範
本規範適用於:
- 支援媒體 (影片或音訊) 播放或影片編輯的應用程式。
- 應用程式支援的所有板型規格。
豁免資格
應用程式可以使用同等替代架構,在整個生態系統中提供類似的品質、使用者功能、穩定性和相容性。如有合適的架構可供考慮,請與支援團隊聯絡。如要符合資格,替代實作方式必須達到下列基準:
- 在快速網路中,使用者啟動後 500 毫秒內必須顯示第一個影片影格。
- 在 30 秒的視窗中,播放過程必須保持流暢,不得出現明顯的掉格或音訊欠載。
- 應用程式必須妥善管理音訊焦點。
- 應用程式必須回應硬體媒體鍵,即使在背景執行也一樣。
- 如果支援背景播放,應用程式必須發布媒體樣式的通知,並使用前景服務。
- 如果應用程式支援繼續播放,就必須實作媒體續播功能。
- 必須妥善處理耳機連線中斷的情況。例如暫停播放,而不是切換至喇叭。
- 切換裝置方向時,播放作業必須繼續,不得遺失影格。
功能說明文件和資源
下列資源提供 Media3 功能的導入指南和技術詳細資料。這些資源僅供參考,不包含其他方案規定。
- Jetpack Media3
- Media3 ExoPlayer
- 使用 MediaSession 控制及通告播放功能
- MediaExtractorCompat API
- MediaMuxerCompat API
- MetadataRetriever API
- FrameExtractor API