AndroidX Media es una colección de bibliotecas para implementar casos de uso de medios en Android, incluida la reproducción local (a través de ExoPlayer), edición de video (a través de Transformer) y sesiones multimedia.
Encontrará una guía de migración para los usuarios existentes de ExoPlayer y MediaSession en desarrollador.android.com.
Las versiones de AndroidX Media brindan garantías de estabilidad de API, lo que garantiza que la superficie de API siga siendo compatible con versiones anteriores de las API más utilizadas. Las API destinadas a casos de uso más avanzados están marcadas como inestables. Para usar un método o clase inestable sin advertencias de pelusa, deberá agregar la anotación OptIn antes de usarlo. Para obtener más información, consulte la documentación de UnstableApi.
Puede obtener las bibliotecas desde el repositorio de Google Maven. También es posible clonar este repositorio de GitHub y depender de los módulos localmente.
La forma más sencilla de comenzar a usar AndroidX Media es agregar dependencias de Gradle en las bibliotecas que necesita en el archivo build.gradle.kts
del módulo de su aplicación.
Por ejemplo, para depender de ExoPlayer con soporte de reproducción DASH y componentes de UI, puede agregar dependencias en los módulos como este:
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 " )
O en 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 '
donde 1.XX
es su versión preferida. Todos los módulos deben ser de la misma versión.
Consulte la página AndroidX Media3 desarrollador.android.com para obtener más información, incluida una lista completa de módulos de biblioteca.
Este repositorio incluye algunos módulos que dependen de bibliotecas externas que deben crearse manualmente y no están disponibles en el repositorio de Maven. Consulte los archivos README individuales en el directorio de bibliotecas para obtener más detalles.
Si aún no está habilitado, también debe activar la compatibilidad con Java 8 en todos los archivos build.gradle.kts
según AndroidX Media, agregando lo siguiente a la sección de android
:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
O en Gradle Groovy DSL build.gradle
:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
Si su Gradle minSdkVersion
es 20 o inferior, debe habilitar multidex para evitar errores de compilación.
Es necesario clonar el repositorio y depender de los módulos localmente cuando se utilizan algunas bibliotecas. También es un enfoque adecuado si desea realizar cambios locales o si desea utilizar la rama main
.
Primero, clona el repositorio en un directorio local:
git clone https://github.com/androidx/media.git
A continuación, agregue lo siguiente al archivo settings.gradle.kts
de su proyecto, reemplazando path/to/media
con la ruta a su copia local:
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
O en settings.gradle
Gradle Groovy DSL.gradle:
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
Ahora deberías ver aparecer los módulos AndroidX Media como parte de tu proyecto. Puedes depender de ellos desde build.gradle.kts
como lo harías con cualquier otro módulo local, por ejemplo:
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
O en Gradle Groovy DSL build.gradle
:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
De forma predeterminada, el módulo MIDI está deshabilitado como dependencia local, porque requiere una configuración adicional del repositorio de Maven. Si desea usarlo como una dependencia local, configure el repositorio JitPack como se describe en el módulo README y luego habilite la creación del módulo en su archivo settings.gradle.kts
:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
O en settings.gradle
Gradle Groovy DSL.gradle:
gradle . ext . androidxMediaEnableMidiModule = true
El trabajo de desarrollo ocurre en la rama main
. Normalmente las solicitudes de extracción deben realizarse a esta sucursal.
La rama release
contiene la versión estable más reciente.
Para desarrollar AndroidX Media usando Android Studio, simplemente abra el proyecto en el directorio raíz de este repositorio.