Material3 Compose

Thư viện media3-ui-compose-material3 cung cấp một thành phần kết hợp Player cho thấy các nút điều khiển trình phát, thanh tiến trình và nội dung nghe nhìn hiện tại. Thành phần này xử lý cả việc quản lý trạng thái và kiểu Material3 trong nội bộ. Để biết thêm thông tin về thư viện nên sử dụng, hãy xem phần Tổng quan về Media3 Compose.

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

// You can rearrange the composables into a layout that suits your needs
@Composable
fun PlayerProgressControlsLeftAligned(player: Player) {
  Row {
    PositionAndDurationText(player)
    ProgressSlider(player)
  }
}

@Composable
fun PlayerProgressControlsCenterAligned(player: Player) {
  Row {
    PositionText(player)
    ProgressSlider(player)
    DurationText(player)
  }
}

Tuỳ chỉnh các thành phần Material3

Mặc dù media3-ui-compose-material3 cung cấp các thành phần tuân theo Material3 Design, nhưng bạn vẫn có toàn quyền kiểm soát đối với giao diện. Bạn có thể tuỳ chỉnh màu sắc, kiểu chữ và hình dạng bằng cách gói giao diện người dùng của trình phát trong một MaterialTheme.

Ví dụ: để thay đổi màu của PlayPauseButton, bạn có thể cung cấp một colorScheme tuỳ chỉnh:

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)
}

Thành phần Material3 hiện có

Thư viện media3-ui-compose-material3 cung cấp một tập hợp các thành phần kết hợp tạo sẵn cho các nút điều khiển trình phát phổ biến. Sau đây là một số thành phần bạn có thể sử dụng trực tiếp trong ứng dụng:

Thành phần Mô tả
Player Trình phát có các nút điều khiển, thanh tiến trình, phụ đề và khung nội dung cho video hoặc hình minh hoạ.
PlayPauseButton Nút chuyển đổi giữa chế độ phát và tạm dừng, đồng thời cho biết trạng thái lưu vào vùng đệm, phát lại và thử lại.
SeekBackButton Nút để tua lùi theo một khoảng thời gian xác định.
SeekForwardButton Nút để tua đi theo một khoảng thời gian xác định.
NextButton Nút để tua đến mục nội dung nghe nhìn tiếp theo.
PreviousButton Nút để tua đến mục nội dung nghe nhìn trước đó.
RepeatButton Nút để chuyển đổi giữa các chế độ lặp lại.
ShuffleButton Nút để bật/tắt chế độ phát ngẫu nhiên.
MuteButton Nút để tắt tiếng và bật tiếng trình phát.
LiveButton Một nút cho biết liệu quá trình phát một sự kiện phát trực tiếp có đang ở thời điểm phát trực tiếp hay không và tua đến thời điểm phát trực tiếp khi được nhấn.
PositionAndDurationText Một thành phần kết hợp văn bản cho biết vị trí hiện tại và tổng thời lượng.
PositionText Một thành phần kết hợp văn bản cho thấy vị trí hiện tại.
DurationText Một thành phần kết hợp văn bản cho thấy tổng thời lượng.
RemainingDurationText Một thành phần kết hợp văn bản cho biết thời lượng còn lại.
ProgressSlider Thanh trượt cho biết tiến trình phát và cho phép người dùng tua.
BufferingIndicator Chỉ báo tiến trình xuất hiện khi trình phát đang lưu vào vùng đệm.

Đây chưa phải là danh sách đầy đủ. Tham khảo tài liệu tham khảo API của thư viện để biết tất cả thành phần có sẵn.

Hai composable tạo sẵn khác mà bạn có thể cần đến có liên quan đến việc quản lý nền tảng và chúng nằm trong mô-đun media3-ui-compose vì không có tính năng Tuỳ chỉnh giao diện Material.

Thành phần Mô tả
ContentFrame Một nền tảng cho nội dung nghe nhìn, xử lý việc quản lý tỷ lệ khung hình, đổi kích thước, màn trập, hình minh hoạ và vùng phụ đề.
PlayerSurface Nền thô bao bọc SurfaceView và TextureView trong AndroidView.