Menambahkan dependensi
Library Media3 mencakup dua modul UI berbasis Jetpack Compose. Anda tidak perlu menambahkan keduanya karena Material3 bergantung pada core.
Kotlin
// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.9.0")
implementation("androidx.media3:media3-ui-compose-material3:1.9.0")
Groovy
// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.9.0"
implementation "androidx.media3:media3-ui-compose-material3:1.9.0"
Kami sangat menganjurkan Anda untuk mengembangkan aplikasi dengan pendekatan Compose-first atau bermigrasi 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 membungkus PlayerView di AndroidView. Aplikasi demo
menggunakan class pemegang status UI dari modul media3-ui-compose dan memanfaatkan
library Compose Material3.
Library mana yang saya butuhkan?
Bergantung pada tingkat penyesuaian yang Anda perlukan, Anda dapat memilih di 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 pemegang status (misalnya, PlayPauseButtonState) yang mengonversi status Player
menjadi status UI.
Library ini tidak menyediakan komponen Desain Material yang siap digunakan. Anda bertanggung jawab untuk membuat komponen UI Anda sendiri dan menata gayanya. Hal ini memberi Anda kontrol maksimal 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 akhir pipeline. Library ini bergantung pada
media3-ui-compose dan menyertakan fungsi Composable bawaan yang diberi gaya
dengan komponen Material3. Dengan demikian, Anda tidak perlu membuat tombol dan elemen UI lainnya dari awal. Anda masih dapat menyesuaikan tema, warna, dan ikon komponen ini, tetapi penerapan intinya disediakan untuk Anda.
Sekilas
| Fitur | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| Komponen UI | Elemen dasar seperti PlayerSurface dan ContentFrame, tetapi tidak ada tombol atau kontrol yang telah diberi gaya. |
Menyediakan set lengkap Composables bergaya Material3 yang dibuat sebelumnya seperti PlayPauseButton, SeekBackButton, PositionAndDurationText, dll. |
| Pengelolaan Status | Menyediakan pemegang remember...State untuk mengelola logika. |
Mengelola status secara internal, tetapi Anda tetap dapat mengakses holder status jika perlu. |
| Dependensi | androidx.compose.foundation |
media3-ui-compose, androidx.compose.material3, com.google.android.material |
| Kasus Penggunaan Utama | Membangun UI pemutar dengan sistem desain kustom. Kontrol penuh atas tampilan dan nuansa. | Membangun UI pemutar dengan cepat yang mengikuti panduan Desain Material 3. |