AndroidX Media est une collection de bibliothèques permettant de mettre en œuvre des cas d'utilisation multimédia sur Android, notamment la lecture locale (via ExoPlayer), le montage vidéo (via Transformer) et les sessions multimédias.
Vous trouverez un guide de migration pour les utilisateurs ExoPlayer et MediaSession existants sur Developer.android.com.
Les versions AndroidX Media offrent des garanties de stabilité de l'API, garantissant que la surface de l'API reste rétrocompatible pour les API les plus couramment utilisées. Les API destinées à des cas d'utilisation plus avancés sont marquées comme instables. Pour utiliser une méthode ou une classe instable sans avertissements de charpie, vous devrez ajouter l'annotation OptIn avant de l'utiliser. Pour plus d'informations, consultez la documentation UnstableApi.
Vous pouvez obtenir les bibliothèques à partir du référentiel Google Maven. Il est également possible de cloner ce dépôt GitHub et de dépendre des modules localement.
Le moyen le plus simple de commencer à utiliser AndroidX Media consiste à ajouter des dépendances Gradle sur les bibliothèques dont vous avez besoin dans le fichier build.gradle.kts
de votre module d'application.
Par exemple, pour dépendre d'ExoPlayer avec la prise en charge de la lecture DASH et des composants d'interface utilisateur, vous pouvez ajouter des dépendances sur les modules comme ceci :
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 " )
Ou dans 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 '
où 1.XX
est votre version préférée. Tous les modules doivent être de la même version.
Veuillez consulter la page AndroidX Media3 Developer.android.com pour plus d'informations, y compris une liste complète des modules de bibliothèque.
Ce référentiel comprend certains modules qui dépendent de bibliothèques externes qui doivent être construites manuellement et qui ne sont pas disponibles dans le référentiel Maven. Veuillez consulter les README individuels sous le répertoire des bibliothèques pour plus de détails.
Si ce n'est pas déjà activé, vous devez également activer la prise en charge de Java 8 dans tous les fichiers build.gradle.kts
en fonction d'AndroidX Media, en ajoutant ce qui suit à la section android
:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
Ou dans Gradle Groovy DSL build.gradle
:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
Si votre Gradle minSdkVersion
est inférieure ou égale à 20, vous devez activer le multidex afin d'éviter les erreurs de construction.
Le clonage du référentiel et la dépendance des modules localement sont nécessaires lors de l'utilisation de certaines bibliothèques. C'est également une approche appropriée si vous souhaitez apporter des modifications locales ou si vous souhaitez utiliser la branche main
.
Tout d'abord, clonez le référentiel dans un répertoire local :
git clone https://github.com/androidx/media.git
Ensuite, ajoutez ce qui suit au fichier settings.gradle.kts
de votre projet, en remplaçant path/to/media
par le chemin d'accès à votre copie locale :
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
Ou dans Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
Vous devriez maintenant voir les modules AndroidX Media apparaître dans le cadre de votre projet. Vous pouvez compter sur eux depuis build.gradle.kts
comme vous le feriez sur n'importe quel autre module local, par exemple :
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
Ou dans Gradle Groovy DSL build.gradle
:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
Par défaut, le module MIDI est désactivé en tant que dépendance locale, car il nécessite une configuration supplémentaire du référentiel Maven. Si vous souhaitez l'utiliser comme dépendance locale, veuillez configurer le référentiel JitPack comme décrit dans le module README, puis activer la construction du module dans votre fichier settings.gradle.kts
:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
Ou dans Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaEnableMidiModule = true
Le travail de développement se déroule sur la branche main
. Les demandes de tirage doivent normalement être adressées à cette branche.
La branche release
contient la version stable la plus récente.
Pour développer AndroidX Media à l'aide d'Android Studio, ouvrez simplement le projet dans le répertoire racine de ce référentiel.