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. |