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 디자인을 따르는 구성요소를 제공하지만 테마 설정은 완전히 제어할 수 있습니다. 플레이어 UI를 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)
}

사용 가능한 Material3 구성요소

media3-ui-compose-material3 라이브러리는 일반적인 플레이어 컨트롤을 위한 사전 빌드된 컴포저블 세트를 제공합니다. 앱에서 직접 사용할 수 있는 구성요소는 다음과 같습니다.

구성요소 설명
PlayPauseButton 재생과 일시중지 간에 전환하는 버튼
SeekBackButton 정의된 증분만큼 뒤로 탐색하는 버튼
SeekForwardButton 정의된 증분만큼 앞으로 탐색하는 버튼
NextButton 다음 미디어 항목으로 탐색하는 버튼
PreviousButton 이전 미디어 항목으로 탐색하는 버튼
RepeatButton 반복 모드를 순환하는 버튼
ShuffleButton 셔플 모드를 전환하는 버튼
MuteButton 플레이어를 음소거 및 음소거 해제하는 버튼
PositionAndDurationText 현재 위치와 총 재생 시간을 표시하는 텍스트 컴포저블
PositionText 현재 위치를 표시하는 텍스트 컴포저블
DurationText 총 재생 시간을 표시하는 텍스트 컴포저블
RemainingDurationText 남은 시간을 표시하는 텍스트 컴포저블

이 목록은 일부에 불과합니다. 사용 가능한 모든 구성요소는 라이브러리의 API 참조를 참고하세요.

필요할 가능성이 높은 다른 사전 빌드된 컴포저블 두 개는 서피스 관리와 관련이 있으며 Material 테마가 없으므로 media3-ui-compose 모듈에 있습니다.

구성요소 설명
ContentFrame 가로세로 비율 관리, 크기 조절, 셔터를 처리하는 미디어 콘텐츠 표시용 표면
PlayerSurface AndroidView에서 SurfaceViewTextureView을 래핑하는 원시 표면