Compose Material 3

media3-ui-compose-material3 程式庫會在內部處理狀態管理和 Material 3 樣式。如要進一步瞭解該使用哪個程式庫,請參閱 Media3 Compose 總覽

// The library provides styled UI components
Row {
  SeekBackButton(player)
  PlayPauseButton(player)
  SeekForwardButton(player)
}

自訂 Material3 元件

media3-ui-compose-material3 提供遵循 Material 3 設計的元件,但您仍可完整控管主題設定。如要自訂顏色、字體和形狀,請將播放器 UI 包裝在 MaterialTheme 中。

舉例來說,如要變更 PlayPauseButton 的顏色,可以提供自訂 colorScheme

MaterialTheme(
  colorScheme =
    lightColorScheme(
      primary = Color.Red, // Change the primary color for the button
      onPrimary = Color.White,
    )
) {
  // The PlayPauseButton will now use the custom colors
  PlayPauseButton(player)
}

可用的 Material 3 元件

media3-ui-compose-material3 程式庫提供一組預先建構的可組合函式,可用於常見的播放器控制項。以下是您可以在應用程式中直接使用的部分元件:

元件 說明
PlayPauseButton 可切換播放和暫停的按鈕。
SeekBackButton 按鈕:以定義的增量倒轉。
SeekForwardButton 按鈕:可依定義的增量快轉。
NextButton 跳轉至下一個媒體項目的按鈕。
PreviousButton 跳轉至上一個媒體項目的按鈕。
RepeatButton 切換重複模式的按鈕。
ShuffleButton 切換隨機模式的按鈕。
MuteButton 可將播放器設為靜音或取消靜音的按鈕。
PositionAndDurationText 顯示目前位置和總時長的文字可組合函式。
PositionText 顯示目前位置的文字可組合函式。
DurationText 顯示總時長的文字可組合函式。
RemainingDurationText 顯示剩餘時間的文字可組合函式。

這份清單未列出所有合作夥伴,如要查看所有可用元件,請參閱程式庫的 API 參考資料。

您可能還需要另外兩個預先建構的 Composables,這兩個 Composables 與介面管理相關,且位於 media3-ui-compose 模組中,因為它們沒有 Material 主題。

元件 說明
ContentFrame 用於顯示媒體內容的介面,可處理顯示比例管理、大小調整和快門
PlayerSurface 包裝 AndroidView 中的 SurfaceViewTextureView 的原始介面