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 라이브러리에는 기본적으로 컴포저블 (예: 버튼, 표시기, 이미지 또는 대화상자)이 포함되어 있지 않지만 PlayerViewAndroidView로 래핑하는 것과 같은 상호 운용성 솔루션을 사용하지 않는 Compose로 완전히 작성된 데모 앱을 찾을 수 있습니다. 데모 앱은 media3-ui-compose 모듈의 UI 상태 홀더 클래스를 활용하고 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을 사용하여 Material Design과 더 빠르게 통합하세요.

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

한눈에 보기

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