Material3 Compose

Библиотека media3-ui-compose-material3 обрабатывает как управление состоянием, так и стилизацию Material3 внутри себя. Для получения дополнительной информации о том, какую библиотеку использовать, см. обзор Media3 Compose .

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

Настройка компонентов Material3

Хотя media3-ui-compose-material3 предоставляет компоненты, соответствующие дизайну Material3, у вас по-прежнему есть полный контроль над оформлением. Вы можете настраивать цвета, типографику и формы, обернув пользовательский интерфейс плеера в MaterialTheme .

Например, чтобы изменить цвет PlayPauseButton , вы можете указать пользовательскую 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)
}

Доступные материалы3 Компоненты

Библиотека media3-ui-compose-material3 предоставляет набор готовых компонентов для распространенных элементов управления проигрывателем. Вот некоторые из компонентов, которые вы можете использовать непосредственно в своем приложении:

Компонент Описание
PlayPauseButton Кнопка, переключающая режимы воспроизведения и паузы.
SeekBackButton Кнопка для перемотки назад на заданный шаг.
SeekForwardButton Кнопка для перемотки вперед на заданный шаг.
NextButton Кнопка для перехода к следующему медиафайлу.
PreviousButton Кнопка для перехода к предыдущему медиафайлу.
RepeatButton Кнопка для переключения между режимами повтора.
ShuffleButton Кнопка для переключения режима случайного воспроизведения.
MuteButton Кнопка для включения и выключения звука плеера.
PositionAndDurationText Текстовый элемент, отображающий текущую позицию и общую продолжительность.
PositionText Текстовый элемент, отображающий текущую позицию.
DurationText Текстовый элемент, отображающий общую продолжительность.
RemainingDurationText Текстовый элемент, отображающий оставшееся время.

Это не исчерпывающий список. Для получения информации обо всех доступных компонентах обратитесь к справочнику API библиотеки.

Два других предварительно созданных компонента Composable, которые вам, вероятно, понадобятся, связаны с управлением поверхностью и находятся в модуле media3-ui-compose поскольку в них отсутствует поддержка тем Material Design.

Компонент Описание
ContentFrame Поверхность для отображения медиаконтента, которая управляет соотношением сторон, изменением размера и имеет затвор.
PlayerSurface Сырая поверхность, которая оборачивает SurfaceView и TextureView в AndroidView