AndroidX Media — это набор библиотек для реализации сценариев использования мультимедиа на Android, включая локальное воспроизведение (через ExoPlayer), редактирование видео (через Transformer) и медиасеансы.
Руководство по миграции для существующих пользователей ExoPlayer и MediaSession можно найти на сайте Developer.android.com.
Выпуски AndroidX Media предоставляют гарантии стабильности API, гарантируя, что поверхность API остается обратной совместимостью для наиболее часто используемых API. API, предназначенные для более сложных случаев использования, помечаются как нестабильные. Чтобы использовать нестабильный метод или класс без предупреждений о некорректности, вам необходимо добавить аннотацию OptIn перед его использованием. Дополнительную информацию см. в документации UnstableApi.
Вы можете получить библиотеки из репозитория Google Maven. Также можно клонировать этот репозиторий GitHub и использовать модули локально.
Самый простой способ начать использовать AndroidX Media — добавить зависимости Gradle от нужных вам библиотек в файл build.gradle.kts
вашего модуля приложения.
Например, чтобы зависеть от ExoPlayer с поддержкой воспроизведения DASH и компонентами пользовательского интерфейса, вы можете добавить зависимости к модулям следующим образом:
implementation( " androidx.media3:media3-exoplayer:1.X.X " )
implementation( " androidx.media3:media3-exoplayer-dash:1.X.X " )
implementation( " androidx.media3:media3-ui:1.X.X " )
Или в Gradle Groovy DSL build.gradle
:
implementation ' androidx.media3:media3-exoplayer:1.X.X '
implementation ' androidx.media3:media3-exoplayer-dash:1.X.X '
implementation ' androidx.media3:media3-ui:1.X.X '
где 1.XX
— ваша предпочтительная версия. Все модули должны быть одной версии.
Дополнительную информацию, включая полный список библиотечных модулей, можно найти на странице AndroidX Media3 Developer.android.com.
Этот репозиторий включает в себя некоторые модули, которые зависят от внешних библиотек, которые необходимо собирать вручную и которые недоступны в репозитории Maven. Дополнительную информацию см. в отдельных файлах README в каталоге библиотек.
Если это еще не включено, вам также необходимо включить поддержку Java 8 во всех файлах build.gradle.kts
в зависимости от AndroidX Media, добавив следующее в раздел android
:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
Или в Gradle Groovy DSL build.gradle
:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
Если ваша версия Gradle minSdkVersion
равна 20 или ниже, вам следует включить multidex, чтобы предотвратить ошибки сборки.
Клонирование репозитория и зависимость от модулей локально требуется при использовании некоторых библиотек. Это также подходящий подход, если вы хотите внести локальные изменения или использовать main
ветку.
Сначала клонируйте репозиторий в локальный каталог:
git clone https://github.com/androidx/media.git
Затем добавьте следующее в файл settings.gradle.kts
вашего проекта, заменив path/to/media
на путь к вашей локальной копии:
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
Или в Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
Теперь вы должны увидеть, что модули AndroidX Media появляются как часть вашего проекта. Вы можете зависеть от них из build.gradle.kts
как и от любого другого локального модуля, например:
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
Или в Gradle Groovy DSL build.gradle
:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
По умолчанию модуль MIDI отключен как локальная зависимость, поскольку для него требуется дополнительная конфигурация репозитория Maven. Если вы хотите использовать его в качестве локальной зависимости, настройте репозиторий JitPack, как описано в README модуля, а затем включите сборку модуля в файле settings.gradle.kts
:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
Или в Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaEnableMidiModule = true
Разработка ведется в main
ветке. Запросы на включение обычно следует отправлять в эту ветку.
Ветка release
содержит самую последнюю стабильную версию.
Чтобы разработать AndroidX Media с помощью Android Studio, просто откройте проект в корневом каталоге этого репозитория.