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. |