종속 항목 추가
Media3 라이브러리에는 Jetpack Compose 기반 UI 모듈이 두 개 포함되어 있습니다. Material3은 핵심에 종속되므로 둘 다 추가하지 않아도 됩니다.
Kotlin
// Include only one of the following dependencies implementation("androidx.media3:media3-ui-compose:1.9.0") implementation("androidx.media3:media3-ui-compose-material3:1.9.0")
Groovy
// Include only one of the following dependencies implementation "androidx.media3:media3-ui-compose:1.9.0" implementation "androidx.media3:media3-ui-compose-material3:1.9.0"
Compose 우선 방식으로 앱을 개발하거나 뷰 사용에서 이전하는 것이 좋습니다.
완전 Compose 데모 앱
media3-ui-compose 라이브러리에는 기본적으로 컴포저블 (예: 버튼, 표시기, 이미지 또는 대화상자)이 포함되어 있지 않지만 PlayerView을 AndroidView로 래핑하는 것과 같은 상호 운용성 솔루션을 방지하는 Compose로 완전히 작성된 데모 앱을 찾을 수 있습니다. 데모 앱은 media3-ui-compose 모듈의 UI 상태 홀더 클래스를 활용하고 Compose Material3 라이브러리를 사용합니다.
어떤 라이브러리가 필요한가요?
필요한 맞춤설정 수준에 따라 두 가지 Media3 Compose 라이브러리 중에서 선택할 수 있습니다. 차이점을 이해하려면 UI 상태 생성 파이프라인(Business logic → UI logic → UI)을 생각해 보는 것이 좋습니다.
UI 구성요소를 완전히 제어하려면 media3-ui-compose를 사용하세요.
이 라이브러리는 Business logic → UI logic 연결을 제공합니다. PlayerSurface 및 ContentFrame과 같은 기본 구성요소와 상태 보유자 클래스 (예: PlayPauseButtonState)를 사용하여 Player 상태를 UI 상태로 변환합니다.
이 라이브러리는 즉시 사용 가능한 Material Design 구성요소를 제공하지 않습니다. UI 구성요소를 직접 빌드하고 스타일을 지정해야 합니다. 디자인과 분위기를 최대한 제어할 수 있으므로 맞춤 디자인 시스템이 있는 경우에 적합합니다.
media3-ui-compose-material3을 사용하여 Material Design과 더 빠르게 통합하세요.
이 라이브러리는 파이프라인의 최종 UI 부분을 제공합니다. media3-ui-compose에 종속되며 Material3 구성요소로 스타일이 지정된 사전 빌드된 컴포저블 함수를 포함합니다. 처음부터 버튼과 기타 UI 요소를 직접 빌드할 필요가 없습니다. 이러한 구성요소의 테마, 색상, 아이콘은 맞춤설정할 수 있지만 핵심 구현은 제공됩니다.
한눈에 보기
| 기능 | media3-ui-compose |
media3-ui-compose-material3 |
|---|---|---|
| UI 구성요소 | PlayerSurface, ContentFrame과 같은 기본 요소는 있지만 사전 스타일이 지정된 버튼이나 컨트롤은 없습니다. |
PlayPauseButton, SeekBackButton, PositionAndDurationText 등 사전 빌드된 Material 3 스타일의 Composables 전체 세트를 제공합니다. |
| 상태 관리 | 로직을 관리할 remember...State 보유자를 제공합니다. |
내부적으로 상태를 관리하지만 필요한 경우 상태 홀더에 액세스할 수 있습니다. |
| 종속 항목 | androidx.compose.foundation |
media3-ui-compose, androidx.compose.material3, com.google.android.material |
| 기본 사용 사례 | 맞춤 디자인 시스템으로 플레이어 UI를 빌드합니다. 디자인과 분위기를 완전하게 관리할 수 있습니다. | Material Design 3 가이드라인을 따르는 플레이어 UI를 빠르게 빌드합니다. |