ภาพรวมของ CameraX เป็นส่วนหนึ่งของ Android Jetpack
CameraX เป็นไลบรารี Jetpack ที่สร้างขึ้นเพื่อช่วยให้การพัฒนาการแอปกล้องทำได้ง่ายขึ้น สําหรับแอปใหม่ เราขอแนะนําให้เริ่มต้นด้วย CameraX โดย API นี้ให้บริการ API ที่สอดคล้องกันและใช้งานง่ายซึ่งใช้ได้กับอุปกรณ์ Android ส่วนใหญ่ และใช้งานร่วมกับ Android 5.0 (API ระดับ 21) ได้ หากต้องการย้ายข้อมูลแอปจาก Camera1 โปรดดูคำแนะนำในการย้ายข้อมูลจาก Camera1 ไปยัง CameraX
ประโยชน์หลัก
CameraX ปรับปรุงประสบการณ์ของนักพัฒนาแอปในหลายวิธีที่สำคัญ
ความเข้ากันได้ของอุปกรณ์ในวงกว้าง
CameraX รองรับอุปกรณ์ที่ใช้ Android 5.0 (API ระดับ 21) ขึ้นไป ซึ่งคิดเป็นมากกว่า 98% ของอุปกรณ์ Android ที่มีอยู่
ใช้งานง่าย
CameraX เน้นที่ Use Case ซึ่งช่วยให้คุณมุ่งเน้นที่งานที่ต้องการทำแทนที่จะต้องจัดการกับรายละเอียดปลีกย่อยเฉพาะอุปกรณ์ ระบบรองรับ Use Case ของกล้องที่พบบ่อยที่สุดดังต่อไปนี้
- แสดงตัวอย่าง: ดูรูปภาพบนจอแสดงผล
- การวิเคราะห์รูปภาพ: เข้าถึงบัฟเฟอร์ได้อย่างราบรื่นเพื่อใช้ในอัลกอริทึม เช่น ส่งไปยัง ML Kit
- การจับภาพ: บันทึกรูปภาพ
- การจับภาพวิดีโอ: บันทึกวิดีโอและเสียง
ข้อมูลในอุปกรณ์ต่างๆ ตรงกัน

รูปที่ 2 ห้องทดสอบ CameraX แบบอัตโนมัติช่วยให้มั่นใจได้ว่า API จะใช้งานได้อย่างราบรื่นในอุปกรณ์หลายประเภทและจากผู้ผลิตหลายราย
การรักษาลักษณะการทํางานของกล้องให้สม่ำเสมอนั้นเป็นเรื่องยาก คุณต้องพิจารณาสัดส่วนภาพ การวางแนว การหมุน ขนาดของตัวอย่าง และขนาดรูปภาพ เมื่อใช้ CameraX พฤติกรรมพื้นฐานเหล่านี้จะทำงานได้ทันที
เราดูแลห้องทดสอบ CameraX แบบอัตโนมัติที่ทดสอบลักษณะการทํางานของกล้องที่หลากหลายในอุปกรณ์ที่หลากหลายและระบบปฏิบัติการทุกเวอร์ชันตั้งแต่ Android 5.0 การทดสอบเหล่านี้จะทําอย่างต่อเนื่องเพื่อระบุและแก้ไขปัญหาที่หลากหลาย
ชิ้นงานกล้อง

รูปที่ 3 รูปภาพที่ถ่ายด้วยเอฟเฟกต์โบเก้ (ภาพบุคคล) โดยใช้ CameraX
CameraX มี API ส่วนขยายที่ไม่บังคับซึ่งช่วยให้คุณเข้าถึงฟีเจอร์และความสามารถเดียวกันกับแอปกล้องของอุปกรณ์ได้โดยใช้โค้ดเพียง 2 บรรทัด
ซึ่งได้แก่ โหมดโบเก้ (ภาพบุคคล), High Dynamic Range (HDR), โหมดกลางคืน และการรีทัชใบหน้า ซึ่งทั้งหมดนี้จำเป็นต้องมีการรองรับของอุปกรณ์
กรณีศึกษา
หากต้องการดูว่า CameraX ช่วยให้ Monzo พัฒนาแอปได้ง่ายขึ้นอย่างไร โปรดดูกรณีศึกษา
เอกสาร
- สถาปัตยกรรม CameraX
- ตัวเลือกการกําหนดค่า
- ใช้ตัวอย่าง
- การวิเคราะห์รูปภาพ
- การจับภาพ
- การจับภาพวิดีโอ
- ส่วนขยายกล้อง
- เปลี่ยนรูปแบบเอาต์พุต
- การหมุนกรณีการใช้งาน
- อุปกรณ์ที่ผ่านการทดสอบในห้องทดลอง
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับ CameraX ได้จากแหล่งข้อมูลเพิ่มเติมต่อไปนี้
Codelab
ตัวอย่างโค้ด