Material3 Compose

La libreria media3-ui-compose-material3 gestisce internamente sia la gestione dello stato sia lo stile Material3. Per saperne di più su quale libreria utilizzare, consulta la panoramica di Media3 Compose.

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

Personalizzare i componenti Material3

Sebbene media3-ui-compose-material3 fornisca componenti che seguono il design Material 3, hai comunque il controllo completo dei temi. Puoi personalizzare colori, tipografia e forme racchiudendo la UI del player in un MaterialTheme.

Ad esempio, per modificare il colore di PlayPauseButton, puoi fornire un colorScheme personalizzato:

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

Componenti Material3 disponibili

La libreria media3-ui-compose-material3 fornisce un insieme di componenti componibili predefiniti per i controlli comuni del player. Ecco alcuni componenti che puoi utilizzare direttamente nella tua app:

Componente Descrizione
PlayPauseButton Un pulsante che alterna la riproduzione e la pausa.
SeekBackButton Un pulsante per tornare indietro di un incremento definito.
SeekForwardButton Un pulsante per andare avanti di un incremento definito.
NextButton Un pulsante per passare all'elemento multimediale successivo.
PreviousButton Un pulsante per passare all'elemento multimediale precedente.
RepeatButton Un pulsante per scorrere le modalità di ripetizione.
ShuffleButton Un pulsante per attivare/disattivare la modalità di riproduzione casuale.
MuteButton Un pulsante per attivare e disattivare l'audio del player.
PositionAndDurationText Un composable di testo che mostra la posizione corrente e la durata totale.
PositionText Un composable di testo che mostra la posizione attuale.
DurationText Un composable di testo che mostra la durata totale.
RemainingDurationText Un composable di testo che mostra la durata rimanente.

Questo elenco non è esaustivo. Per tutti i componenti disponibili, consulta il riferimento API della libreria.

Altri due componenti predefiniti che probabilmente ti serviranno sono correlati alla gestione della superficie e si trovano nel modulo media3-ui-compose perché non hanno temi Material.

Componente Descrizione
ContentFrame Una superficie per la visualizzazione di contenuti multimediali che gestisce le proporzioni, il ridimensionamento e un otturatore
PlayerSurface Superficie grezza che avvolge SurfaceView e TextureView in AndroidView