ภาพรวมของ CameraX เป็นส่วนหนึ่งของ Android Jetpack
ทักษะ Android
ดูใน GitHubCameraX
android skills add cameraxCameraX เป็นไลบรารี Jetpack ที่สร้างขึ้นเพื่อช่วยให้นักพัฒนาแอปกล้องถ่ายรูปพัฒนาแอปได้ง่ายขึ้น สำหรับแอปใหม่ เราขอแนะนำให้เริ่มต้นด้วย CameraX โดยมี API ที่สอดคล้องและใช้งานง่ายซึ่งทำงานได้ในอุปกรณ์ Android ส่วนใหญ่ และเข้ากันได้แบบย้อนหลังกับ Android 5.0 (API ระดับ 21) หากคุณกำลังย้ายข้อมูลแอปจาก Camera1 โปรดดูคำแนะนำในการย้ายข้อมูลจาก Camera1 ไปยัง CameraX
ประโยชน์หลัก
CameraX ปรับปรุงประสบการณ์ของนักพัฒนาแอปในด้านสำคัญๆ หลายด้าน
ความเข้ากันได้กับอุปกรณ์ที่หลากหลาย
CameraX รองรับอุปกรณ์ที่ใช้ Android 5.0 (ระดับ API 21) ขึ้นไป ซึ่งคิดเป็นกว่า 98% ของอุปกรณ์ Android ที่มีอยู่
ใช้งานง่าย
CameraX เน้นกรณีการใช้งาน ซึ่งช่วยให้คุณมุ่งเน้นที่งานที่ต้องทำให้เสร็จแทนที่จะจัดการความแตกต่างเล็กๆ น้อยๆ เฉพาะอุปกรณ์ ระบบรองรับกรณีการใช้งานกล้องที่พบบ่อยที่สุด ดังนี้
- แสดงตัวอย่าง: ดูรูปภาพบนจอแสดงผล
- การวิเคราะห์รูปภาพ: เข้าถึงบัฟเฟอร์ได้อย่างราบรื่นเพื่อใช้ในอัลกอริทึม เช่น เพื่อส่งไปยัง ML Kit
- การจับภาพ: บันทึกรูปภาพ
- การจับภาพวิดีโอ: บันทึกวิดีโอและเสียง
ความสอดคล้องกันในอุปกรณ์ต่างๆ
รูปที่ 2 ห้องปฏิบัติการทดสอบ CameraX อัตโนมัติช่วยให้มั่นใจได้ว่าประสบการณ์การใช้งาน API จะสอดคล้องกันในอุปกรณ์ประเภทต่างๆ และผู้ผลิตหลายราย
การรักษาลักษณะการทำงานของกล้องให้สอดคล้องกันเป็นเรื่องยาก คุณต้องพิจารณาสัดส่วนภาพ การวางแนว การหมุน ขนาดตัวอย่าง และขนาดรูปภาพ เมื่อใช้ CameraX ลักษณะการทำงานพื้นฐานเหล่านี้จะทำงานได้ทันที
เราดูแลรักษาห้องปฏิบัติการทดสอบ CameraX แบบอัตโนมัติที่ทดสอบลักษณะการทำงานของกล้องที่หลากหลายในอุปกรณ์ต่างๆ และระบบปฏิบัติการทุกเวอร์ชันตั้งแต่ Android 5.0 เป็นต้นมา การทดสอบเหล่านี้จะทำงานอย่างต่อเนื่องเพื่อระบุและแก้ไขปัญหาต่างๆ มากมาย
ส่วนขยายกล้อง
รูปที่ 3 รูปภาพที่จับภาพด้วยเอฟเฟกต์โบเก้ (ภาพบุคคล) โดยใช้ CameraX
CameraX มี API ส่วนขยายที่ไม่บังคับ ซึ่งช่วยให้คุณเข้าถึงฟีเจอร์และความสามารถเดียวกันกับแอปกล้องที่มาพร้อมเครื่องของอุปกรณ์ได้โดยใช้โค้ดเพียง 2 บรรทัด
ส่วนขยายต่างๆ ได้แก่ โบเก้ (ภาพบุคคล), High Dynamic Range (HDR), โหมดกลางคืน และรีทัชใบหน้า ซึ่งทั้งหมดนี้ต้องได้รับการรองรับจากอุปกรณ์
กรณีศึกษา
หากต้องการดูว่า CameraX ช่วยลดความซับซ้อนในการพัฒนาแอป Monzo ได้อย่างไร โปรดดูกรณีศึกษาของ Monzo
เอกสารประกอบ
- สถาปัตยกรรม CameraX
- ตัวเลือกการกำหนดค่า
- ใช้ตัวอย่าง
- การวิเคราะห์รูปภาพ
- การจับภาพ
- การจับภาพวิดีโอ
- ส่วนขยายกล้อง
- เปลี่ยนรูปแบบเอาต์พุต
- การหมุนเวียน Use Case
- อุปกรณ์ที่ผ่านการทดสอบในห้องปฏิบัติการ
แหล่งข้อมูลเพิ่มเติม
ดูข้อมูลเพิ่มเติมเกี่ยวกับ CameraX ได้ที่แหล่งข้อมูลเพิ่มเติมต่อไปนี้
Codelab
ตัวอย่างโค้ด