Compose Material3

La bibliothèque media3-ui-compose-material3 gère en interne la gestion de l'état et le style Material3. Pour savoir quelle bibliothèque utiliser, consultez la présentation de Media3 Compose.

// The library provides styled UI components
Row {
  SeekBackButton(player)
  PlayPauseButton(player)
  SeekForwardButton(player)
}

Personnaliser les composants Material3

Bien que media3-ui-compose-material3 fournisse des composants qui suivent la conception Material3, vous conservez un contrôle total sur la thématisation. Vous pouvez personnaliser les couleurs, la typographie et les formes en encapsulant l'UI de votre lecteur dans un MaterialTheme.

Par exemple, pour modifier la couleur de PlayPauseButton, vous pouvez fournir un colorScheme personnalisé :

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)
}

Composants Material3 disponibles

La bibliothèque media3-ui-compose-material3 fournit un ensemble de composables prédéfinis pour les commandes de lecteur courantes. Voici quelques-uns des composants que vous pouvez utiliser directement dans votre application :

Component Description
PlayPauseButton Bouton permettant de passer de la lecture à la pause et inversement.
SeekBackButton Bouton permettant de revenir en arrière d'un incrément défini.
SeekForwardButton Bouton permettant d'avancer d'un incrément défini.
NextButton Bouton permettant de passer à l'élément multimédia suivant.
PreviousButton Bouton permettant d'accéder à l'élément multimédia précédent.
RepeatButton Bouton permettant de parcourir les modes Répétition.
ShuffleButton Bouton permettant d'activer ou de désactiver le mode aléatoire.
MuteButton Un bouton pour couper et réactiver le son du lecteur.
PositionAndDurationText Composable de texte qui affiche la position actuelle et la durée totale.
PositionText Composable de texte qui affiche la position actuelle.
DurationText Composable de texte qui affiche la durée totale.
RemainingDurationText Un composable de texte qui affiche la durée restante.

Cette liste n'est pas exhaustive. Consultez la documentation de référence de l'API de la bibliothèque pour connaître tous les composants disponibles.

Deux autres Composables prédéfinis dont vous aurez probablement besoin sont liés à la gestion de la surface et se trouvent dans le module media3-ui-compose, car ils ne possèdent pas de thème Material.

Component Description
ContentFrame Surface permettant d'afficher du contenu multimédia, qui gère le format, le redimensionnement et un obturateur
PlayerSurface Surface brute qui encapsule SurfaceView et TextureView dans AndroidView