Material3 Compose

A biblioteca media3-ui-compose-material3 processa internamente o gerenciamento de estado e a estilização do Material3. Para mais informações sobre qual biblioteca usar, consulte a visão geral do Media3 Compose.

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

Personalizar os componentes do Material3

Embora o media3-ui-compose-material3 forneça componentes que seguem o Material3 Design, você ainda tem controle total sobre a criação de temas. Você pode personalizar cores, tipografia e formas envolvendo a interface do player em um MaterialTheme.

Por exemplo, para mudar a cor do PlayPauseButton, forneça um colorScheme personalizado:

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

Componentes do Material 3 disponíveis

A biblioteca media3-ui-compose-material3 oferece um conjunto de elementos combináveis pré-criados para controles comuns do player. Confira alguns componentes que podem ser usados diretamente no seu app:

Componente Descrição
PlayPauseButton Um botão que alterna entre reproduzir e pausar.
SeekBackButton Um botão para voltar um incremento definido.
SeekForwardButton Um botão para avançar em um incremento definido.
NextButton Um botão para ir para o próximo item de mídia.
PreviousButton Um botão para buscar o item de mídia anterior.
RepeatButton Um botão para alternar entre os modos de repetição.
ShuffleButton Um botão para ativar/desativar o modo aleatório.
MuteButton Um botão para ativar e desativar o som do player.
PositionAndDurationText Um elemento combinável de texto que mostra a posição atual e a duração total.
PositionText Um elemento combinável de texto que mostra a posição atual.
DurationText Um elemento combinável de texto que mostra a duração total.
RemainingDurationText Um elemento combinável de texto que mostra a duração restante.

Esta não é uma lista completa. Consulte a referência da API da biblioteca para todos os componentes disponíveis.

Outros dois elementos combináveis pré-criados que você provavelmente vai precisar estão relacionados ao gerenciamento de superfície e ficam no módulo media3-ui-compose porque não têm temas do Material.

Componente Descrição
ContentFrame Uma superfície para mostrar conteúdo de mídia que lida com gerenciamento de proporção, redimensionamento e um obturador.
PlayerSurface Superfície bruta que envolve SurfaceView e TextureView em AndroidView