종속 항목 추가
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로 완전히 작성된 데모 앱에서 PlayerView를 AndroidView에 래핑하는 것과 같은 상호 운용성
솔루션을 피할 수 있습니다. 데모 앱
은 UI 상태 홀더 클래스를 media3-ui-compose 모듈에서 활용하고 Compose Material3 라이브러리를 사용합니다.
어떤 라이브러리가 필요한가요?
필요한 맞춤설정 수준에 따라 두 가지 Media3 Compose 라이브러리 중에서 선택할 수 있습니다. 차이점을 이해하려면
UI 상태 생성 파이프라인(Business logic → UI logic → UI)을 생각해 보는 것이 좋습니다.
UI 구성요소를 완전히 제어하려면 media3-ui-compose를 사용하세요.
이 라이브러리는 Business logic → UI logic 연결을 제공합니다. 여기에는
기본 구성요소(예: PlayerSurface 및 ContentFrame)와 함께
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 구성요소 | PlayerSurface 및 ContentFrame과 같은 기본 요소이지만 사전 스타일이 지정된 버튼 또는 컨트롤은 없습니다. |
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를 빠르게 빌드합니다. |