媒体模块处理媒体类型和编解码器,与 ExoPlayer 互动,向框架公开传输控件和播放信息,并执行其他媒体相关功能。
媒体组件是攻击的常见目标(许多最近的安全漏洞都与媒体相关),因此,通过加速安全漏洞和功能的更新来加强安全性应减少可能被攻击利用的安全漏洞的数量。媒体框架仍然具有可扩展性;合作伙伴可以继续扩展媒体编解码器和媒体格式提取器。
媒体模块和组件
可更新的媒体组件存在于以下模块中。
媒体模块。 包括以下媒体组件。
媒体提取器处理不同类型的媒体。每个提取器都是一个单独的
.so
文件,其中包含一个嗅探器函数(用于确定提取器是否可以处理给定的媒体文件)和一个工厂函数(用于为该媒体文件创建提取器的实例)。MediaSession2
API 允许媒体应用将其传输控件和播放信息公开给其他进程,例如 Android 框架和其他应用。MediaParser
API(Android 11 中的新增功能)允许 ExoPlayer 有效利用框架媒体容器解析器,以便从媒体容器中提取媒体样本。兼容的媒体转码(Android 12 中的新增功能)支持平台的兼容媒体转码功能。
媒体编解码器模块。 包括可更新的软件 Codec2 组件。
如需详细了解这些模块和组件,请参阅媒体部分。
模块格式
媒体模块 (com.android.media
) 和媒体编解码器模块 (com.android.media.swcodec
) 采用 APEX 格式,适用于运行 Android 10 或更高版本的设备。
自定义
如需详细了解如何添加自定义提取器和解码器,请参阅自定义媒体组件。