Die media3-ui-compose-material3-Bibliothek bietet eine Player-Komponente, die Steuerelemente des Videoplayers, eine Fortschrittsanzeige und aktuelle Medieninhalte anzeigt. Sie übernimmt intern sowohl die Statusverwaltung als auch das Material3-Styling. Weitere Informationen dazu, welche Bibliothek Sie verwenden sollten, finden Sie in der Übersicht zu 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) } }
Material3-Komponenten anpassen
media3-ui-compose-material3 bietet zwar Komponenten, die dem Material 3-Design entsprechen, Sie haben aber trotzdem die volle Kontrolle über das Design. Sie können benutzerdefinierte Farben, Typografie und Formen anpassen, indem Sie die Player-UI in ein MaterialTheme einbinden.
Wenn Sie beispielsweise die Farbe des PlayPauseButton ändern möchten, können Sie einen benutzerdefinierten colorScheme angeben:
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) }
Verfügbare Material 3-Komponenten
Die media3-ui-compose-material3-Bibliothek bietet eine Reihe vordefinierter Composables für gängige Steuerelemente des Videoplayers. Hier sind einige der Komponenten, die Sie direkt in Ihrer App verwenden können:
| Komponente | Beschreibung |
|---|---|
Player |
Ein Player mit Steuerelementen, einer Fortschrittsanzeige, Untertiteln und einem Inhaltsframe für Videos oder Bilder. |
PlayPauseButton |
Eine Schaltfläche, mit der zwischen Wiedergabe und Pause gewechselt werden kann und die den Status für Zwischenspeichern, Wiederholen und Wiederholen anzeigt. |
SeekBackButton |
Eine Schaltfläche, mit der du um einen bestimmten Zeitraum zurückspringen kannst. |
SeekForwardButton |
Eine Schaltfläche, mit der du um einen bestimmten Zeitraum vorspringen kannst. |
NextButton |
Eine Schaltfläche, um zur nächsten Mediendatei zu springen. |
PreviousButton |
Ein Button, um zur vorherigen Mediendatei zu springen. |
RepeatButton |
Eine Schaltfläche, mit der du zwischen den Wiederholungsmodi wechseln kannst. |
ShuffleButton |
Eine Schaltfläche zum Aktivieren oder Deaktivieren des Zufallsmodus. |
MuteButton |
Eine Schaltfläche zum Stummschalten und Aufheben der Stummschaltung des Players. |
LiveButton |
Eine Schaltfläche, die angibt, ob die Wiedergabe eines Livestreams am Live-Edge erfolgt, und die bei Berührung zum Live-Edge springt. |
PositionAndDurationText |
Ein Text-Composable, das die aktuelle Position und die Gesamtdauer anzeigt. |
PositionText |
Ein Text-Composable, das die aktuelle Position anzeigt. |
DurationText |
Ein Text-Composable, das die Gesamtdauer anzeigt. |
RemainingDurationText |
Ein Text-Composable, das die verbleibende Dauer anzeigt. |
ProgressSlider |
Ein Schieberegler, der den Wiedergabefortschritt anzeigt und es dem Nutzer ermöglicht, zu einer bestimmten Stelle zu springen. |
BufferingIndicator |
Eine Fortschrittsanzeige, die während des Zwischenspeicherns des Players angezeigt wird. |
Diese Liste ist nicht vollständig. Alle verfügbaren Komponenten finden Sie in der API-Referenz der Bibliothek.
Zwei weitere vordefinierte Composables, die du wahrscheinlich benötigst, beziehen sich auf die Oberflächenverwaltung und befinden sich im Modul media3-ui-compose, da sie kein Material Theming haben.
| Komponente | Beschreibung |
|---|---|
ContentFrame |
Eine Oberfläche für Medieninhalte, die das Seitenverhältnis, die Größenanpassung, einen Shutter, Artwork und einen Untertitel-Slot verwaltet. |
PlayerSurface |
Rohfläche, die SurfaceView und TextureView in AndroidView umschließt. |