Menambahkan dependensi
Library Media3 menyertakan dua modul UI berbasis Jetpack Compose. Anda tidak perlu menambahkan keduanya karena Material3 bergantung pada yang inti.
Kotlin
// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.10.0")
implementation("androidx.media3:media3-ui-compose-material3:1.10.0")
Groovy
// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.10.0"
implementation "androidx.media3:media3-ui-compose-material3:1.10.0"
Sebaiknya kembangkan aplikasi Anda dengan gaya Compose-first atau migrasikan dari penggunaan View.
Aplikasi demo Compose sepenuhnya
Meskipun library media3-ui-compose tidak menyertakan Composable siap pakai (seperti tombol, indikator, gambar, atau dialog), Anda dapat menemukan aplikasi demo yang ditulis sepenuhnya di Compose yang menghindari solusi interoperabilitas seperti menggabungkan PlayerView di AndroidView. Aplikasi demo
menggunakan class holder status UI dari modul media3-ui-compose dan menggunakan
library Compose Material3.
Library mana yang saya butuhkan?
Bergantung pada tingkat penyesuaian yang Anda perlukan, Anda dapat memilih antara dua library Media3 Compose. Untuk memahami perbedaannya, sebaiknya pikirkan
pipeline produksi status UI: Business logic → UI logic → UI.
Gunakan media3-ui-compose untuk kontrol penuh atas komponen UI Anda.
Library ini menyediakan koneksi Business logic → UI logic. Library ini berisi
komponen dasar seperti PlayerSurface dan ContentFrame, beserta
class holder status (misalnya, PlayPauseButtonState) yang mengonversi Player
status menjadi status UI.
Library ini tidak menyediakan komponen Desain Material siap pakai. Anda bertanggung jawab untuk membuat komponen UI Anda sendiri dan menatanya. Library ini memberi Anda kontrol maksimum atas tampilan dan nuansa, sehingga ideal jika Anda memiliki sistem desain yang sangat kustom.
Gunakan media3-ui-compose-material3 untuk integrasi yang lebih cepat dengan Desain
Material.
Library ini menyediakan bagian UI terakhir dari pipeline. Library ini bergantung pada
media3-ui-compose dan menyertakan fungsi Composable bawaan yang ditata
dengan komponen Material3, termasuk Composable Player, yang
menawarkan pengalaman pemutaran media yang komprehensif dengan video, kontrol, dan
progres bar. Dengan demikian, Anda tidak perlu membuat tombol dan elemen UI lainnya dari awal. Anda masih dapat menyesuaikan tema, warna, dan ikon komponen ini, tetapi implementasi inti disediakan untuk Anda.
Selayang pandang
| Fitur | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| Komponen UI | Elemen dasar seperti PlayerSurface dan ContentFrame, tetapi tidak ada tombol atau kontrol yang telah ditata. |
Menyediakan Composable Player dan kumpulan lengkap Composable bawaan yang ditata dengan Material3 seperti PlayPauseButton, SeekBackButton, PositionAndDurationText, dll. |
| Pengelolaan Status | Menyediakan holder remember...State untuk mengelola logika. |
Mengelola status secara internal, tetapi Anda masih dapat mengakses holder status jika diperlukan. |
| Dependensi | androidx.compose.foundation |
media3-ui-compose, androidx.compose.material3, com.google.android.material |
| Kasus Penggunaan Utama | Membuat UI pemutar dengan sistem desain kustom. Kontrol penuh atas tampilan dan nuansa. | Membuat UI pemutar dengan cepat yang mengikuti panduan Desain Material 3. |