開始使用以 Compose 為基礎的 UI

新增依附元件

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 為優先開發應用程式,或從使用 Views 遷移

完整的 Compose 示範應用程式

雖然 media3-ui-compose 程式庫不包含現成的 Composable (例如按鈕、指標、圖片或對話方塊),但您可以找到完全以 Compose 編寫的示範應用程式,避免使用任何互通性解決方案,例如將 PlayerView 包裝在 AndroidView 中。這個範例應用程式會使用 media3-ui-compose 模組中的 UI 狀態持有者類別,並採用 Compose Material3 程式庫。

我需要哪個程式庫?

您可以根據所需的自訂程度,選擇兩種 Media3 Compose 程式庫。如要瞭解兩者差異,請參考UI 狀態產生管道Business logic → UI logic → UI

使用 media3-ui-compose 完全控管 UI 元件。

這個程式庫提供 Business logic → UI logic 連線。其中包含 PlayerSurfaceContentFrame 等基礎元件,以及狀態持有者類別 (例如 PlayPauseButtonState),可將 Player 狀態轉換為 UI 狀態。

這個程式庫「不會」提供可直接使用的 Material Design 元件。您必須自行建構 UI 元件並設定樣式。可讓您全面掌控外觀和風格,因此非常適合採用高度自訂設計系統的網站。

使用 media3-ui-compose-material3 可加快與 Material Design 的整合速度。

這個程式庫提供管道的最後一個 UI 部分。這項功能依附於 media3-ui-compose,並內建以Material 3 元件設定樣式的可組合函式。您不必從頭建構自己的按鈕和其他 UI 元素。您仍可自訂這些元件的主題、顏色和圖示,但核心實作部分是由系統提供。

資訊一覽

功能 media3-ui-compose media3-ui-compose-material3
UI 元件 基礎元素,例如 PlayerSurfaceContentFrame,但沒有預先設定樣式的按鈕或控制項。 提供一整套預先建構的 Material 3 樣式 Composables,例如 PlayPauseButtonSeekBackButtonPositionAndDurationText 等。
狀態管理 提供 remember...State 持有人管理邏輯。 在內部管理狀態,但您仍可視需要存取狀態容器。
依附元件 androidx.compose.foundation media3-ui-composeandroidx.compose.material3com.google.android.material
主要用途 使用自訂設計系統建構播放器 UI。全面掌控外觀和風格。 快速建構符合 Material Design 3 指南的播放器 UI。