Material3 Compose

media3-ui-compose-material3 kitaplığı, oynatıcı kontrollerini, ilerleme çubuğunu ve mevcut medya içeriğini gösteren bir Player Composable sağlar. Hem durum yönetimini hem de Material3 stilini dahili olarak işler. Hangi kitaplığı kullanacağınız hakkında daha fazla bilgi için Media3 Compose'a genel bakış başlıklı makaleyi inceleyin.

// 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)
  }
}

Material3 bileşenlerini özelleştirme

media3-ui-compose-material3, Material3 tasarımına uygun bileşenler sunsa da tema üzerinde tam kontrole sahip olursunuz. Oynatıcı kullanıcı arayüzünüzü bir MaterialTheme ile sarmalayarak özel renkleri, tipografiyi ve şekilleri özelleştirebilirsiniz.

Örneğin, PlayPauseButton rengini değiştirmek için özel bir colorScheme sağlayabilirsiniz:

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)
}

Kullanılabilir Material3 Bileşenleri

media3-ui-compose-material3 kitaplığı, yaygın oynatıcı kontrolleri için önceden oluşturulmuş bir dizi composable sağlar. Doğrudan uygulamanızda kullanabileceğiniz bileşenlerden bazıları şunlardır:

Bileşen Açıklama
Player Kontroller, ilerleme çubuğu, altyazılar ve video ya da albüm kapağı için içerik çerçevesi içeren bir oynatıcı.
PlayPauseButton Oynatma ve duraklatma arasında geçiş yapan ve arabelleğe alma, tekrar oynatma ve yeniden deneme durumlarını gösteren bir düğme.
SeekBackButton Belirli bir artışla geri sarmak için kullanılan düğme.
SeekForwardButton Belirli bir artışla ileri sarmak için kullanılan düğme.
NextButton Sonraki medya öğesine geçmek için kullanılan düğme.
PreviousButton Önceki medya öğesine gitmek için kullanılan düğme.
RepeatButton Tekrar modları arasında geçiş yapmayı sağlayan düğme.
ShuffleButton Karışık modunu açıp kapatmak için kullanılan düğme.
MuteButton Oynatıcının sesini kapatıp açma düğmesi.
LiveButton Canlı yayının oynatılma durumunun canlı yayının en son anında olup olmadığını gösteren ve dokunulduğunda canlı yayının en son anına giden düğme.
PositionAndDurationText Mevcut konumu ve toplam süreyi gösteren bir metin bileşeni.
PositionText Mevcut konumu gösteren bir metin bileşeni.
DurationText Toplam süreyi gösteren bir metin bileşeni.
RemainingDurationText Kalan süreyi gösteren bir metin bileşeni.
ProgressSlider Oynatma ilerleme durumunu gösteren ve kullanıcının ileri/geri sarmasına olanak tanıyan bir kaydırma çubuğu.
BufferingIndicator Oynatıcıda video önbelleğe alınırken gösterilen ilerleme göstergesi.

Bu liste tam kapsamlı değildir. Mevcut tüm bileşenler için kitaplığın API referansına bakın.

İhtiyaç duyabileceğiniz diğer iki önceden oluşturulmuş composable, yüzey yönetimiyle ilgilidir ve Materyal Teması Oluşturma içermediği için media3-ui-compose modülünde bulunur.

Bileşen Açıklama
ContentFrame En boy oranı yönetimi, yeniden boyutlandırma, deklanşör, poster ve altyazı alanını işleyen medya içeriği yüzeyi.
PlayerSurface AndroidView içinde SurfaceView ve TextureView'i sarmalayan ham yüzey.