Медиа-модули обрабатывают типы мультимедиа и кодеки, взаимодействуют с ExoPlayer, предоставляют платформе средства управления транспортом и информацию о воспроизведении, оптимизируют индексированные метаданные и другие функции, связанные с мультимедиа. Модули могут обновляться, то есть они могут получать обновления функциональности за пределами обычного цикла выпуска Android.
Медиа-компоненты часто становятся объектом атак (многие недавние ошибки безопасности связаны с мультимедиа), поэтому ужесточение безопасности за счет ускорения обновлений для ошибок и функций безопасности должно уменьшить количество ошибок безопасности, которые могут быть использованы атаками. Медиа-фреймворк остается расширяемым; партнеры могут продолжать расширять медиакодеки и экстракторы медиаформатов.
Обновляемые мультимедийные компоненты
Обновляемые мультимедийные компоненты существуют в следующих модулях.
Медиа модуль. Включает следующие мультимедийные компоненты.
Экстракторы носителей работают с различными типами носителей. Каждый экстрактор представляет собой отдельный файл
.so
с функцией анализатора , определяющей, может ли экстрактор обрабатывать данный медиафайл, и фабричной функцией, которая создает экземпляр экстрактора для этого медиафайла.API-интерфейсы
MediaSession2
позволяют мультимедийным приложениям предоставлять свои элементы управления транспортом и информацию о воспроизведении другим процессам, таким как платформа Android и другие приложения.API-интерфейсы
MediaParser
(новое в Android 11) позволяют ExoPlayer эффективно использовать синтаксические анализаторы медиаконтейнеров фреймворка для извлечения образцов мультимедиа из медиаконтейнеров.Совместимое транскодирование мультимедиа (новое в Android 12) включает функцию транскодирования мультимедиа, совместимую с платформой.
Модуль медиакодеков. Включает в себя обновляемые программные компоненты Codec2.
Модуль МедиаПровайдера. Оптимизирует проиндексированные метаданные (аудио, видео и изображения с SD-карт и USB-устройств) и делает эти данные доступными для приложений через общедоступные API-интерфейсы MediaStore .
Подробнее об этих модулях и компонентах см. в разделе « Медиа ».
Формат модуля
Модуль мультимедиа ( com.android.media
) и модуль кодека мультимедиа ( com.android.media.swcodec
) имеют формат APEX и доступны для устройств под управлением Android 10 или выше. Модуль MediaProvider ( com.google.android.mediaprovider
) имеет формат APK-in-APEX и доступен для устройств под управлением Android 11 или выше.
Настройка
Подробнее о добавлении пользовательских экстракторов и декодеров см. в разделе Настройка компонентов мультимедиа . Дополнительные сведения о добавлении новых форматов мультимедиа, влиянии на индексацию устройств хранения и замене стека MTP см. в разделе MediaProvider .