Material3 Compose

Die Bibliothek media3-ui-compose-material3 übernimmt intern sowohl die Zustandsverwaltung als auch das Material3-Styling. Weitere Informationen dazu, welche Bibliothek verwendet werden sollte, 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 Material3-Design folgen, Sie haben aber weiterhin die volle Kontrolle über das Theming. Sie können Farben, Typografie und Formen anpassen, indem Sie die Player-Benutzeroberfläche in ein MaterialTheme einfügen.

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 Material3-Komponenten

Die media3-ui-compose-material3-Bibliothek bietet eine Reihe von vorgefertigten Composables für gängige Player-Steuerelemente. Hier sind einige Komponenten, die Sie direkt in Ihrer App verwenden können:

Komponente Beschreibung
PlayPauseButton Ein Button zum Wechseln zwischen Wiedergabe und Pause.
SeekBackButton Eine Schaltfläche zum Zurückspulen um ein definiertes Intervall.
SeekForwardButton Eine Schaltfläche zum Vorspulen um einen bestimmten Wert.
NextButton Eine Schaltfläche zum Springen zum nächsten Media-Element.
PreviousButton Eine Schaltfläche zum Springen zum vorherigen Media-Element.
RepeatButton Eine Schaltfläche zum Durchlaufen der Wiederholungsmodi.
ShuffleButton Eine Schaltfläche zum Aktivieren und Deaktivieren des Zufallsmodus.
MuteButton Ein Button zum Stummschalten und Aufheben der Stummschaltung des Players.
PositionAndDurationText Eine Text-Composable, die die aktuelle Position und die Gesamtdauer anzeigt.
PositionText Eine Text-Composable, die die aktuelle Position anzeigt.
DurationText Eine Text-Composable, die die Gesamtdauer anzeigt.
RemainingDurationText Ein Text-Composable, das die verbleibende Dauer anzeigt.
ProgressSlider Ein Schieberegler, der den Wiedergabefortschritt anzeigt und mit dem der Nutzer die Wiedergabe vor- oder zurückspulen kann.

Diese Liste ist nicht vollständig. Alle verfügbaren Komponenten finden Sie in der API-Referenz der Bibliothek.

Zwei weitere vorgefertigte Composables, die Sie wahrscheinlich benötigen, 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 zur Darstellung von Medieninhalten, die sich um die Verwaltung des Seitenverhältnisses, die Größenanpassung und einen Verschluss kümmert
PlayerSurface Rohoberfläche, die SurfaceView und TextureView in AndroidView umschließt