Material3 Compose

ไลบรารี media3-ui-compose-material3 จะจัดการทั้งการจัดการสถานะและ การจัดรูปแบบ Material3 ภายใน ดูข้อมูลเพิ่มเติมเกี่ยวกับไลบรารีที่จะใช้ได้ที่ภาพรวมของ Media3 Compose

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

ปรับแต่งคอมโพเนนต์ Material3

แม้ว่า media3-ui-compose-material3 จะมีคอมโพเนนต์ที่ใช้ Material3 Design แต่คุณก็ยังคงควบคุมการกำหนดธีมได้อย่างเต็มที่ คุณปรับแต่งสี การพิมพ์ และรูปร่างได้โดยการรวม 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)
}

คอมโพเนนต์ Material3 ที่พร้อมใช้งาน

media3-ui-compose-material3 ไลบรารีมี Composable ที่สร้างไว้ล่วงหน้าสำหรับตัวควบคุมเพลเยอร์ทั่วไป คอมโพเนนต์บางอย่างที่คุณใช้ได้โดยตรงในแอปมีดังนี้

ส่วนประกอบ คำอธิบาย
PlayPauseButton ปุ่มที่สลับระหว่างการเล่นและหยุดชั่วคราว
SeekBackButton ปุ่มสำหรับกรอถอยหลังตามช่วงเวลาที่กำหนด
SeekForwardButton ปุ่มสำหรับกรอไปข้างหน้าตามช่วงที่กำหนด
NextButton ปุ่มสำหรับกรอไปยังรายการสื่อถัดไป
PreviousButton ปุ่มเพื่อกรอไปยังรายการสื่อก่อนหน้า
RepeatButton ปุ่มสำหรับสลับโหมดเล่นซ้ำ
ShuffleButton ปุ่มเปิด/ปิดโหมดสับเปลี่ยน
MuteButton ปุ่มปิดและเปิดเสียงเพลเยอร์
PositionAndDurationText Composable ของข้อความที่แสดงตำแหน่งปัจจุบันและระยะเวลาทั้งหมด
PositionText Composable ข้อความที่แสดงตำแหน่งปัจจุบัน
DurationText Composables ของข้อความที่แสดงระยะเวลาทั้งหมด
RemainingDurationText Composable ของข้อความที่แสดงระยะเวลาที่เหลือ

โปรดทราบว่ายังมีกรณีอื่นๆ นอกเหนือจากนี้ โปรดดูเอกสารอ้างอิง API ของไลบรารีสำหรับคอมโพเนนต์ทั้งหมด ที่มี

Composable ที่สร้างไว้ล่วงหน้าอีก 2 รายการที่คุณน่าจะต้องใช้เกี่ยวข้องกับการจัดการพื้นผิว และอยู่ในโมดูล media3-ui-compose เนื่องจากไม่มีธีม Material

ส่วนประกอบ คำอธิบาย
ContentFrame แพลตฟอร์มสำหรับแสดงเนื้อหาสื่อที่จัดการการจัดการอัตราส่วน การปรับขนาด และชัตเตอร์
PlayerSurface พื้นผิวดิบที่ห่อหุ้ม SurfaceView และ TextureView ใน AndroidView