AndroidX Media adalah kumpulan perpustakaan untuk mengimplementasikan kasus penggunaan media di Android, termasuk pemutaran lokal (melalui ExoPlayer), pengeditan video (melalui Transformer) dan sesi media.
Anda akan menemukan panduan migrasi untuk pengguna ExoPlayer dan MediaSession yang ada di developer.android.com.
Rilis AndroidX Media memberikan jaminan stabilitas API, memastikan bahwa permukaan API tetap kompatibel untuk API yang paling umum digunakan. API yang ditujukan untuk kasus penggunaan tingkat lanjut ditandai sebagai tidak stabil. Untuk menggunakan metode atau kelas yang tidak stabil tanpa peringatan lint, Anda harus menambahkan anotasi OptIn sebelum menggunakannya. Untuk informasi lebih lanjut lihat dokumentasi UnstableApi.
Anda bisa mendapatkan perpustakaan dari repositori Google Maven. Anda juga dapat mengkloning repositori GitHub ini dan bergantung pada modul secara lokal.
Cara termudah untuk mulai menggunakan AndroidX Media adalah dengan menambahkan dependensi gradle pada pustaka yang Anda perlukan di file build.gradle.kts
modul aplikasi Anda.
Misalnya, untuk bergantung pada ExoPlayer dengan dukungan pemutaran DASH dan komponen UI, Anda dapat menambahkan dependensi pada modul seperti ini:
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 " )
Atau di 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 '
di mana 1.XX
adalah versi pilihan Anda. Semua modul harus versi yang sama.
Silakan lihat halaman AndroidX Media3 developer.android.com untuk informasi lebih lanjut, termasuk daftar lengkap modul perpustakaan.
Repositori ini mencakup beberapa modul yang bergantung pada perpustakaan eksternal yang perlu dibangun secara manual, dan tidak tersedia dari repositori Maven. Silakan lihat README individual di bawah direktori perpustakaan untuk lebih jelasnya.
Jika belum diaktifkan, Anda juga perlu mengaktifkan dukungan Java 8 di semua file build.gradle.kts
bergantung pada AndroidX Media, dengan menambahkan yang berikut ke bagian android
:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
Atau di Gradle Groovy DSL build.gradle
:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
Jika Gradle minSdkVersion
Anda adalah 20 atau lebih rendah, Anda harus mengaktifkan multidex untuk mencegah kesalahan build.
Mengkloning repositori dan bergantung pada modul secara lokal diperlukan saat menggunakan beberapa perpustakaan. Ini juga merupakan pendekatan yang cocok jika Anda ingin membuat perubahan lokal, atau jika Anda ingin menggunakan cabang main
.
Pertama, kloning repositori ke direktori lokal:
git clone https://github.com/androidx/media.git
Selanjutnya, tambahkan kode berikut ke file settings.gradle.kts
proyek Anda, ganti path/to/media
dengan jalur ke salinan lokal Anda:
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
Atau di settings.gradle
Gradle Groovy DSL.gradle :
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
Anda sekarang akan melihat modul AndroidX Media muncul sebagai bagian dari proyek Anda. Anda dapat bergantung padanya dari build.gradle.kts
seperti yang Anda lakukan pada modul lokal lainnya, misalnya:
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
Atau di Gradle Groovy DSL build.gradle
:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
Secara default modul MIDI dinonaktifkan sebagai ketergantungan lokal, karena memerlukan konfigurasi repositori Maven tambahan. Jika Anda ingin menggunakannya sebagai dependensi lokal, konfigurasikan repositori JitPack seperti yang dijelaskan dalam modul README, lalu aktifkan pembuatan modul di file settings.gradle.kts
Anda:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
Atau di settings.gradle
DSL Gradle Groovy.gradle :
gradle . ext . androidxMediaEnableMidiModule = true
Pekerjaan pengembangan terjadi di cabang main
. Permintaan penarikan biasanya harus dilakukan ke cabang ini.
Cabang release
menyimpan rilis stabil terbaru.
Untuk mengembangkan AndroidX Media menggunakan Android Studio, cukup buka proyek di direktori root repositori ini.