Material3 Compose

Die Bibliothek media3-ui-compose-material3 übernimmt sowohl die Statusverwaltung als auch das Material3-Styling intern. Weitere Informationen dazu, welche Bibliothek verwendet werden sollte, finden Sie in der Media3 Compose-Übersicht.

// 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 Benutzeroberfläche des Players 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 vordefinierter Composables für gängige Player-Steuerelemente. Hier sind einige Komponenten, die Sie direkt in Ihrer App verwenden können:

Komponente Beschreibung
PlayPauseButton Eine Schaltfläche, mit der zwischen Wiedergabe und Pause umgeschaltet wird.
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 Medienelement.
RepeatButton Eine Schaltfläche zum Durchlaufen der Wiederholungsmodi.
ShuffleButton Eine Schaltfläche zum Aktivieren und Deaktivieren des Zufallsmodus.
MuteButton Eine Schaltfläche 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 Ein Text-Composable, das die Gesamtdauer anzeigt.
RemainingDurationText Eine Text-Composable, die die verbleibende Dauer anzeigt.
ProgressSlider Ein Schieberegler, der den Wiedergabefortschritt anzeigt und mit dem der Nutzer vor- und 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