La bibliothèque media3-ui-compose-material3 fournit un composable Player qui
affiche les commandes du lecteur, la barre de progression et le contenu multimédia actuel. Elle gère en interne la gestion de l'état et le style Material3. Pour en savoir plus
sur la bibliothèque à utiliser, consultez la présentation de 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) } }
Personnaliser les composants Material3
Bien que media3-ui-compose-material3 fournisse des composants conformes à la conception Material3, vous conservez le contrôle total sur les thèmes. Vous pouvez personnaliser les couleurs, la typographie et les formes en encapsulant l'interface utilisateur de votre lecteur dans un MaterialTheme.
Par exemple, pour modifier la couleur du PlayPauseButton, vous pouvez fournir un
custom colorScheme :
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 |
|---|---|
Player |
Lecteur avec commandes, barre de progression et cadre de contenu. |
PlayPauseButton |
Bouton permettant d'alterner entre lecture et pause. |
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 de passer à l'élément multimédia précédent. |
RepeatButton |
Bouton permettant de parcourir les modes de répétition. |
ShuffleButton |
Bouton permettant d'activer ou de désactiver le mode aléatoire. |
MuteButton |
Bouton permettant de couper et de 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 |
Composable de texte qui affiche la durée restante. |
ProgressSlider |
Curseur qui affiche la progression de la lecture et permet à l'utilisateur de rechercher. |
Cette liste n'est pas exhaustive. Pour connaître tous les composants disponibles, consultez la documentation de référence de l'API de la bibliothèque.
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 d'image, le redimensionnement et un obturateur |
PlayerSurface |
Surface brute qui encapsule SurfaceView et TextureView dans AndroidView |