Compose Material3

Library media3-ui-compose-material3 menyediakan Composable Player yang menampilkan kontrol pemutar, status progres, dan konten media saat ini. Fungsi ini menangani pengelolaan status dan gaya visual Material3 secara internal. Untuk mengetahui informasi selengkapnya tentang library yang akan digunakan, lihat Ringkasan Media3 Compose.

// The library provides styled UI components
Row {
  SeekBackButton(player)
  PlayPauseButton(player)
  SeekForwardButton(player)
}

// You can rearrange the composables into a layout that suits your needs
@Composable
fun PlayerProgressControlsLeftAligned(player: Player) {
  Row {
    PositionAndDurationText(player)
    ProgressSlider(player)
  }
}

@Composable
fun PlayerProgressControlsCenterAligned(player: Player) {
  Row {
    PositionText(player)
    ProgressSlider(player)
    DurationText(player)
  }
}

Menyesuaikan Komponen Material3

Meskipun media3-ui-compose-material3 menyediakan komponen yang mengikuti Desain Material3, Anda tetap memiliki kontrol penuh atas tema. Anda dapat menyesuaikan warna, tipografi, dan bentuk dengan menggabungkan UI pemutar dalam MaterialTheme.

Misalnya, untuk mengubah warna PlayPauseButton, Anda dapat memberikan colorScheme kustom:

MaterialTheme(
  colorScheme =
    lightColorScheme(
      primary = Color.Red, // Change the primary color for the button
      onPrimary = Color.White,
    )
) {
  // The PlayPauseButton will now use the custom colors
  PlayPauseButton(player)
}

Komponen Material3 yang Tersedia

Library media3-ui-compose-material3 menyediakan serangkaian composable bawaan untuk kontrol pemutar umum. Berikut adalah beberapa komponen yang dapat Anda gunakan langsung di aplikasi:

Komponen Deskripsi
Player Pemutar dengan kontrol, status progres, subtitel, dan frame konten untuk video atau poster.
PlayPauseButton Tombol yang beralih antara putar dan jeda, serta menampilkan status buffering, replay, dan coba lagi.
SeekBackButton Tombol untuk memundurkan video dengan interval yang ditentukan.
SeekForwardButton Tombol untuk memajukan video dengan penambahan yang ditentukan.
NextButton Tombol untuk mencari item media berikutnya.
PreviousButton Tombol untuk mencari item media sebelumnya.
RepeatButton Tombol untuk beralih di antara mode pengulangan.
ShuffleButton Tombol untuk mengaktifkan/menonaktifkan mode acak.
MuteButton Tombol untuk membisukan dan membunyikan audio pemutar.
LiveButton Tombol yang menunjukkan apakah pemutaran livestream berada di posisi live, dan mencari posisi live saat diketuk.
PositionAndDurationText Composable teks yang menampilkan posisi saat ini dan total durasi.
PositionText Composable teks yang menampilkan posisi saat ini.
DurationText Composable teks yang menampilkan total durasi.
RemainingDurationText Composable teks yang menampilkan durasi yang tersisa.
ProgressSlider Penggeser yang menampilkan progres pemutaran dan memungkinkan pengguna melakukan pencarian.
BufferingIndicator Indikator progres yang ditampilkan saat pemutar melakukan buffering.

Ini bukan daftar lengkap. Lihat referensi API library untuk semua komponen yang tersedia.

Dua Composable bawaan lainnya yang mungkin Anda perlukan terkait dengan pengelolaan platform dan berada dalam modul media3-ui-compose karena tidak memiliki Penerapan Tema Material.

Komponen Deskripsi
ContentFrame Platform untuk konten media yang menangani pengelolaan rasio aspek, pengubahan ukuran, shutter, poster, dan slot subtitel.
PlayerSurface Permukaan mentah yang menggabungkan SurfaceView dan TextureView di AndroidView.