Material3 Compose

Die Bibliothek media3-ui-compose-material3 bietet eine Player zusammensetzbare Funktion, die Player-Steuerelemente, eine Fortschrittsanzeige und aktuelle Medieninhalte anzeigt. Sie verwaltet sowohl den Status als auch das Material3-Styling intern. Weitere Informationen zur Verwendung der Bibliothek 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

Die Bibliothek media3-ui-compose-material3 bietet Komponenten, die dem Material3-Design folgen. Sie haben jedoch weiterhin die volle Kontrolle über das Design. Sie können Farben, Typografie und Formen anpassen, indem Sie die Player-UI in ein MaterialTheme einfügen.

Wenn Sie beispielsweise die Farbe des PlayPauseButton ändern möchten, können Sie ein benutzerdefiniertes 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 Bibliothek media3-ui-compose-material3 bietet eine Reihe vordefinierter zusammensetzbarer Funktionen für gängige Player-Steuerelemente. Hier sind einige der Komponenten, die Sie direkt in Ihrer App verwenden können:

Komponente Beschreibung
Player Ein Player mit Steuerelementen, Fortschrittsanzeige und Inhaltsrahmen.
PlayPauseButton Eine Schaltfläche zum Umschalten zwischen Wiedergabe und Pause.
SeekBackButton Eine Schaltfläche zum Zurückspulen um ein festgelegtes Intervall.
SeekForwardButton Eine Schaltfläche zum Vorspulen um ein festgelegtes Intervall.
NextButton Eine Schaltfläche zum Wechseln zum nächsten Medienelement.
PreviousButton Eine Schaltfläche zum Wechseln zum vorherigen Medienelement.
RepeatButton Eine Schaltfläche zum Durchlaufen der Wiederholungsmodi.
ShuffleButton Eine Schaltfläche zum Umschalten des Zufallsmodus.
MuteButton Eine Schaltfläche zum Stummschalten und Aufheben der Stummschaltung des Players.
PositionAndDurationText Eine zusammensetzbare Textfunktion, die die aktuelle Position und die Gesamtdauer anzeigt.
PositionText Eine zusammensetzbare Textfunktion, die die aktuelle Position anzeigt.
DurationText Eine zusammensetzbare Textfunktion, die die Gesamtdauer anzeigt.
RemainingDurationText Eine zusammensetzbare Textfunktion, die die verbleibende Dauer anzeigt.
ProgressSlider Ein Schieberegler, der den Wiedergabefortschritt anzeigt und dem Nutzer das Spulen ermöglicht.

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

Zwei weitere vordefinierte zusammensetzbare Funktionen, die Sie wahrscheinlich benötigen, beziehen sich auf die Oberflächenverwaltung und befinden sich im Modul media3-ui-compose, da sie kein Material-Design haben.

Komponente Beschreibung
ContentFrame Eine Oberfläche zum Anzeigen von Medieninhalten, die das Seitenverhältnis, die Größenänderung und einen Verschluss verwaltet.
PlayerSurface Rohe Oberfläche, die SurfaceView und TextureView in AndroidView umschließt.