媒體

媒體模塊處理媒體類型和編解碼器,與 ExoPlayer 交互,向框架公開傳輸控制和播放信息,優化索引元數據等。模塊是可更新的,這意味著它們可以在正常的 Android 發布週期之外接收功能更新。媒體組件是攻擊的常見目標(最近的許多安全漏洞都與媒體有關),因此通過加速安全漏洞和功能的更新來加強安全性應該會減少可被攻擊利用的安全漏洞的數量。媒體框架保持可擴展性;合作夥伴可以繼續擴展媒體編解碼器和媒體格式提取器。

可更新的媒體組件

可更新的媒體組件存在於以下模塊中。

  • 媒體模塊。包括以下媒體組件。

    • 媒體提取器處理不同類型的媒體。每個拆除是個人.so文件有嗅探功能,以確定提取是否可以處理一個給定的媒體文件,並創建提取該媒體文件的一個實例的工廠函數。

    • MediaSession2 API允許媒體應用,以暴露其運輸控制和播放信息提供給其他處理,諸如Android框架和其他應用。

    • MediaParser的API(在Android的11個新)允許ExoPlayer有效地利用框架的媒體容器解析器從媒體容器提取的媒體樣本。

  • 媒體編解碼器模塊。包括可更新的軟件 Codec2 組件。

  • 媒體提供者模塊。優化索引的元數據(音頻,視頻和圖片從SD卡和USB設備),使通過的適用於應用程序的數據MediaStore公共API

有關這些模塊和組件的詳細信息,請參閱媒體部分。

模塊格式

媒體模塊( com.android.media )和媒體編解碼器模塊( com.android.media.swcodec )是APEX格式,並且可用於運行Android 10或更高的設備。所述MediaProvider模塊( com.google.android.mediaprovider )是在APK-在-APEX格式並且可用於運行Android 11或更高的設備。

定制

有關添加自定義的提取和解碼器的詳細信息,請參閱自定義媒體組件。有關addding新的媒體格式,其中影響的存儲設備被索引,並更換MTP棧細節,參見MediaProvider