Material3 Compose

Die Bibliothek media3-ui-compose-material3 übernimmt intern sowohl die Statusverwaltung als auch das Material3-Styling. 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)
}

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 Eine Text-Composable, die die Gesamtdauer anzeigt.
RemainingDurationText Ein Text-Composable, das die verbleibende Dauer anzeigt.

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 media3-ui-compose-Modul, da sie kein Material-Theming haben.

Komponente Beschreibung
ContentFrame Eine Oberfläche zur Darstellung von Medieninhalten, die das Seitenverhältnis, die Größenanpassung und einen Verschluss berücksichtigt
PlayerSurface Rohoberfläche, die SurfaceView und TextureView in AndroidView umschließt