Compose 기반 UI 시작하기

종속 항목 추가

Media3 라이브러리에는 Jetpack Compose 기반 UI 모듈이 두 개 포함되어 있습니다. Material3 모듈은 핵심 모듈에 종속되므로 두 모듈을 모두 추가할 필요는 없습니다.

Kotlin

// Include only one of the following dependencies
implementation("androidx.media3:media3-ui-compose:1.10.0")
implementation("androidx.media3:media3-ui-compose-material3:1.10.0")

Groovy

// Include only one of the following dependencies
implementation "androidx.media3:media3-ui-compose:1.10.0"
implementation "androidx.media3:media3-ui-compose-material3:1.10.0"

Compose 우선 방식으로 앱을 개발하거나 뷰 사용에서 이전하는 것이 좋습니다.

완전한 Compose 데모 앱

media3-ui-compose 라이브러리에는 기본 제공 컴포저블 (예: 버튼, 표시기, 이미지 또는 대화상자)이 포함되어 있지 않지만 Compose로 완전히 작성된 데모 앱에서 PlayerViewAndroidView에 래핑하는 것과 같은 상호 운용성 솔루션을 피할 수 있습니다. 데모 앱 은 UI 상태 홀더 클래스를 media3-ui-compose 모듈에서 활용하고 Compose Material3 라이브러리를 사용합니다.

어떤 라이브러리가 필요한가요?

필요한 맞춤설정 수준에 따라 두 가지 Media3 Compose 라이브러리 중에서 선택할 수 있습니다. 차이점을 이해하려면 UI 상태 생성 파이프라인(Business logic → UI logic → UI)을 생각해 보는 것이 좋습니다.

UI 구성요소를 완전히 제어하려면 media3-ui-compose를 사용하세요.

이 라이브러리는 Business logic → UI logic 연결을 제공합니다. 여기에는 기본 구성요소(예: PlayerSurfaceContentFrame)와 함께 Player 상태를 UI 상태로 변환하는 상태 홀더 클래스(예: PlayPauseButtonState)가 포함되어 있습니다.

이 라이브러리는 즉시 사용 가능한 Material Design 구성요소를 제공하지 않습니다. 개발자가 자체 UI 구성요소를 빌드하고 스타일을 지정해야 합니다. 이 라이브러리는 모양과 느낌을 최대한 제어할 수 있으므로 맞춤설정된 디자인 시스템이 있는 경우에 적합합니다.

머티리얼 디자인과 더 빠르게 통합하려면 media3-ui-compose-material3를 사용하세요.

이 라이브러리는 파이프라인의 최종 UI 부분을 제공합니다. 이 라이브러리는 media3-ui-compose에 종속되며 Material3 구성요소로 스타일이 지정된 사전 빌드된 구성 가능한 함수를 포함합니다. 여기에는 동영상, 컨트롤, 진행률 표시줄이 포함된 포괄적인 미디어 재생 환경을 제공하는 Player 컴포저블이 포함됩니다. 이 라이브러리를 사용하면 버튼 및 기타 UI 요소를 처음부터 빌드할 필요가 없습니다. 이러한 구성요소의 테마, 색상, 아이콘을 맞춤설정할 수 있지만 핵심 구현은 제공됩니다.

한눈에 보기

기능 media3-ui-compose media3-ui-compose-material3
UI 구성요소 PlayerSurfaceContentFrame과 같은 기본 요소이지만 사전 스타일이 지정된 버튼 또는 컨트롤은 없습니다. Player 컴포저블과 PlayPauseButton, SeekBackButton, PositionAndDurationText 등과 같은 사전 빌드된 Material3 스타일의 컴포저블 전체를 제공합니다.
상태 관리 로직을 관리하는 remember...State 홀더를 제공합니다. 상태를 내부적으로 관리하지만 필요한 경우 상태 홀더에 계속 액세스할 수 있습니다.
종속 항목 androidx.compose.foundation media3-ui-compose, androidx.compose.material3, com.google.android.material
주요 사용 사례 맞춤 디자인 시스템으로 플레이어 UI를 빌드합니다. 모양과 느낌을 완전히 제어합니다. Material Design 3 가이드라인을 따르는 플레이어 UI를 빠르게 빌드합니다.