AndroidX Media ist eine Sammlung von Bibliotheken zur Implementierung von Medienanwendungsfällen auf Android, einschließlich lokaler Wiedergabe (über ExoPlayer), Videobearbeitung (über Transformer) und Mediensitzungen.
Eine Migrationsanleitung für bestehende ExoPlayer- und MediaSession-Benutzer finden Sie auf Developer.android.com.
AndroidX Media-Releases bieten API-Stabilitätsgarantien und stellen sicher, dass die API-Oberfläche für die am häufigsten verwendeten APIs abwärtskompatibel bleibt. APIs, die für fortgeschrittenere Anwendungsfälle gedacht sind, werden als instabil markiert. Um eine instabile Methode oder Klasse ohne Flusenwarnungen zu verwenden, müssen Sie vor der Verwendung die OptIn-Annotation hinzufügen. Weitere Informationen finden Sie in der UnstableApi-Dokumentation.
Sie können die Bibliotheken aus dem Google Maven-Repository beziehen. Es ist auch möglich, dieses GitHub-Repository zu klonen und lokal von den Modulen abhängig zu machen.
Der einfachste Weg, mit der Verwendung von AndroidX Media zu beginnen, besteht darin, Gradle-Abhängigkeiten zu den benötigten Bibliotheken in der Datei build.gradle.kts
Ihres App-Moduls hinzuzufügen.
Um beispielsweise auf ExoPlayer mit DASH-Wiedergabeunterstützung und UI-Komponenten angewiesen zu sein, können Sie Abhängigkeiten zu den Modulen wie folgt hinzufügen:
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 " )
Oder in 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 '
Dabei ist 1.XX
Ihre bevorzugte Version. Alle Module müssen die gleiche Version haben.
Weitere Informationen, einschließlich einer vollständigen Liste der Bibliotheksmodule, finden Sie auf der Seite AndroidX Media3 Developer.android.com.
Dieses Repository enthält einige Module, die von externen Bibliotheken abhängen, die manuell erstellt werden müssen und nicht im Maven-Repository verfügbar sind. Weitere Informationen finden Sie in den einzelnen READMEs im Bibliotheksverzeichnis.
Falls noch nicht aktiviert, müssen Sie abhängig von AndroidX Media auch die Java 8-Unterstützung in allen build.gradle.kts
-Dateien aktivieren, indem Sie Folgendes zum Abschnitt android
hinzufügen:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
Oder in Gradle Groovy DSL build.gradle
:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
Wenn Ihre Gradle minSdkVersion
20 oder niedriger ist, sollten Sie Multidex aktivieren, um Buildfehler zu verhindern.
Bei der Verwendung einiger Bibliotheken ist das Klonen des Repositorys und abhängig von den Modulen lokal erforderlich. Es ist auch ein geeigneter Ansatz, wenn Sie lokale Änderungen vornehmen oder den main
verwenden möchten.
Klonen Sie zunächst das Repository in ein lokales Verzeichnis:
git clone https://github.com/androidx/media.git
Fügen Sie als Nächstes Folgendes zur Datei settings.gradle.kts
Ihres Projekts hinzu und ersetzen Sie path/to/media
durch den Pfad zu Ihrer lokalen Kopie:
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
Oder in Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
Sie sollten nun sehen, dass die AndroidX Media-Module als Teil Ihres Projekts angezeigt werden. Sie können sich von build.gradle.kts
darauf verlassen, wie Sie es von jedem anderen lokalen Modul gewohnt wären, zum Beispiel:
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
Oder in Gradle Groovy DSL build.gradle
:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
Standardmäßig ist das MIDI-Modul als lokale Abhängigkeit deaktiviert, da es eine zusätzliche Maven-Repository-Konfiguration erfordert. Wenn Sie es als lokale Abhängigkeit verwenden möchten, konfigurieren Sie bitte das JitPack-Repository wie in der Modul-README-Datei beschrieben und aktivieren Sie dann die Erstellung des Moduls in Ihrer Datei settings.gradle.kts
:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
Oder in Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaEnableMidiModule = true
Die Entwicklungsarbeit findet im main
statt. Pull-Anfragen sollten normalerweise an diesen Zweig gestellt werden.
Der release
Zweig enthält die neueste stabile Version.
Um AndroidX Media mit Android Studio zu entwickeln, öffnen Sie einfach das Projekt im Stammverzeichnis dieses Repositorys.