ประเภทพื้นผิว
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
หน้านี้อธิบายเกี่ยวกับประเภทของ Surface ต่างๆ ที่ใช้สำหรับการเล่นวิดีโอด้วย Media3 และวิธีเลือกประเภทที่เหมาะสมกับกรณีการใช้งานของคุณ หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับออบเจ็กต์ Surface ใน Android โปรดอ่านเอกสารประกอบด้านกราฟิกนี้
เลือกประเภทพื้นผิวสำหรับ PlayerView
แอตทริบิวต์ surface_type
ของ PlayerView
ช่วยให้คุณตั้งค่าประเภท
พื้นผิวที่ใช้สำหรับการเล่นวิดีโอได้ ค่าที่ใช้ได้มีดังนี้
หากเป็นการดูวิดีโอปกติ ให้ใช้ surface_view
หรือ texture_view
SurfaceView
มีข้อดีหลายประการเมื่อเทียบกับ
TextureView
สำหรับการเล่นวิดีโอ ดังนี้
- ลดการใช้พลังงานในอุปกรณ์หลายรุ่นได้อย่างมาก
- การกำหนดเวลาเฟรมที่แม่นยำยิ่งขึ้น ส่งผลให้การเล่นวิดีโอราบรื่นขึ้น
- รองรับเอาต์พุตวิดีโอ HDR คุณภาพสูงขึ้นในอุปกรณ์ที่ใช้งานได้
- รองรับเอาต์พุตที่ปลอดภัยเมื่อเล่นเนื้อหาที่ได้รับการคุ้มครองโดย DRM
- ความสามารถในการแสดงเนื้อหาวิดีโอที่ความละเอียดสูงสุดของจอแสดงผลใน
อุปกรณ์ Android TV ที่อัปสเกลเลเยอร์ UI
ดังนั้นจึงควรเลือกใช้ SurfaceView
มากกว่า TextureView
หากเป็นไปได้
TextureView
ควรใช้เฉพาะในกรณีที่ SurfaceView
ไม่ตรงตามความต้องการ ตัวอย่างหนึ่งคือในกรณีที่ต้องใช้ภาพเคลื่อนไหวหรือการเลื่อนพื้นผิววิดีโอที่ราบรื่นก่อน Android 7.0 (API ระดับ 24) ตามที่อธิบายไว้ในหมายเหตุต่อไปนี้ สำหรับกรณีนี้ ควรใช้ TextureView
เมื่อ SDK_INT
น้อยกว่า 24 (Android 7.0) และใช้ SurfaceView
ในกรณีอื่นๆ
เลือกประเภทพื้นผิวใน Compose
ใน Compose โซลูชันการทำงานร่วมกันจะใช้ AndroidView
Composable เพื่อห่อ
SurfaceView
และ TextureView
Composables 2 รายการที่สอดคล้องกับ
คือ AndroidExternalSurface
และ AndroidEmbeddedExternalSurface
โมดูล Media3 ui-compose
มี PlayerSurface
Composable ที่ลิงก์ Player
กับ Surface
ในลักษณะที่รับรู้ถึงวงจรการใช้งาน ในกรณีนี้ ประเภทพื้นผิว
คือ
ไม่มีประเภท none
เนื่องจากจะสอดคล้องกับการไม่รวม PlayerSurface
ในแผนผัง UI ของ Compose
ตัวอย่างเนื้อหาและโค้ดในหน้าเว็บนี้ขึ้นอยู่กับใบอนุญาตที่อธิบายไว้ในใบอนุญาตการใช้เนื้อหา Java และ OpenJDK เป็นเครื่องหมายการค้าหรือเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-13 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-13 UTC"],[],[]]