กล้องถ่ายรูป X
ตารางนี้แสดงรายการอาร์ติแฟกต์ทั้งหมดในกลุ่ม androidx.camera
อาร์ติแฟกต์ | รุ่นที่เสถียร | ตัวเลือกถอนการอ้างสิทธิ์ | รุ่นเบต้า | รุ่นอัลฟ่า |
---|---|---|---|---|
กล้อง 2 | 1.3.4 | 1.4.0-Rc01 | - | 1.5.0-alpha01 |
แกนกล้อง | 1.3.4 | 1.4.0-Rc01 | - | 1.5.0-alpha01 |
เอฟเฟกต์กล้อง | - | 1.4.0-Rc01 | - | 1.5.0-alpha01 |
ส่วนขยายกล้อง | 1.3.4 | 1.4.0-Rc01 | - | 1.5.0-alpha01 |
วงจรกล้อง | 1.3.4 | 1.4.0-Rc01 | - | 1.5.0-alpha01 |
Camera-MLkit-Vis | - | 1.4.0-Rc01 | - | 1.5.0-alpha01 |
มุมมองกล้อง | 1.3.4 | 1.4.0-Rc01 | - | 1.5.0-alpha01 |
ช่องมองภาพของกล้อง | - | - | 1.3.0-เบต้า02 | 1.4.0-alpha07 |
กล้องวิดีโอ | 1.3.4 | 1.4.0-Rc01 | - | 1.5.0-alpha01 |
การทดสอบอุปกรณ์
CameraX ได้รับการทดสอบบนอุปกรณ์หลายชนิดในห้องทดลองของเรา หากต้องการดูรายการอุปกรณ์ อยู่ใน Lab ในขณะนี้ โปรดดู CameraX ผ่านการทดสอบในห้องทดลอง อุปกรณ์
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน CameraX คุณต้องเพิ่มที่เก็บ Google Maven ไปยัง โปรเจ็กต์ของคุณ อ่านแล้ว ที่เก็บ Maven ของ Google สำหรับข้อมูลเพิ่มเติม
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle
สำหรับ
ในแอปหรือโมดูล
ดึงดูด
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.5.0-alpha01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.5.0-alpha01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
ความคิดเห็น
ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากคุณพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูที่ ปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนที่จะสร้างใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูเอกสารประกอบเกี่ยวกับเครื่องมือติดตามปัญหา เพื่อดูข้อมูลเพิ่มเติม
ช่องมองภาพของกล้อง Compose เวอร์ชัน 1.0
เวอร์ชัน 1.0.0-alpha02
12 มิถุนายน 2024
ปล่อย androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
แล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้
เวอร์ชัน 1.0.0-alpha01
14 พฤษภาคม 2024
ปล่อย androidx.camera:camera-viewfinder-compose:1.0.0-alpha01
แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- คลังใหม่ ไลบรารีนี้เปิดตัว Compose ในตัวช่องมองภาพแบบ Composable ซึ่งสามารถใช้กับ CameraX และ Camera2 ช่องมองภาพแบบประกอบได้รองรับสัดส่วนภาพที่แตกต่างกันและการจัดการกิจกรรมการสัมผัส
ช่องมองภาพของกล้อง เวอร์ชัน 1.4
เวอร์ชัน 1.4.0-alpha07
12 มิถุนายน 2024
ปล่อย androidx.camera:camera-viewfinder:1.4.0-alpha07
และ androidx.camera:camera-viewfinder-core:1.4.0-alpha07
แล้ว เวอร์ชัน 1.4.0-alpha07 มีคอมมิตเหล่านี้
เวอร์ชัน 1.4.0-alpha06
14 พฤษภาคม 2024
ปล่อย androidx.camera:camera-viewfinder:1.4.0-alpha06
และ androidx.camera:camera-viewfinder-core:1.4.0-alpha06
แล้ว เวอร์ชัน 1.4.0-alpha06 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ Enum ของ
Viewfinder
ImplementationMode
เพื่อให้สะท้อนถึงการติดตั้งใช้งานที่เกี่ยวข้องได้ดีขึ้น และเพิ่มค่าคงที่ที่คงที่สำหรับTransformationInfo.sourceRotation
(Ic6149) - เพิ่ม
ZoomGestureDetector.ZoomEvent
เพื่อสรุปสถานะของท่าทางสัมผัสการซูม (I84cdf)
กล้องเวอร์ชัน 1.5
เวอร์ชัน 1.5.0-alpha01
4 กันยายน 2024
ปล่อย androidx.camera:camera-*:1.5.0-alpha01
แล้ว เวอร์ชัน 1.5.0-alpha01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ให้ API เพื่อตั้งค่าองค์ประกอบสำหรับการจับภาพวิดีโอจากกล้องคู่ การตั้งค่าดังกล่าวรวมถึงค่าอัลฟ่าสำหรับการเบลนด์ ออฟเซ็ตในพิกัด x, y, สเกลความกว้างและความสูงของหน้าต่างแสดงผลเฟรมกล้อง ออฟเซ็ต ความกว้างและความสูงจะระบุเป็นพิกัดอุปกรณ์มาตรฐาน (Ia2b8a)
- เปิดเผย
CameraProvider.getCameraInfo
ว่าเป็น API อย่างเป็นทางการ (I901cd) - เพิ่ม API
PendingRecording.withAudioEnabled(boolean initialMuted)
เพื่อควบคุมสถานะปิดเสียงเริ่มต้นแล้ว (I635c3, b/354829267)
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อเรียกใช้
bindToLifecycle
ด้วยLifecycleOwner
ที่ถูกทำลาย (I6e6d8) - การแสดงตัวอย่างแบบคงที่เป็นหน้าจอสีดำในกล้องหน้าขณะเชื่อมโยงกับ
VideoCapture
ใน Motorola Edge 20 Fusion (I1fe88) - เพิ่มประสิทธิภาพการกำหนดค่าสำหรับการตรวจหาท่าทางสัมผัสการซูมใน
PreviewView
เพื่อปรับปรุงความลื่นไหล (I04ffc)
กล้องเวอร์ชัน 1.4
เวอร์ชัน 1.4.0-rc01
7 สิงหาคม 2024
ปล่อย androidx.camera:camera-*:1.4.0-rc01
แล้ว เวอร์ชัน 1.4.0-rc01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
CameraInfo.getCameraInfo
เวอร์ชันทดลองเพื่อให้ข้อมูลที่เจาะจงของกล้องโดยไม่ต้องเชื่อมโยง Use Case กับกล้อง (I550d1)
การเปลี่ยนแปลง API
- เพิ่ม API ของ
PreviewView.getScreenFlash
และPreviewView.setScreenFlashOverlayColor
สำหรับกรณีที่ไม่ได้เพิ่มScreenFlashView
ไว้อย่างชัดแจ้ง (I43945)
แก้ไขข้อบกพร่อง
- แก้ปัญหาการรับแสงและการย้อมสีเมื่อถ่ายภาพโดยใช้แฟลชภายใต้แสงน้อยโดยผูกกรณีการใช้งาน VideoCapture (Ic9814)
- แก้ไขปัญหาที่รบกวนคำขอ
takePicture
ที่เปิดใช้ส่วนขยายอาจรับผลลัพธ์ไม่ได้ และคำขอtakePicture
ถัดไปอาจใช้ไม่ได้อีกต่อไป (Iae78f) - แก้ไขปัญหาหน่วยความจำรั่วไหลที่เกิดขึ้นเมื่อเปิดใช้ส่วนขยาย (Iab276)
- แก้ปัญหาส่วนขยาย CameraX ทำงานผิดปกติในอุปกรณ์ เช่น Pixel 7/8 และ Samsung Galaxy S24 Series ปัญหานี้เกิดจากปัญหา Conversion
Camera2OutputConfigImpl
ในโหมดเผยแพร่ ซึ่งเกิดขึ้นหลังจากอัปเกรด AGP เป็น 8.5.1 และเปิดใช้การลดขนาด (I99598, b/354824993)
เวอร์ชัน 1.4.0-beta02
12 มิถุนายน 2024
ปล่อย androidx.camera:camera-*:1.4.0-beta02
แล้ว เวอร์ชัน 1.4.0-beta02 มีสัญญาผูกมัดเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
setMirrorMode
สำหรับ Use Case ของตัวอย่าง เช่นเดียวกับVideoCapture
ซึ่งจะรองรับการเปิดและปิดโหมดมิเรอร์สำหรับสตรีมตัวอย่างผ่านOutputConfiguration.setMirrorMode
จาก API 33 ขึ้นไป สำหรับ API เวอร์ชันเก่า ฟีเจอร์นี้จะไม่มีการดำเนินการ (I821F4)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่แอปถ่ายภาพบน Samsung Tab A8 ไม่สำเร็จเมื่อ
ImageCapture
เลือก 1920x1080 โดยใช้ชุดค่าผสมPreview
+VideoCapture
+ImageCapture
UseCase
(I5a463, b/336925549) - การบันทึกถาวรแบบแก้ไขแล้วอาจบันทึกต่อไม่ได้หลังจากเปลี่ยนกล้อง (Icb0a1)
เวอร์ชัน 1.4.0-beta01
14 พฤษภาคม 2024
ปล่อย androidx.camera:camera-*:1.4.0-beta01
แล้ว เวอร์ชัน 1.4.0-beta01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
ZoomGestureDetector.ZoomEvent
เพื่อสรุปสถานะของท่าทางสัมผัสการซูม (I84cdf)
แก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องที่ยังจับภาพและแตะเพื่อโฟกัสไม่ให้ใช้ค่าโหมด FPS/การป้องกันภาพสั่นไหวของคำขอซ้ำ ซึ่งอาจสร้างเซสชันการจับภาพใหม่และทำให้เกิดปัญหากับเวลาในการตอบสนองหรือการแสดงตัวอย่างค้างในอุปกรณ์บางเครื่อง (I7dc0b)
- แก้ไขข้อบกพร่องที่เลือกความละเอียดสูงไม่ได้เมื่อเปิดใช้
CameraEffect
ในอุปกรณ์บางเครื่อง (เช่น 4000x3000 ใน Samsung A32 5G) (Ie3ed3, b/337336152) - แก้ไขข้อขัดข้องเมื่อถ่ายภาพด้วยการแสดงตัวอย่าง การผูก
ImageCapture
และVideoCapture(UHD)
จะผูกกับ Pixel 4XL API29 (I5B288) - รองรับอุปกรณ์เสมือน: บริบทที่ส่งผ่านไปยัง
ProcessCameraProvider
จะเก็บรหัสอุปกรณ์ไว้เพื่อให้ฟังก์ชันการทำงานในสภาพแวดล้อมของอุปกรณ์เสมือน (I5ba48)
เวอร์ชัน 1.4.0-alpha05
17 เมษายน 2024
ปล่อย androidx.camera:camera-*:1.4.0-alpha05
แล้ว เวอร์ชัน 1.4.0-alpha05 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- แปลง
ProcessCameraProvider
เป็นการติดตั้งใช้งาน Kotlin แล้ว (I46d4f) - เพิ่มฟังก์ชันการระงับ
ImageCapture.takePicture
เพื่อให้สามารถเรียกใช้ในแบบ Kotlin-idiomatic (I920be)
การเปลี่ยนแปลง API
- เพิ่ม API รูปแบบเอาต์พุตไปยัง
ImageCapture
และเพิ่มเมธอดgetSupportedOutputFormats
ไปยังImageCaptureCapabilities
เพื่อค้นหาความสามารถของอุปกรณ์ ค่าเริ่มต้นของรูปแบบเอาต์พุตคือOUTPUT_FORMAT_JPEG
ซึ่งจะจับภาพ SDR ในรูปแบบ JPEG เมื่ออุปกรณ์รองรับ Ultra HDR และตั้งค่ารูปแบบเอาต์พุตเป็นOUTPUT_FORMAT_JPEG_ULTRA_HDR
แล้ว CameraX จะจับภาพที่บีบอัดด้วย Ultra HDR โดยใช้รูปแบบรูปภาพ JPEG/R รูปแบบนี้เข้ากันได้กับรูปแบบ SDR JPEG และรองรับการแสดงผลเนื้อหาแบบ HDR ซึ่งหมายความว่าในแอปหรืออุปกรณ์รุ่นเก่า รูปภาพจะปรากฏเป็น JPEG ปกติอย่างราบรื่น ในแอปและอุปกรณ์ที่อัปเดตให้รองรับรูปแบบนี้อย่างสมบูรณ์ รูปภาพจะปรากฏเป็น HDR (I5de50) - เพิ่ม
PhysicalCameraInfo
ในCameraInfo
เพื่อค้นหาข้อมูลกล้องจริงและเพิ่มผู้ตั้ง/รหัสกล้องจริงในCameraSelector
(Ic5b90) - แทนที่
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
ด้วยImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
ค่าของคงที่จะยังคงเดิม ซึ่งเป็นวิธีในการรวมค่าคงที่ทั้งหมดไว้ในที่เดียว (I890bb) RetryPolicy
API ใหม่ช่วยให้นักพัฒนาแอปปรับแต่งลักษณะการลองอีกครั้งสำหรับการเริ่มต้น CameraX ได้ (I36dd2)- เปิดใช้การสร้างออบเจ็กต์
ImageCaptureLatencyEstimate
เพื่อช่วยในการทดสอบ (Iaba99) - เพิ่ม
ImageAnalysis#COORDINATE_SYSTEM_SENSOR
เมื่อใช้ค่านี้MlKitAnalyzer
จะแสดงผลพิกัดในระบบพิกัดเซ็นเซอร์ของกล้อง (I3ec61) - API ข้อมูลเมตาของส่วนขยายที่เปิดเผย อินเทอร์เฟซ
CameraExtensionsInfo
และCameraExtensionsControl
ใหม่ช่วยให้แอปพลิเคชันตรวจสอบและปรับการตั้งค่าความแรงของส่วนขยายได้ แอปพลิเคชันสามารถรับอินสแตนซ์CameraExtensionsInfo
หรือCameraExtensionsControl
ผ่านเมธอดExtensionsManager#getCameraExtensionsInfo()
หรือExtensionsManager#getCameraExtensionsControl()
ที่เพิ่มเข้ามาใหม่ (I28e1a) - เพิ่ม
ProcessCameraProvider.awaitInstance
ซึ่งเป็นเวอร์ชันที่มีการระงับของProcessCameraProvider.getInstance
(Ib22b9) - เพิ่ม
PreviewView#getSensorToViewTransform()
API เมทริกซ์จะแสดงการแปลงจากพิกัดเซ็นเซอร์ของกล้องเป็นพิกัดของPreviewView
สามารถใช้เพื่อเปลี่ยนรูปแบบพิกัดจากUseCase
หนึ่งเป็นอีกพิกัดหนึ่งได้ ตัวอย่างเช่น การแปลงพิกัดของวัตถุที่ตรวจพบในImageAnalysis
เป็นการวางซ้อนPreviewView
(I947ab) - ทำให้
camera-viewfinder-core
API มีความเฉพาะเจาะจงมากขึ้นเพื่อให้camera-viewfinder
และcamera-viewfinder-compose
ใช้ได้ (I1e295) - เพิ่มฟังก์ชัน
getSurface
ลงในViewfinderSurfaceRequest
(I781a0) - ใช้
camera-viewfinder-core
ในcamera-viewfinder
และเลิกใช้งานViewfinderSurfaceRequest
และCameraViewfinder
(I6198C) - เพิ่ม
ZoomGestureDetector
ที่ตีความท่าทางสัมผัสการปรับขนาดที่กำหนดค่าไว้สำหรับกิจกรรมแบบบีบเพื่อซูมโดยเฉพาะ (Ifafbf)
แก้ไขข้อบกพร่อง
- แก้ไขแล้ว
ImageAnalysis
' ปัญหาการเลือกความละเอียดที่เกี่ยวข้องกับการตั้งค่าความละเอียดเป้าหมายเริ่มต้นของตัววิเคราะห์: ความละเอียดเป้าหมายถูกเก็บไว้เป็น 640x480 อย่างไม่ถูกต้อง แม้ว่าแอปพลิเคชันจะตั้งค่าความละเอียดเริ่มต้นของโปรแกรมวิเคราะห์เป็นอย่างอื่นก็ตาม หากแอปพลิเคชันพบปัญหานี้ (1.3.0 ~ 1.3.2) และไม่สามารถอัปเกรดไปใช้รุ่นที่ใหม่กว่าซึ่งมีโซลูชันนี้ได้ การตั้งค่าResolutionSelector
โดยตรงด้วยความละเอียดที่ต้องการ และAspectRatioStrategy
ที่ตรงกันกับUseCase
ของImageAnalysis
สามารถช่วยแก้ปัญหานี้ได้ (I81f72, b/330091012) - แก้ไขปัญหาที่คำขอ
takePicture
อยู่ในคิวอาจเรียกใช้ไม่ได้ หากคำขอปัจจุบันล้มเหลว (Ie0801) - ใช้การตรวจสอบข้อมูล JPEG ที่ไม่ถูกต้องกับอุปกรณ์ Vivo X60 และ X60 Pro วิธีนี้จะแก้ไขปัญหาภาพขนาดใหญ่ผิดปกติในอุปกรณ์เหล่านี้ได้ (I82247, b/288828159)
- แก้ไขปัญหาข้อมูลเมตาของรูปภาพ JPEG ที่ไม่ถูกต้องในอุปกรณ์ Samsung A24 วิธีแก้ไขทำให้ CameraX บันทึกรูปภาพ JPEG ได้สำเร็จ หรือสามารถแสดงผลออบเจ็กต์บิตแมปที่ถูกต้องเมื่อเรียกใช้ฟังก์ชัน
ImageProxy.toBitmap()
ในอุปกรณ์ Samsung A24 (I8d6eb, b/309005680) - ใช้การตรวจสอบข้อมูล JPEG ที่ไม่ถูกต้องกับอุปกรณ์ Samsung ทุกเครื่องหากรูปภาพที่จับภาพนั้นมีขนาดใหญ่กว่า 10 MB วิธีนี้สามารถแก้ไขปัญหาปัญหาใหญ่ผิดปกติบนอุปกรณ์ Samsung ได้ (Ic2a65, b/288828159)
- นำการรองรับ
ImageAnalysis
ออกจากส่วนขยาย CameraX เป็นจำนวนมากของ OEM การใช้งานส่วนขยายทำงานได้ไม่ดีกับImageAnalysis
และอาจทำให้เกิดปัญหาที่ไม่สอดคล้องกัน (I2d926)
เวอร์ชัน 1.4.0-alpha04
24 มกราคม 2024
ปล่อย androidx.camera:camera-*:1.4.0-alpha04
แล้ว เวอร์ชัน 1.4.0-alpha04 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- อาร์ติแฟกต์ใหม่: เอฟเฟกต์กล้อง: ไลบรารีสำหรับใช้เอฟเฟกต์แบบเรียลไทม์กับเอาต์พุต CameraX ซึ่งรวมถึง
Preview
,VideoCapture
และ/หรือImageCapture
อาร์ติแฟกต์นี้มีการใช้ OpenGL ของCameraEffect
API ที่จัดการเอาต์พุตของกล้องอย่างมีประสิทธิภาพ OverlayEffect
: สำหรับการวาดภาพซ้อนทับด้วย Canvas API ของ Android การดำเนินการนี้ช่วยให้แอปใช้ลายน้ำหรือไฮไลต์วัตถุที่ตรวจพบในเอาต์พุตของกล้องได้DynamicRange
API สำหรับกรณีการใช้งานตัวอย่าง: ตอนนี้คุณสามารถตั้งค่าช่วงไดนามิกในกรณีการใช้งานตัวอย่างได้ โดยไม่ขึ้นอยู่กับกรณีการใช้งานวิดีโอ ซึ่งจะช่วยเพิ่มช่วงไดนามิกแบบ HDR เช่น HLG10 สำหรับการแสดงตัวอย่างเพียงอย่างเดียว นอกจากนี้ API ใหม่ยังมีในCameraInfo
เพื่อค้นหาช่วงไดนามิกที่กล้องแต่ละตัวรองรับ
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ
ScreenFlashUiCompleter
เป็นScreenFlashListener
และย้ายScreenFlashUiCompleter#getExpirationTimeMillis
ไปยังพารามิเตอร์expirationTimeMillis
ของScreenFlash#apply
แล้ว (I13944) - เพิ่ม API ใหม่เพื่ออนุญาตให้ตั้งค่าช่วงไดนามิกใน Use Case ของตัวอย่าง และค้นหาช่วงไดนามิกที่กล้องแต่ละตัวรองรับ วิธีนี้ช่วยให้สามารถใช้ช่วงไดนามิกของ HDR เช่น HLG10 กับ Use Case ของตัวอย่างเพียงอย่างเดียว โดยไม่ต้องผูก
VideoCapture
พร้อมกันอีกต่อไป (If25e3) - เปลี่ยนชื่อ
getMirroring()
เป็นisMirroring()
(I47063) แล้ว - เพิ่มการรองรับเวลาในการตอบสนองโดยประมาณของการจับภาพแบบเรียลไทม์ใน CameraX ส่วนขยายกล้องช่วยให้แอปพลิเคชันใช้ API ที่ระบุระยะเวลาโดยประมาณในการจับภาพได้ ค่าประมาณดังกล่าวพิจารณาจากสภาพแวดล้อมปัจจุบัน สถานะของกล้อง และรวมเวลาที่ใช้ในการประมวลผลคำขอจับภาพหลายเฟรม ตลอดจนเวลาเพิ่มเติมสำหรับบัฟเฟอร์ที่ประมวลผลการเข้ารหัสหากจำเป็น (I05c3a)
- เปลี่ยนชื่อ
ScreenFlashUiControl
เป็นScreenFlash
,ScreenFlashUiControl#applyScreenFlashUi
เป็นScreenFlash#apply
,ScreenFlashUiControl#clearScreenFlashUi
เป็นScreenFlash#clear
และเพิ่มเมธอดgetScreenFlashUiApplyTimeoutSeconds
แทนการแสดงSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS
โดยตรง (Iccdd0)
แก้ไขข้อบกพร่อง
- แก้ไขการรั่วไหลของหน่วยความจำที่ส่งผลให้ระบบไม่เผยแพร่กิจกรรมหรือส่วนย่อยเมื่อเปิดใช้ส่วนขยาย (I14215)
- แก้ไขปัญหาที่
getZoomRatio
แสดงผลค่าที่ลดลงอย่างไม่ถูกต้องเมื่อใช้อัตราส่วนการซูมที่เพิ่มขึ้น (I4aa0d, b/317543616) - ระบบจะเรียกใช้เหตุการณ์
ImageCapture#ScreenFlash#clear
ทันทีเมื่อเลิกผูกImageCapture
หรือปิดกล้อง รวมถึงแก้ไขข้อบกพร่องที่ไม่มีการเรียกใช้เนื่องจากการบันทึกในสถานการณ์เหล่านี้ไม่สมบูรณ์ (If99f9) - แก้ไขข้อขัดข้องที่เกิดขึ้นเมื่อหยุดวงจรก่อนที่คำขอ
takePicture
จะเสร็จสมบูรณ์ (Idf017, b/306202751) - แก้ไขปัญหาที่การแสดงตัวอย่างจากกล้องกลายเป็นสีดำเมื่อเปิดใช้ส่วนขยายในอุปกรณ์บางเครื่อง (I1ffd0)
- แก้ไขระยะเวลาการบันทึกวิดีโอที่ไม่ถูกต้องในอุปกรณ์ที่ใช้ Snapdragon 778G SoC (If6aa7, b/316057919)
เวอร์ชัน 1.4.0-alpha03
13 ธันวาคม 2023
ปล่อย androidx.camera:camera-*:1.4.0-alpha03
แล้ว เวอร์ชัน 1.4.0-alpha03 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
CameraInfo.mustPlayShutterSound
เพื่อให้ข้อมูลว่าต้องเล่นเสียงชัตเตอร์ตามข้อจำกัดระดับภูมิภาคหรือไม่ (Ifda84) - เพิ่ม
OnImageCapturedCallback.onCaptureStarted
และOnImageSavedCallback.onCaptureStarted
สำหรับการแจ้งเตือนเมื่อกล้องเริ่มแสดงเฟรม ขอแนะนำให้เล่นเสียงชัตเตอร์หรือภาพเคลื่อนไหวชัตเตอร์ ณ จุดนี้ (Ic49b3) - เพิ่มการรองรับฟีเจอร์แฟลชหน้าจอใน CameraX สำหรับการจับภาพจากกล้องหน้า CameraX จะดูแลการจัดการ API ทางเฟรมเวิร์ก และซิงค์ช่วงเวลากับการเปลี่ยนแปลง UI ของแอปพลิเคชันตามที่จำเป็น (เช่น ทริกเกอร์ค่าจับภาพล่วงหน้า AE หลังจากเปลี่ยนสี/ความสว่างของหน้าจอแอป) แอปเพียงแค่ต้องเพิ่มการใช้งานด้าน UI ของตนในอินเทอร์เฟซ
ScreenFlashUiControl
ที่ให้ไว้กับ CameraX (I8ae84) - เพิ่มการรองรับการใช้งานด้าน UI ของหน้าจอใน CameraX แอปจะสามารถติดตั้งใช้งาน
ImageCapture.ScreenFlashUiControl
พื้นฐานจากPreviewView
หรือScreenFlashView
ที่เพิ่มเข้ามาใหม่ ซึ่งจะเพิ่มมุมมองซ้อนทับแบบโมโนและเพิ่มความสว่างของหน้าจอสูงสุดระหว่างการจับภาพด้วยแฟลชหน้าจอ (I1810e)
การเปลี่ยนแปลง API
- รองรับฟีเจอร์ส่วนขยายใหม่(มุมมองภายหลังและความคืบหน้าของกระบวนการบันทึก): เพิ่ม API ของ
ImageCapture#getImageCaptureCapabilities()
สำหรับแอปเพื่อค้นหาความสามารถของมุมมองหลังการถ่ายทำและการเรียกกลับเกี่ยวกับความคืบหน้าของกระบวนการ แอปจะเปิดใช้มุมมองโพสต์ได้โดยใช้ImageCapture.Builder#setPostviewEnabled()
เลือกขนาดมุมมองโพสต์ได้โดยใช้ImageCapture.Builder#setPostviewResolutionSelector()
เมื่อเรียกใช้takePicture()
คุณสามารถใช้onPostviewBitmapAvailable
และonCaptureProcessProgressed
ในOnImageSavedCallback
หรือOnImageCapturedCallback
เพื่อรับการแจ้งเตือนหลังการประมวลผลและการแจ้งเตือนความคืบหน้าของกระบวนการได้หากรองรับ (I5cd88) - API สำหรับคำนวณการแปลงพิกัดจากเซ็นเซอร์ไปยังบัฟเฟอร์ปัจจุบันพร้อมธงระบุว่า Surface มีข้อมูลการวางแนวกล้องหรือไม่ (I59096)
- แสดง API เพื่อค้นหา
PreviewCapabitlity
ในหน้าตัวอย่างUseCase
(Ie5b6c) - เพิ่ม API เพื่อรองรับคุณภาพเพิ่มเติมสำหรับ
VideoCapture
คุณสามารถใช้Recorder.Builder#setVideoCapabilitiesSource(int)
กับVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES
เพื่อสร้างอินสแตนซ์Recorder
ซึ่งรองรับคุณภาพมากกว่าVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE
กรณีการใช้งานที่พบบ่อยคือเมื่อแอปพลิเคชันพยายามบันทึกวิดีโอ UHD เมื่อใดก็ตามที่ทำได้ แต่CamcorderProfile
ของอุปกรณ์ไม่มีการตั้งค่า UHD แม้ว่าตัวแปลงรหัสจะสามารถบันทึกวิดีโอ UHD ก็ตาม (Iedbe2, b/263961771) - เพิ่ม Getter/setter รูปแบบเอาต์พุต
ImageAnalysis
ไปยังCameraController
(I9a96c, b/308240643)
แก้ไขข้อบกพร่อง
- จากกล้อง
1.3.1
: ปรับปรุงประสิทธิภาพProcessCameraProvider#bindToLifecycle()
การเปลี่ยนแปลงที่สำคัญคือการเพิ่มประสิทธิภาพกระบวนการระบุชุดค่าผสมขนาดที่เหมาะสมที่สุดสำหรับUseCases
ผลลัพธ์ที่ดีที่สุดจะแตกต่างกันไปตามชุดค่าผสมUseCase
เฉพาะ และจำนวนขนาดเอาต์พุตที่รองรับสำหรับอุปกรณ์เป้าหมาย (I454f2) - อนุญาตให้ใช้
VideoCapture
เมื่อเปิดใช้ส่วนขยาย (I91f32) - แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung A71 และ M51 รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ทำให้รูปภาพที่จับภาพมีขนาดไฟล์ใหญ่สุด ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I01afc, b/288828159)
- ปิดใช้การรองรับ
ImageAnalysis
ใน Pixel เพื่อหลีกเลี่ยงข้อบกพร่องใน Pixel ซึ่งแสดงผลขนาดที่รองรับImageAnalysis
ที่ไม่ว่างเปล่าโดยไม่ตั้งใจ (I7ec31) - แก้ปัญหาด้านประสิทธิภาพที่การโหลดของ CPU และการใช้พลังงานเพิ่มขึ้นเมื่อเปิดใช้ส่วนขยาย (Ibdccb)
- เพิ่ม Snapdragon 480 ใน
CameraUseInconsistentTimebaseQuirk
แล้ว การดำเนินการนี้จะแก้ไขปัญหาใน Android 12 สำหรับอุปกรณ์ที่ใช้ชิปเซ็ตนี้ซึ่งมีการชดเชยเสียงในการบันทึกตามระยะเวลาที่อุปกรณ์อยู่ในสถานะถูกระงับ (I58010)
เวอร์ชัน 1.4.0-alpha02
18 ตุลาคม 2023
ปล่อย androidx.camera:camera-*:1.4.0-alpha02
แล้ว เวอร์ชัน 1.4.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ API เป็น
setCameraOpenRetryMaxTimeoutInMillisWhileResuming
และเปลี่ยนชื่ออาร์กิวเมนต์ (I72370) - การเพิ่ม API เพื่อค้นหาความสามารถของอุปกรณ์และเปิดใช้การป้องกันภาพสั่นไหวในวิดีโอ/ตัวอย่าง (I87544)
- ระบุ API เพื่อปรับแต่งเวลาสูงสุดในการลองเปิดกล้องอีกครั้ง (I0c642)
- เปิดตัว
ProcessCameraProvider.shutdownAsync
เป็น API การทดสอบแบบสาธารณะเพื่ออนุญาตให้ใช้งานผู้ให้บริการกล้องประมวลผลในชุดทดสอบ ซึ่งอาจต้องเริ่มต้น CameraX ด้วยวิธีต่างๆ ในระหว่างการทดสอบ (I9eca7) - เพิ่ม API สำหรับการกำหนดค่าช่วงไดนามิกของการจับภาพวิดีโอ อัตราเฟรม และโหมดมิเรอร์ (Ifb8f7)
- เลิกใช้งาน
OutputSize
และแทนที่ด้วยResolutionSelector
ResolutionSelector
เป็นวิธีที่ครอบคลุมมากขึ้นในการเลือกความละเอียด และสอดคล้องกับ API หลักของกล้อง (I93abd, b/286801438)
แก้ไขข้อบกพร่อง
- แก้ปัญหาตัวอย่างสีดำใน Samsung Galaxy S23 Ultra 5G เมื่อมีการเปิดใช้ส่วนขยายโบเก้หรือรีทัชใบหน้าด้วย
ImageAnalysis
ในกล้องหลัง (I2e8b1) - แก้ไขการดูตัวอย่างและปัญหาเพิ่มเติม
VideoCapture
รายการใน Moto E5 Play (73dce2)
เวอร์ชัน 1.4.0-alpha01
20 กันยายน 2023
ปล่อย androidx.camera:camera-*:1.4.0-alpha01
แล้ว เวอร์ชัน 1.4.0-alpha01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API ใหม่เพื่อเข้าถึงข้อมูลแอมพลิจูดของเสียงขณะบันทึก (Id4925)
แก้ไขข้อบกพร่อง
- ปรับปรุงความเสถียรของส่วนขยายด้วยการตรวจสอบว่ามีการทริกเกอร์เหตุการณ์การเริ่มต้นและการยกเลิกเริ่มต้นตามลำดับที่ถูกต้อง (Ib3b8e)
- แก้ไขความล้มเหลวในการกำหนดค่าเซสชันการจับภาพเนื่องจากเกินขีดจำกัดของแพลตฟอร์มที่รองรับเนื่องจากมีการเพิ่มพื้นผิวซ้ำเพิ่มเติมภายใน (Id718c)
- แก้ปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Vivo S16 รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ทำให้รูปภาพที่จับภาพมีขนาดไฟล์ใหญ่ ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I79505, b/299069235)
- แก้ไขปัญหาการเชื่อมโยง
ImageAnalysis
กับImageCapture
เข้าด้วยกันไม่ได้ และการแสดงตัวอย่างเมื่อเปิดใช้โหมดส่วนขยายบางโหมดในอุปกรณ์บางเครื่อง การแก้ไขจะแสดงค่าที่ถูกต้องเมื่อแอปค้นหาความพร้อมใช้งานของImageAnalysis
ผ่านExtensionsManager#isImageAnalysisSupported()
(I7d538) - อัปเดต JavaDoc ให้ตรงกับลักษณะการทำงาน แทนที่จะดำเนินการเสร็จสมบูรณ์ทันที
#setZoomRatio
,#setLinearZoom
และ#enableTorch
จะรอจนกว่ากล้องจะพร้อมใช้งาน รวมถึงเพิ่มข้อมูลเกี่ยวกับวิธีรับ FOV สูงสุดด้วย#takePicture
API (I23588)
เวอร์ชัน 1.3
เวอร์ชัน 1.3.4
12 มิถุนายน 2024
ปล่อย androidx.camera:camera-*:1.3.4
แล้ว เวอร์ชัน 1.3.4 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่
getZoomRatio
แสดงผลค่าที่ลดลงอย่างไม่ถูกต้องเมื่อใช้อัตราส่วนการซูมที่เพิ่มขึ้น (I4aa0d, b/317543616) - แก้ไขการจับภาพนิ่ง/แตะเพื่อโฟกัสที่ไม่ได้ใช้ค่าโหมด FPS/ระบบกันภาพสั่นของคำขอซ้ำ ซึ่งอาจสร้างเซสชันการจับภาพใหม่และทำให้เกิดปัญหาเวลาในการตอบสนองหรือการแสดงตัวอย่างค้างในอุปกรณ์บางเครื่อง (I7dc0b)
- แก้ไขปัญหาที่ตั้งค่าอัตราเฟรมเป็นค่าที่ต่ำลงเมื่อเรียกใช้
setTargetFrameRate
ด้วยFRAME_RATE_RANGE_UNSPECIFIED
(I78c61)
เวอร์ชัน 1.3.3
17 เมษายน 2024
ปล่อย androidx.camera:camera-*:1.3.3
แล้ว เวอร์ชัน 1.3.3 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขแล้ว
ImageAnalysis
' ปัญหาการเลือกความละเอียดที่เกี่ยวข้องกับการตั้งค่าความละเอียดเป้าหมายเริ่มต้นของตัววิเคราะห์: ความละเอียดเป้าหมายถูกเก็บไว้เป็น 640x480 อย่างไม่ถูกต้อง แม้ว่าแอปพลิเคชันจะตั้งค่าความละเอียดเริ่มต้นของโปรแกรมวิเคราะห์เป็นอย่างอื่นก็ตาม หากแอปพลิเคชันพบปัญหานี้ (1.3.0 ~ 1.3.2) และไม่สามารถอัปเกรดไปใช้รุ่นที่ใหม่กว่าซึ่งมีโซลูชันนี้ได้ การตั้งค่าResolutionSelector
โดยตรงด้วยความละเอียดที่ต้องการ และAspectRatioStrategy
ที่ตรงกับ UseCase ของImageAnalysis
ช่วยแก้ปัญหานี้ได้ (I81f72, b/330091012)
เวอร์ชัน 1.3.2
6 มีนาคม 2024
ปล่อย androidx.camera:camera-*:1.3.2
แล้ว เวอร์ชัน 1.3.2 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาข้อมูลเมตา JPEG ในอุปกรณ์ Samsung A24 ตอนนี้ CameraX บันทึกรูปภาพได้อย่างแม่นยำ และฟังก์ชัน
ImageProxy.toBitmap()
จะแสดงออบเจ็กต์บิตแมปที่ถูกต้อง (I8d6eb, b/309005680) - นำตัวเลือกความละเอียด 9280x6944 ในอุปกรณ์ Redmi Note 9 Pro ออกแล้วเนื่องจากปัญหาต่างๆ (Ia23da)
เวอร์ชัน 1.3.1
13 ธันวาคม 2023
ปล่อย androidx.camera:camera-*:1.3.1
แล้ว เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
ปรับปรุงประสิทธิภาพ ProcessCameraProvider#bindToLifecycle()
การเปลี่ยนแปลงที่สำคัญคือการเพิ่มประสิทธิภาพกระบวนการระบุชุดค่าผสมขนาดที่เหมาะสมที่สุดสำหรับ UseCases
ผลลัพธ์ที่ดีที่สุดจะแตกต่างกันไปตามชุดค่าผสม UseCase
เฉพาะ และจำนวนขนาดเอาต์พุตที่รองรับสำหรับอุปกรณ์เป้าหมาย (I454f2)
ต่อไปนี้คือผลลัพธ์การอ้างอิงบางส่วนสำหรับสถานการณ์ต่างๆ
4
UseCases
:Preview
+ImageCapture
+ImageAnalysis
+VideoCapture
- Google Pixel 7: ประมาณ 430 ถึง 60 มิลลิวินาที
- Samsung Galaxy S23 Ultra: ประมาณ 540 ถึง 45 มิลลิวินาที
- Samsung A53 5G: ประมาณ 115 ถึง 70 มิลลิวินาที
UseCases
จำนวน 3 รายการ:Preview
+ImageCapture
+ImageAnalysis
- Google Pixel 7: ประมาณ 9 ถึง 7 มิลลิวินาที
- Samsung Galaxy S23 Ultra: ประมาณ 6 ถึง 5 มิลลิวินาที
- Samsung A53 5G: ประมาณ 32 ถึง 12 มิลลิวินาที
เพิ่ม Snapdragon 480 ใน
CameraUseInconsistentTimebaseQuirk
แล้ว การดำเนินการนี้จะแก้ไขปัญหาใน Android 12 สำหรับอุปกรณ์ที่ใช้ชิปเซ็ตนี้ซึ่งมีการชดเชยเสียงในการบันทึกตามระยะเวลาที่อุปกรณ์อยู่ในสถานะถูกระงับ (I58010)
เวอร์ชัน 1.3.0
18 ตุลาคม 2023
ปล่อย androidx.camera:camera-*:1.3.0
แล้ว เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0
- ฟีเจอร์วิดีโอ เช่น HDR 10 บิต, การครอบตัด, มิเรอร์/ไม่ใช่มิเรอร์, ปิด/เปิดเสียง, ตั้งค่าอัตราเฟรม และอื่นๆ
- กล้องพร้อมกันคู่
- คลังเอฟเฟกต์
- ตัวเลือกความละเอียด
- มุมกว้างพิเศษและ การเลือกกล้องแบบยืดหดได้
- การสลับกล้องระหว่างการบันทึกวิดีโอ (ฟีเจอร์ทดลอง)
เวอร์ชัน 1.3.0-rc02
20 กันยายน 2023
ปล่อย androidx.camera:camera-*:1.3.0-rc02
แล้ว เวอร์ชัน 1.3.0-rc02 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- ปรับปรุงความเสถียรของส่วนขยายด้วยการตรวจสอบว่ามีการทริกเกอร์เหตุการณ์การเริ่มต้นและการยกเลิกเริ่มต้นตามลำดับที่ถูกต้อง การดำเนินการนี้แก้ไขปัญหาตัวอย่างสีดำเมื่อสลับโหมดส่วนขยายหรือเปลี่ยนกล้อง (Iddaac)
- แก้ไขปัญหาที่
ImageAnalysis
เชื่อมโยงเข้ากับImageCapture
ไม่ได้และการแสดงตัวอย่างเมื่อเปิดใช้โหมดส่วนขยายบางโหมดในอุปกรณ์บางเครื่อง การแก้ไขจะแสดงค่าที่ถูกต้องเมื่อแอปค้นหาความพร้อมใช้งานของImageAnalysis
ผ่านExtensionsManager#isImageAnalysisSupported()
(I7d538) - แก้ปัญหาภาพและเสียงที่บันทึกไว้ไม่ตรงกันเมื่อเปิดใช้โหมดมิเรอร์ใน Xiaomi Poco X3 NFC (I20b4C)
เวอร์ชัน 1.3.0-rc01
23 สิงหาคม 2023
ปล่อย androidx.camera:camera-*:1.3.0-rc01
แล้ว เวอร์ชัน 1.3.0-rc01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
PendingRecording.asPersistentRecording
เพื่อให้สามารถบันทึกอย่างต่อเนื่องในขณะที่VideoCapture
ของโปรแกรมอัดเสียงแนบอยู่ถูกย้อนกลับ (I517c6)
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อมีการแชร์สตรีมกับทั้ง
VideoCapture
และเวอร์ชันตัวอย่าง และแก้ปัญหาหน้าจอสีดำในอุปกรณ์รุ่นเดิมเมื่อเปิดใช้การแชร์สตรีม - แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung S7 (SM-G930T, SM-G930V) รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ทำให้รูปภาพที่จับภาพมีขนาดไฟล์ใหญ่ ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I407b0, b/288828159)
- แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung S22 (SM-S901B, SM-S901B/DS) และ S22+ (SM-S906B) รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ซึ่งจะทำให้รูปภาพที่บันทึกไว้มีขนาดไฟล์ใหญ่ประมาณ 13 MB ในอุปกรณ์ S22 SM-S901B/DS ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I73be9, b/288828159)
- แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung A5, A52, A70 และ A72 รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ทำให้รูปภาพที่จับภาพมีขนาดไฟล์ใหญ่มาก (เช่น ประมาณ 32 MB หรือ 96 MB) ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I97c4d, b/288828159)
- แก้ไขข้อขัดข้องของระบบเมื่อถ่ายภาพโดยเปิดใช้ส่วนขยาย (I698f5)
เวอร์ชัน 1.3.0-beta02
26 กรกฎาคม 2023
ปล่อย androidx.camera:camera-*:1.3.0-beta02
แล้ว เวอร์ชัน 1.3.0-beta02 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- ใช้ไฟฉายเป็นแฟลชสำหรับ Pixel 4 และเวอร์ชัน 5 เพื่อปรับปรุงคุณภาพการจับภาพในที่แสงน้อย (I56ff5, b/280221967)
- แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung A5 (2017) รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ซึ่งจะทำให้รูปภาพที่จับภาพมีขนาดไฟล์ประมาณ 32 MB ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I29837, b/288828159)
- การแก้ไขการลองอีกครั้งไม่ทริกเกอร์อย่างถูกต้องในกรณีที่จับภาพไม่สำเร็จในอุปกรณ์ที่เป็นปัญหาที่กล่าวถึงใน
CaptureFailedRetryQuirk
(I7b589)
เวอร์ชัน 1.3.0-beta01
21 มิถุนายน 2023
ปล่อย androidx.camera:camera-*:1.3.0-beta01
แล้ว เวอร์ชัน 1.3.0-beta01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เปลี่ยนชื่อฟังก์ชัน
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)
เป็นsetAllowedResolutionMode
และเปลี่ยนชื่อค่าคงที่ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
เป็นPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION
/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE
แล้ว (If84e8) - นำ API
ImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
และVideoCapture.setTargetRotationDegrees(int)
ที่เลิกใช้งานแล้วออก (รหัส 8e77) - คลาส
DynamicRange
แสดงถึงช่วงแบบไดนามิกของรูปภาพ ซึ่งใช้เพื่อเลือกรูปแบบ High Dynamic Range เป็นเอาต์พุตVideoCapture
ถึงVideoCapture.Builder#setDynamicRange()
ได้ (Ib0377) - เพิ่ม
isImageAnalysisSupported
API ในExtensionsManager
ซึ่งแอปตรวจสอบได้ว่ากรณีการใช้งานImageAnalysis
เชื่อมโยงกับเวอร์ชันตัวอย่างและImageCapture
ได้หรือไม่เมื่อเปิดใช้ส่วนขยาย (I1bc63) - คลาส
VideoCapabilities
ใหม่ที่ได้รับจากRecorder
สามารถใช้เพื่อค้นหาช่วงไดนามิกและคุณภาพที่รองรับสำหรับการบันทึกวิดีโอในอุปกรณ์ เมธอดgetSupportedQualities()
และisQualitySupported()
ของQualitySelector
กำลังจะถูกเลิกใช้งาน โปรดใช้เมธอดgetSupportedQualities()
และisQualitySupported()
ของVideoCapabilities
แทน (I04014) CameraController#setVideoCaptureTargetQuality()
เปลี่ยนชื่อเป็นsetVideoCaptureQualitySelector
และใช้อาร์กิวเมนต์QualitySelector
ซึ่งทำให้มีความยืดหยุ่นมากขึ้นสำหรับการตั้งค่าคุณภาพวิดีโอCameraController#getVideoCaptureTargetQuality()
ก็จะเปลี่ยนเป็นgetVideoCaptureQualitySelector
ด้วยเช่นกัน (I520ed)- นำคำอธิบายประกอบเวอร์ชันทดลองสำหรับฟีเจอร์วิดีโอออกแล้ว ขณะนี้ฟีเจอร์ของวิดีโอมีความเสถียรแล้ว (I1a113)
แก้ไขข้อบกพร่อง
- ใช้ไฟฉายเป็นแฟลชใน Samsung SM-A320 รุ่นต่างๆ เพื่อเพิ่มความเร็วและคุณภาพของรูปภาพที่จับภาพในที่แสงน้อย (I6a022, b/286190938)
- เพิ่มการรองรับรูปแบบ
ImageFormat.JPEG
สำหรับImageProxy.toBitmap()
หากถอดรหัสอาร์เรย์ไบต์ JPEG ไม่ได้ ระบบจะทิ้งUnsupportedOperationException
(I81958, b/282057603)
เวอร์ชัน 1.3.0-alpha07
24 พฤษภาคม 2023
ปล่อย androidx.camera:camera-*:1.3.0-alpha07
แล้ว เวอร์ชัน 1.3.0-alpha07 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
VideoCapture.Builder# setTargetFrameRate(Range)
API ใหม่ช่วยให้บันทึกวิดีโอที่อัตราเฟรมอื่นนอกจากค่าเริ่มต้นของอุปกรณ์ได้ คุณจะค้นหาอัตราเฟรมที่พร้อมใช้งานสำหรับการบันทึกได้ผ่าน API ของCameraInfo#getSupportedFrameRates()
ใหม่
การเปลี่ยนแปลง API
- เปลี่ยนชื่อค่าคงที่
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
เป็นALLOWED_RESOLUTIONS_NORMAL
/SLOW
และเปลี่ยนชื่อฟังก์ชันsetHighResolutionEnabledFlag
ของเครื่องมือสร้างเป็นsetAllowedResolutionMode
แล้ว (Iae817) - ตอนนี้
CameraInfo#getSupportedFrameRateRanges()
จะแสดงผลSet
แทนที่จะเป็นList
เพื่อแสดงว่าช่วงไม่มีการจัดเรียง (I02f43) - เพิ่ม Listener ข้อผิดพลาดใน
CameraEffect
เพื่อจัดการข้อผิดพลาดที่กู้คืนไม่ได้ (Ice471) - เพิ่มเครื่องมือสร้างสาธารณะใน
ResolutionInfo
เพื่อการทดสอบที่ดียิ่งขึ้น (If6d1c) - ระบุ API
UseCase.snapToSurfaceRotation(int)
เพื่อแทนที่การใช้งานsetTargetRotationDegrees
และเลิกใช้งาน APIImageAnalysis.setTargetRotationDegrees(int)
,ImageCapture.setTargetRotationDegrees(int)
และVideoCapture.setTargetRotationDegrees(int)
(Ia9010) - เพิ่ม API ใหม่
Preview#getTargetFrameRate
และPreview.Builder#setTargetFrameRate
เพื่อให้สามารถตั้งค่าและเรียกข้อมูลอัตราเฟรมเป้าหมายสำหรับ Use Case ของตัวอย่าง (If4f22) - ตอนนี้
VideoRecordEvent.Finalize
จะดําเนินการเสร็จสมบูรณ์โดยมีรหัสข้อผิดพลาดERROR_RECORDING_GARBAGE_COLLECTED
เมื่อออบเจ็กต์Recording
หยุดทำงานเนื่องจากมีการเก็บรวบรวมขยะ (Iba974)
แก้ไขข้อบกพร่อง
- แก้ไข
NullPointerException
เมื่อขนาดเอาต์พุตที่แคชในStreamConfigurationMapCompat
เป็นค่าว่าง (Idf124, b/282025204) - แก้ไขปัญหาที่
Preview.setSurfaceProvider(null)
ไม่หยุดการแสดงตัวอย่างในส่วนขยายชั่วคราว (Ia903e) - แก้ไขปัญหาที่มีการโยน
ConcurrentModificationException
ระหว่างการเปิดกล้องเมื่อมีการผูกVideoCapture
แล้ว (Ic8ac4)
เวอร์ชัน 1.3.0-alpha06
19 เมษายน 2023
ปล่อย androidx.camera:camera-*:1.3.0-alpha06
แล้ว เวอร์ชัน 1.3.0-alpha06 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- กล้องพร้อมกันเป็นฟีเจอร์ใหม่จาก Android 11 ซึ่งรองรับการสตรีมอุปกรณ์กล้องพร้อมกัน เช่น ทำให้อุปกรณ์ทำงานทั้งกล้องหน้าและกล้องหลังพร้อมกันได้ ปัจจุบัน CameraX รองรับเฉพาะกล้องแบบใช้พร้อมกัน 2 ตัว ซึ่งช่วยให้กล้อง 2 ตัวทำงานพร้อมกันได้ โดยมี {@link UseCase} ไม่เกิน 2 ตัวสำหรับแต่ละกล้อง ความละเอียดสูงสุดคือ 720p หรือ 1440p ดูรายละเอียดเพิ่มเติมในลิงก์ต่อไปนี้ที่ cameraManager#getConcurrentcameraIds()
- ขอแนะนำ
ResolutionSelector
API ใหม่ซึ่งครอบคลุมฟีเจอร์ต่อไปนี้- แอปพลิเคชันสามารถระบุสัดส่วนภาพและกลยุทธ์ความละเอียดเพื่อเลือกความละเอียดที่ดีที่สุดให้ตรงตามความต้องการได้
- พารามิเตอร์ขนาดและสัดส่วนภาพทั้งหมดจะแสดงในพิกัดของเซ็นเซอร์ของอุปกรณ์กล้อง
- แอปพลิเคชันสามารถใช้ตัวกรองความละเอียดที่กำหนดเองเพื่อจัดเรียงขนาดที่รองรับตามลำดับที่ต้องการได้
- แอปพลิเคชันยังเปิดใช้การจับภาพความละเอียดสูงเพื่อรับรูปภาพที่มีความละเอียดสูงขึ้นได้ด้วย อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจส่งผลให้เวลาในการจับภาพช้าลง
- เพิ่ม API การมิเรอร์
VideoCapture
รายการแล้ว วิดีโอที่บันทึกโดยVideoCapture
จะไม่มิเรอร์โดยค่าเริ่มต้น แต่การแสดงตัวอย่างจากกล้องจะมิเรอร์อยู่ในกล้องหน้าโดยค่าเริ่มต้น API การมิเรอร์VideoCapture
ช่วยให้ปรับให้สอดคล้องกับการแสดงตัวอย่างของกล้องเมื่อใช้กล้องหน้าได้ มีMirrorMode
,OFF
,ON
และON_FRONT_ONLY
3 รายการ หากต้องการปรับให้สอดคล้องกับการแสดงตัวอย่างของกล้อง ขอแนะนำให้ใช้ON_FRONT_ONLY
ซึ่งหมายความว่ากล้องหลังไม่ได้เปิดใช้มิเรอร์ แต่มีการเปิดใช้การมิเรอร์สำหรับกล้องหน้า
การเปลี่ยนแปลง API
- เปิดเผย API ใหม่ของ
ResolutionSelector
แอปพลิเคชันสามารถระบุสัดส่วนภาพและกลยุทธ์ความละเอียดได้ด้วยกฎการสำรองหรือตัวกรองความละเอียดที่กำหนดเอง เพื่อให้ได้ผลลัพธ์ที่ต้องการ แอปพลิเคชันสามารถระบุธงเพื่อเปิดใช้งานการจับภาพความละเอียดสูง วิธีนี้จะช่วยให้ CameraX เลือกความละเอียดที่สูงขึ้นเมื่อถ่ายรูปหรือวิดีโอ อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจส่งผลให้เวลาในการจับภาพช้าลง (Ibed95) - ตอนนี้คุณค้นหาช่วง FPS ที่อัลกอริทึม AE รองรับได้ผ่าน
CameraInfo#getSupportedFrameRateRanges()
(Iaa67f) - รวมชื่อของเมธอดอัตราเฟรมทั้งหมดไว้ในการใช้ "FrameRate" แก้ไขข้อผิดพลาดของ Javadoc ใน
VideoCapture#getTargetFrameRate()
(I83304) - เลิกใช้งาน
setTargetAspectRatio
และsetTargetResolution
API เดิมแล้ว โปรดใช้ResolutionSelector
API ใหม่แทน (I542c3) - เพิ่ม API สาธารณะสำหรับกล้องคู่ที่ใช้งานพร้อมกัน รวมถึง
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
boolean isConcurrentCameraModeOn()
และConcurrentCameraConfig
,SingleCameraConfig
และConcurrentCamera
(Iab1c1)
- สร้าง
ImageProcessor.Response#getOutputImage
NonNull (Ib9c60) - เพิ่ม API การมิเรอร์
VideoCapture
รายการ ซึ่งรวมถึงVideoCapture.Builder.setMirrorMode(int)
และVideoCapture.getMirrorMode()
API มีประโยชน์สำหรับแอปพลิเคชันที่ต้องใช้การบันทึกวิดีโอให้สอดคล้องกับลักษณะการทำงานของการแสดงตัวอย่างจากกล้องทั่วไป เช่น ตัวอย่างจากกล้องหลังไม่มิเรอร์ แต่ตัวอย่างจากกล้องหน้าจะมิเรอร์ (I713b6, b/194634656) - เพิ่ม
setTargetFrameRate()
API ในVideoCapture.Builder
และgetTargetFramerate()
API ในVideoCapture
(I109d4) - กำหนดให้
SurfaceOutput
สามารถปิดได้และซ่อนเครื่องมือสร้างสาธารณะของ SurfaceOutput.Event
(I60ea8) - เพิ่ม
Recording.mute
เพื่อปิดเสียงหรือเปิดเสียงบันทึกที่อยู่ระหว่างดำเนินการแบบไดนามิกRecordingStats
จะมีAudioStats.AUDIO_STATE_MUTED
เมื่อมีการปิดเสียงการบันทึกที่อยู่ระหว่างการประมวลผลอย่างชัดแจ้ง (Ie17fc) - กำหนดให้พารามิเตอร์
#setEffects()
รายการไม่เป็นค่าว่าง เพิ่ม#clearEffects()
API เพื่อล้างเอฟเฟกต์ แอปควรเรียก#clearEffects()
เพื่อนำเอฟเฟกต์ออก (I4b4d9) - เพิ่มตัวสร้างตัวที่ 2 สำหรับ
ViewfinderSurfaceRequest.Builder
เพื่อใช้เครื่องมือสร้างสำหรับตัวสร้างการคัดลอก (I621a7)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่แอปเรียกใช้ Extensions API อาจขัดข้องเมื่อปิดกล้อง (Ib27e5)
- แก้ไขปัญหาที่
VideoCapture
ทำงานกับกล้องหน้าในอุปกรณ์บางเครื่องไม่ได้ เช่น ใน Samsung Galaxy S23 และ Xiaomi 2107113SG (Ibec7e, b/270656244) - แก้ไขปัญหาที่การถ่ายภาพโดยใช้ File ในโฟลเดอร์สาธารณะของพื้นที่เก็บข้อมูลภายนอกจะไม่สำเร็จเสมอใน Android 10 ขึ้นไป โปรดทราบว่าใน Android 10 การถ่ายภาพโดยใช้ "ไฟล์" ในโฟลเดอร์สาธารณะของพื้นที่เก็บข้อมูลภายนอกจะต้องมีการตั้งค่า
requestLegacyExternalStorage
เป็น "จริง" ในแท็กแอปพลิเคชันด้วย (I11b2c) - แก้ไขข้อขัดข้องของ
RejectedExecutionException
ในDefaultSurfaceProcessor
แล้ว ข้อขัดข้องอาจเกิดขึ้นเมื่อมีการเชื่อมโยงVideoCapture
และกิจกรรมหยุดชั่วคราว (Idb46a, b/273713906)
เวอร์ชัน 1.3.0-alpha05
22 มีนาคม 2023
ปล่อย androidx.camera:camera-*:1.3.0-alpha05
แล้ว เวอร์ชัน 1.3.0-alpha05 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API การหมุน
VideoCapture
รายการ ซึ่งรวมถึงVideoCapture.Builder.setTargetRotation(int)
,VideoCapture.setTargetRotation(int)
,VideoCapture.setTargetRotationDegrees(int)
และVideoCapture.getTargetRotation()
โดย API มีประโยชน์สำหรับแอปพลิเคชันที่ล็อกการวางแนวอุปกรณ์ ระบบจะเพิ่มImageCapture.setTargetRotationDegrees(int)
และImageAnalysis.setTargetRotationDegrees(int)
ด้วย (Id3ffe, b/205242781) - อนุญาตให้
VIDEO_CAPTURE
และPREVIEW|VIDEO_CAPTURE
เป็นเป้าหมายเอฟเฟกต์ เอฟเฟกต์ที่กำหนดเป้าหมายเป็นVIDEO_CAPTURE
จะมีผลกับ Use Case ของVideoCapture
ระบบจะใช้เอฟเฟกต์ที่กำหนดเป้าหมายเป็นPREVIEW|VIDEO_CAPTURE
กับสตรีมที่แชร์ก่อนคัดลอกไปยังสตรีมตัวอย่างและสตรีมVideoCapture
(Iee6f3)
แก้ไขข้อบกพร่อง
- จากกล้อง
1.2.2
: แก้ไขปัญหาที่ส่วนขยาย CameraX ทำงานไม่ถูกต้องเมื่อเปิดใช้ Proguard ในอุปกรณ์บางเครื่อง เช่น Pixel (I90aa2) - แก้ไขข้อบกพร่องของ
PreviewView
ที่หากแอปจัดการการวางแนวหน้าจอด้วยตนเอง ตัวอย่างอาจบิดเบี้ยวเมื่อหมุน การดำเนินการนี้จะเกิดขึ้นบนอุปกรณ์บางรุ่นเท่านั้น ซึ่งทำซ้ำได้ใน Pixel a4, Pixel 5 และ Pixel 6a (I14340, b/223488673)
เวอร์ชัน 1.3.0-alpha04
22 กุมภาพันธ์ 2023
ปล่อย androidx.camera:camera-*:1.3.0-alpha04
แล้ว เวอร์ชัน 1.3.0-alpha04 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
ฟีเจอร์ใหม่เพื่อรองรับชุดค่าผสม Surface ที่ก่อนหน้านี้ไม่รองรับด้วยการแชร์สตรีม 1 รายการกับ Use Case หลายรายการ
- ก่อนหน้านี้ เมื่อเชื่อมโยง "Preview, VideoCapture, ImageAnalysis" ในระดับฮาร์ดแวร์ของกล้อง FULL และต่ำกว่า หรือเชื่อมโยง "Preview, VideoCapture, ImageCapture" ในรุ่นเดิมระดับฮาร์ดแวร์ CameraX จะส่ง
IllegalArgumentException
- ลักษณะการทำงานใหม่คือการเชื่อมโยงจะทำงานโดยไม่มีข้อยกเว้น แต่ CameraX จะใช้ OpenGL ในการคัดลอกสตรีมที่แชร์ไปยังทั้ง Preview และ VideoCapture แทน
- แอปอาจมีเวลาในการตอบสนองและใช้พลังงานเพิ่มขึ้นเนื่องจากมีค่าใช้จ่ายในการคัดลอกบัฟเฟอร์
การเปลี่ยนแปลง API
- เพิ่ม API เพื่อแปลง
ImageProxy
เป็นBitmap
รูปแบบImageProxy
ที่รองรับคือImageFormat.YUV_420_888
และPixelFormat.RGBA_8888
หากรูปแบบไม่ถูกต้อง ระบบจะส่งIllegalArgumentException
(Ic7110) - เพิ่ม
CoroutineCameraViewfinder
เพื่อรองรับการกำหนดค่าช่องมองภาพโดยใช้ฟังก์ชันการระงับใน Kotlin (I657bc) - เพิ่มตัวสร้างสาธารณะใหม่สำหรับ
ViewfinderSurfaceRequest
มอบความยืดหยุ่นเมื่อผู้ใช้ระบุCameraCharacteristics
ไม่ได้ (Ie6549)
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องของส่วนขยายที่เกิดขึ้นในอุปกรณ์ Samsung บางรุ่นเมื่อหยุดแอปชั่วคราว/กลับมาใช้งานอีกครั้งเร็วเกินไป (Iaca26)
เวอร์ชัน 1.3.0-alpha03
25 มกราคม 2023
ปล่อย androidx.camera:camera-*:1.3.0-alpha03
แล้ว เวอร์ชัน 1.3.0-alpha03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
CameraInfo.getIntrinsicZoomRatio
เพื่อให้ข้อมูลมุมการดูที่สัมพันธ์กับกล้องเริ่มต้น (Ib300C) - เพิ่ม
CameraInfo.getLensFacing
เพื่อระบุข้อมูลการหันหน้าเลนส์แล้ว เพิ่มCameraSelector#LENS_FACING_EXTERNAL
เป็นฟีเจอร์ทดลองสำหรับการเลือกกล้องภายนอก (Icaf3e) - เพิ่ม
#setEffect()
ไปยังCameraController
ที่อนุญาตให้เพิ่มเอฟเฟกต์ไปยังเอาต์พุตกล้อง (I1d21f) - เพิ่มเมธอด
invalidate()
ลงในSurfaceRequest
ผู้ให้บริการ Surface สามารถแจ้งว่า Surface ที่ระบุไว้ก่อนหน้านี้ใช้ไม่ได้อีกต่อไป (Idc649) - เพิ่ม
ImageProcessor
API อินเทอร์เฟซนี้มีไว้สำหรับแทรกเอฟเฟกต์หลังการประมวลผลในไปป์ไลน์ImageCapture
(I575c6) - เพิ่ม API
Recorder.Builder.setAspectRatio()
ซึ่งสามารถใช้ร่วมกับQualitySelector
เพื่อรองรับความละเอียดของวิดีโอมากขึ้น (I8a082) - เพิ่ม
Recorder.Builder#setTargetVideoEncodingBitRate
เพื่อตั้งค่าการเข้ารหัสวิดีโอเป้าหมายBitRate
และRecorder#getTargetVideoEncodingBitRate
เพื่อรับ BitRate ของการเข้ารหัสวิดีโอเป้าหมาย (I5984D)
แก้ไขข้อบกพร่อง
- แก้ไข
ImageCapture
ไม่สำเร็จเมื่อไม่มีหน่วยแฟลชและโหมดแฟลชเปิดอยู่ (I9e8b4, b/263391112) - แก้ปัญหารูปภาพ JPEG เสียหาย หากเขียนข้อมูลตำแหน่งใน Exif ในอุปกรณ์ Samsung Android 12 บางรุ่น (Ib7086, b/263747161, b/263289024)
- เมื่อตั้งค่าไฟฉาย/ซูมก่อนบังคับกล้องเริ่มต้น เช่น กำลังเรียกใช้
CameraController#enableTorch
ระบบจะแคชการดำเนินการที่รอดำเนินการและส่งเมื่อการเริ่มต้นบังคับ (I11e92, b/264157663)
เวอร์ชัน 1.3.0-alpha02
7 ธันวาคม 2022
ปล่อย androidx.camera:camera-*:1.3.0-alpha02
แล้ว เวอร์ชัน 1.3.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API ใหม่สำหรับใช้เอฟเฟกต์หลังการประมวลผลกับเอาต์พุตพรีวิว (Ic17d5)
- เปลี่ยนชื่อ
OutputOptions.getDurationLimit
เป็นOutputOptions.getDurationLimitMillis
และOutputOptions.setDurationLimit
เป็นOutputOptions.setDurationLimitMillis
แล้ว (I91f0c) - เพิ่มชั้นเรียน
AudioConfig
เพื่อจัดการการตั้งค่าที่เกี่ยวข้องกับเสียงขณะบันทึกวิดีโอ คำอธิบายประกอบ@RequiresPermission
จะย้ายจากฟังก์ชันstartRecording
ไปยังAudioConfig
เพื่อหลีกเลี่ยงคำขอสิทธิ์ที่ไม่จำเป็นสำหรับกรณีที่ไม่จำเป็นต้องใช้เสียง (I28755) - นำคลาสข้อมูลเมตา
OnVideoSavedCallback
,OutputFileOptions
และOutputFileResults
ที่ไม่ได้ใช้แล้วออกหลังจากใช้ API การจับภาพวิดีโอใหม่ (I38cd8) - ใช้ API การจับภาพวิดีโอใหม่ ระบบจะใช้เมธอด
getVideoCaptureTargetQuality
และsetVideoCaptureTargetQuality
แทนgetVideoCaptureTargetSize
และsetVideoCaptureTargetSize
เนื่องจากระบบไม่รองรับsetTargetResolution
อีกต่อไป (I2a1d5)
แก้ไขข้อบกพร่อง
- นำ API
core.VideoCapture
ที่เลิกใช้งานแล้วออก (I531e0) - แก้ไขปัญหาที่ระบบไม่เรียกใช้ Callback
onError
เมื่อถ่ายภาพโดยไม่มีสิทธิ์ใช้พื้นที่เก็บข้อมูล (I936db, b/244807669) - ปรับปรุงคุณภาพและความน่าเชื่อถือของส่วนขยายกล้อง ส่วนขยายกล้องถูกปิดใช้งานในอุปกรณ์ Motorola ที่ใช้ส่วนขยายกล้อง v1.1.0 และเวอร์ชันที่เก่ากว่าเนื่องจากปัญหาเกี่ยวกับการรองรับโบเก้ การจับภาพ และการแสดงตัวอย่างไม่ทำงานต่อ (Id3ce3)
- แก้ไขข้อขัดข้องของระบบเมื่อเปิดใช้การครอบตัดวิดีโอผ่าน
ViewPort
ในอุปกรณ์เดิม (I16b8a, b/251357665)
เวอร์ชัน 1.3.0-alpha01
9 พฤศจิกายน 2022
ปล่อย androidx.camera:camera-*:1.3.0-alpha01
แล้ว เวอร์ชัน 1.3.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
Camera-viewfinder
ได้รับการเผยแพร่อย่างเป็นทางการแล้วCamera-viewfinder
มีวิดเจ็ตช่องมองภาพพื้นฐานที่แสดงฟีดกล้องสำหรับ Camera2 โปรดดูโค้ดตัวอย่างเป็นตัวอย่าง
การเปลี่ยนแปลง API
- เพิ่ม
OutputOptions.setDurationLimit
เพื่อให้ตั้งค่าการจำกัดระยะเวลาของวิดีโอได้แล้ว ระบบจะสรุปการบันทึกโดยอัตโนมัติเมื่อเลยระยะเวลาที่กำหนดไว้ (I902a0) - เพิ่มสถานะข้อผิดพลาดเกี่ยวกับเสียงในการบันทึกวิดีโอ
AudioStats.AUDIO_STATE_SOURCE_ERROR
ส่งเมื่อตั้งค่าแหล่งที่มาของเสียงไม่สำเร็จหรือเกิดข้อผิดพลาดบางอย่าง (I37410)
แก้ไขข้อบกพร่อง
- เพิ่มพฤติกรรมที่ไม่ปกติเพื่ออนุญาตให้อุปกรณ์ที่มีปัญหาบางอย่างลองจับภาพอีกครั้งเมื่อตรวจพบความล้มเหลว (Id4795)
- แก้ไขปัญหาหน้าจอสีดำการติดตั้งใช้งาน
SurfaceView
PreviewView
รายการในViewPager2
ซึ่งเป็นส่วนหนึ่งของการแก้ไขPreviewView
จะใช้SurfaceView
ซ้ำหากไม่มีการเปลี่ยนแปลงความละเอียดที่ขอ (Ib3f27) - รองรับการครอบตัดวิดีโอ (ฟีเจอร์ WYSIWYG) เมื่อใช้
ViewPort
หรือCameraController
API (Ifbba8, b/201085351) - วิดีโอที่แก้ไขแล้วที่ถ่ายด้วยกล้องหน้าไม่สามารถบันทึกวิดีโอบน Huawei P40 Lite ได้ (I87c57, b/250807400)
เวอร์ชัน 1.2
เวอร์ชัน 1.2.3
24 พฤษภาคม 2023
ปล่อย androidx.camera:camera-*:1.2.3
แล้ว เวอร์ชัน 1.2.3 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่
VideoCapture
ทำงานกับกล้องหน้าในอุปกรณ์บางเครื่องไม่ได้ เช่น ใน Samsung Galaxy S23 และ Xiaomi 2107113SG (Ibec7e, b/270656244)
เวอร์ชัน 1.2.2
22 มีนาคม 2023
ปล่อย androidx.camera:camera-*:1.2.2
แล้ว เวอร์ชัน 1.2.2 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ปัญหาที่ส่วนขยาย CameraX ทำงานไม่ถูกต้องเมื่อเปิดใช้ Proguard ในอุปกรณ์บางเครื่อง เช่น Pixel (I90aa2)
เวอร์ชัน 1.2.1
25 มกราคม 2023
ปล่อย androidx.camera:camera-*:1.2.1
แล้ว เวอร์ชัน 1.2.1 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ปัญหารูปภาพ JPEG เสียหาย หากเขียนข้อมูลตำแหน่งใน Exif ในอุปกรณ์ Samsung Android 12 บางรุ่น (b/263289024)
เวอร์ชัน 1.2.0
7 ธันวาคม 2022
ปล่อย androidx.camera:camera-*:1.2.0
แล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0
- Camera-mlkit-vision ใหม่ ผสานรวม CameraX เข้ากับฟีเจอร์มากมายของ MLKit ได้อย่างง่ายดาย รวมถึงการสแกนบาร์โค้ด การตรวจจับใบหน้า การตรวจจับข้อความ ฯลฯ เพิ่ม
MLKitAnalyzer
เป็น API ใหม่ - Zero-Shutter Lag API เวอร์ชันทดลองใหม่ ปรับไปป์ไลน์การจับภาพให้เหมาะสมที่สุดเพื่อให้เวลาในการตอบสนองดีขึ้นโดยยังคงรักษาคุณภาพของรูปที่ดีได้ เมื่อตั้งค่าโหมดจับภาพเป็น
CAPTURE_MODE_ZERO_SHUTTER_LAG
ระบบจะลดเวลาในการตอบสนองระหว่างปุ่มชัตเตอร์และลดระยะเวลาถ่ายภาพให้เหลือน้อยที่สุด เมื่อเทียบกับโหมดจับภาพอื่นๆ ในอุปกรณ์ที่ไม่รองรับZERO_SHUTTER_LAG
ระบบจะสำรองให้CAPTURE_MODE_MINIMIZE_LATENCY
- เลิกใช้งาน
android.camera.core.VideoCapture
- เพิ่ม
setStreamUseCase()
เป็นCamera2Interop
API สาธารณะแล้ว - เพิ่มข้อกำหนดของระดับ API สำหรับ
setOutputImageRotationEnabled
แล้ว - เปลี่ยนชื่อ
ImageAnalysis.Analyzer#getTargetResolutionOverride()
เป็นImageAnalysis.Analyzer#getDefaultTargetResolution()
แล้ว - เพิ่ม API สำหรับการตั้งค่าข้อมูลเมตาของตำแหน่งในวิดีโอที่บันทึกไว้
- แก้ไขอัตราเฟรมต่ำเมื่อใช้
VideoCapture
และแสดงตัวอย่างกรณีการใช้งานที่มีสัดส่วนภาพ 16:9 - แก้ไขปัญหาการแสดงตัวอย่างสีดำที่เกิดขึ้นเมื่อเปิดใช้ส่วนขยาย BOKEH ในอุปกรณ์ Samsung บางรุ่นและผู้ใช้ปิดสวิตช์กล้อง
- แก้ปัญหา Samsung J7 Prime (SM-G610M) และ J7 (SM-J710MN)
Preview/VideoCapture
ที่เพิ่มจำนวนในอุปกรณ์ API ระดับ 27 - ปิดใช้วิธีแก้ปัญหาเพื่อพลิกภูมิภาค AF ในแนวนอนของกล้องหน้าบน Samsung Android T แล้วเนื่องจากปัญหาได้รับการแก้ไขแล้ว
เวอร์ชัน 1.2.0-rc01
24 ตุลาคม 2022
ปล่อย androidx.camera:camera-*:1.2.0-rc01
แล้ว เวอร์ชัน 1.2.0-rc01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
setStreamUseCase
API สำหรับOutputConfiguration
ผู้ใช้สามารถระบุ Use Case ของสตรีมสำหรับเซสชันของสตรีม โดยลบล้างตรรกะภายในของ CameraX เพื่อเลือก Use Case ของสตรีมเพื่อเพิ่มประสิทธิภาพตามความต้องการ (Ib1a95)
แก้ไขข้อบกพร่อง
- แก้ปัญหา Samsung J7 Prime (SM-G610M) และ J7 (SM-J710MN)
Preview/VideoCapture
ที่เพิ่มจำนวนในอุปกรณ์ API ระดับ 27 ความละเอียด 1920x1080 จะทำให้รูปภาพPreview/VideoCapture
ถูกยืดออก เพิ่มวิธีแก้ปัญหาโดยไม่ได้เลือกความละเอียด 1920x1080 สำหรับการแสดงตัวอย่างหรือVideoCapture
เพื่อหลีกเลี่ยงปัญหาภาพยืดขยาย (I0e04e) - แก้ไขอัตราเฟรมต่ำเมื่อใช้
VideoCapture
และตัวอย่างกรณีการใช้งานที่มีสัดส่วนภาพ 16:9 ในอุปกรณ์ Huawei บางรุ่น (If8c88, b/223643510) - แก้ไขความล้มเหลวในการเปิดกล้องเมื่อไม่ได้ตั้งค่า
SurfaceProvider
ของตัวอย่าง ในการแก้ปัญหานี้ ระบบจะไม่กำหนดค่าการแสดงตัวอย่างที่ไม่มีการตั้งค่าSurfaceProvider
ลงในเซสชันการจับภาพด้วยกล้อง (I99681)
เวอร์ชัน 1.2.0-beta02
21 กันยายน 2022
ปล่อย androidx.camera:camera-*:1.2.0-beta02
แล้ว เวอร์ชัน 1.2.0-beta02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มข้อกำหนดระดับ API สำหรับ
setOutputImageRotationEnabled
(I26e3e, b/240993561)
แก้ไขข้อบกพร่อง
- ปิดใช้วิธีแก้ปัญหาเพื่อพลิกภูมิภาค AF ในแนวนอนของกล้องหน้าบน Samsung Android T แล้วเนื่องจากปัญหาได้รับการแก้ไขแล้ว (I05F69)
- แก้ไขปัญหาการแสดงตัวอย่างสีดำที่เกิดขึ้นเมื่อมีการเปิดใช้ส่วนขยาย
BOKEH
ในอุปกรณ์ Samsung บางรุ่นและผู้ใช้สลับกล้อง (If6168)
เวอร์ชัน 1.2.0-beta01
24 สิงหาคม 2022
ปล่อย androidx.camera:camera-*:1.2.0-beta01
แล้ว เวอร์ชัน 1.2.0-beta01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- คลังใหม่
camera-mlkit-vision
ผสานรวม CameraX กับฟีเจอร์ MLKit มากมายได้อย่างง่ายดาย รวมถึงการสแกนบาร์โค้ด การตรวจจับใบหน้า การตรวจจับข้อความ ฯลฯ โปรดดูโค้ดตัวอย่างที่นี่ - Zero-Shutter Lag API เวอร์ชันทดลองใหม่ ปรับไปป์ไลน์การจับภาพให้เหมาะสมที่สุดเพื่อให้เวลาในการตอบสนองดีขึ้นโดยยังคงรักษาคุณภาพของรูปที่ดีได้ เมื่อตั้งค่าโหมดจับภาพเป็น CAPTURE_mode_ZERO_SHUTTER_LAG ระบบจะลดเวลาในการตอบสนองระหว่างปุ่มชัตเตอร์และจะลดการถ่ายภาพให้น้อยที่สุดเมื่อเทียบกับโหมดจับภาพอื่นๆ บนอุปกรณ์ที่ไม่รองรับ ZERO_SHUTTER_LAG จะมีการสำรองเป็น CAPTURE_MODE_MINIMIZE_LATENCY
- สร้าง
ImageAnalysis.Analyzer
และMLKitAnalyzer
เป็น API อย่างเป็นทางการ - Exposed API สำหรับการตั้งค่าข้อมูลเมตาของตำแหน่งไปยังวิดีโอที่บันทึกไว้
- เปลี่ยนชื่อ
ImageAnalysis.Analyzer#getTargetResolutionOverride()
เป็นImageAnalysis.Analyzer#getDefaultTargetResolution()
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาการจับภาพของ Alps k61v1_basic_ref รูปภาพ JPEG ที่บันทึกจาก HAL มีข้อมูลเมตา Exif ที่ไม่ถูกต้อง ข้อมูลเมตาของ Exif ไม่มีแท็ก 0xffd9 หรือ 0xffda เพื่อทำให้
ExifInterface
แยกวิเคราะห์แอตทริบิวต์ได้อย่างถูกต้อง จับภาพในรูปแบบ YUV แล้วบีบอัดเป็นรูปภาพเอาต์พุต JPEG เพื่อแก้ปัญหานี้ (I45abb)
เวอร์ชัน 1.2.0-alpha04
27 กรกฎาคม 2022
ปล่อย androidx.camera:camera-*:1.2.0-alpha04
แล้ว เวอร์ชัน 1.2.0-alpha04 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ
ImageAnalysis.Analyzer#getTargetResolutionOverride()
เป็นImageAnalysis.Analyzer#getDefaultTargetResolution()
นอกจากนี้ ยังเปลี่ยนลักษณะการทำงานเพื่อให้ค่าImageAnalysis#setTargetResolution()
ที่ส่งคืนมาถูกลบล้างด้วย (If1d36) - Exposed API สำหรับการตั้งค่าข้อมูลเมตาของตำแหน่งไปยังวิดีโอที่บันทึกไว้ ตั้งค่าออบเจ็กต์
android.location.Location
ผ่าน API ใหม่androidx.camera.video.OutputOptions.Builder.setLocation(Location)
ได้ (I313a0, b/204197544)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาเพื่อถ่ายภาพโดยยกเลิกการผูกการแสดงตัวอย่าง (Ie70b6, b/235119898)
- แก้ไขข้อขัดข้องใน
Recorder
แล้ว เมื่อพยายามบันทึกขณะที่แหล่งที่มาของเสียงไม่พร้อมใช้งาน (I9f652)
เวอร์ชัน 1.2.0-alpha03
29 มิถุนายน 2022
ปล่อย androidx.camera:camera-*:1.2.0-alpha03
แล้ว เวอร์ชัน 1.2.0-alpha03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- นำหมายเหตุทดลองสำหรับ
ImageAnalysis.Analyzer
และMLKitAnalyzer
ออกแล้ว (I0ff22)
แก้ไขข้อบกพร่อง
- เพิ่มระยะหมดเวลาเริ่มต้นของการโฟกัสอัตโนมัติ 5,000 มิลลิวินาที ซึ่งจะทําให้ส่วน AF ด้วยค่าเท็จ
isFocusSuccessful
ให้สมบูรณ์ หากไม่ได้ยกเลิกFocusMeteringAction
และส่วน AF ไม่บรรจบกันในระยะเวลาดังกล่าว (Ibc2e3) - แก้ไขปัญหาเพื่อถ่ายภาพโดยยกเลิกการผูกการแสดงตัวอย่าง (I1d3a2, b/235119898)
- เปิดใช้งานตัวขยายขั้นสูงและอัปเดตอินเทอร์เฟซส่วนขยายที่รองรับ CameraX เป็นเวอร์ชัน 1.2 (I92256)
เวอร์ชัน 1.2.0-alpha02
1 มิถุนายน 2022
ปล่อย androidx.camera:camera-*:1.2.0-alpha02
แล้ว เวอร์ชัน 1.2.0-alpha02 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- แสดง CameraX Zero-Shutter Lag API เป็นเวอร์ชันทดลอง
การเปลี่ยนแปลง API
- เพิ่มโหมดจับภาพใหม่
CAPTURE_MODE_ZERO_SHUTTER_LAG
ในImageCapture
และเพิ่มisZslSupported
ในCameraInfo
เพื่อค้นหาความสามารถของอุปกรณ์ โหมดCAPTURE_MODE_ZERO_SHUTTER_LAG
มุ่งมั่นที่จะมอบเวลาในการตอบสนองขั้นต่ำสำหรับการจับภาพทันที โดยจะดำเนินการโดยอิงตามบัฟเฟอร์ริง ซึ่งจะแคชผลการจับภาพระดับกลางเพื่อประมวลผลใหม่ในภายหลังเมื่อผู้ใช้กดปุ่มเพื่อถ่ายภาพ หากผูก {@link VideoCapture} หรือไม่ปิดโหมดแฟลชหรือส่วนขยาย OEM เปิดอยู่ โหมดนี้จะปิดใช้งานโดยอัตโนมัติ (I9ae74) - เพิ่มเมธอด
ImageAnalysis.getBackgroundExecutor()
(Icc945)
แก้ไขข้อบกพร่อง
- วิธีถ่ายภาพ
ImageCapture
ที่แก้ไขแล้วจะปิดแฟลชในอุปกรณ์ที่รายงาน (Ib5eb5, b/228272227) - แก้ไขข้อบกพร่องที่ไม่มีการจัดการ
AssertionError
เมื่อได้รับลักษณะเฉพาะCONTROL_ZOOM_RATIO_RANGE
(/Ia248a, b/231701345)
เวอร์ชัน 1.2.0-alpha01
18 พฤษภาคม 2022
ปล่อย androidx.camera:camera-*:1.2.0-alpha01
แล้ว เวอร์ชัน 1.2.0-alpha01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เปิดตัว Camera-mlkit-vision แบบใหม่ของไลบรารี
แก้ไขข้อบกพร่อง
- การแก้ไข
QualitySelector
ไม่สามารถบันทึกวิดีโอ UHD เมื่อมีการเปิดใช้กลยุทธ์สำรอง ปัญหาเกิดขึ้นเมื่อVideoCapture
เชื่อมโยงกับImageCapture
และการแสดงตัวอย่างในอุปกรณ์กล้องระดับฮาร์ดแวร์ FULL ขึ้นไป กลยุทธ์สำรองของQualitySelector
ทำให้VideoCapture
ได้รับความละเอียดแบบ FHD อย่างไม่ถูกต้อง ระบบรองรับความละเอียด UHD สำหรับชุด Use Case นี้ร่วมกันและควรใช้ความละเอียดดังกล่าว (I0e788, b/230651237) - แก้ไขแล้ว
NullPointerException
ในImageCapture.takePicture()
(I92366, b/230454568, b/229766155) - แก้ไขลักษณะการหยุดชั่วคราวแบบไม่พร้อมกันของ
androidx.camera.video.Recorder
(Ia8ce8)
Camera-กล้องถ่ายรูป2, Camera-Core, Camera-Lifecycle และ กล้องวิดีโอเวอร์ชัน 1.1.0
เวอร์ชัน 1.1.0
29 มิถุนายน 2022
ปล่อย androidx.camera:camera-*:1.1.0
แล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0
- ลงจอดไลบรารีมุมมอง ส่วนขยาย และการจับภาพวิดีโอเป็น RC เวอร์ชันแรก ตั้งแต่เวอร์ชัน 1.1.0-beta01 ไลบรารี CameraX ทั้งหมดจะปรับหมายเลขเวอร์ชันเดียวกัน ซึ่งจะช่วยให้นักพัฒนาแอปติดตามเวอร์ชันได้ง่ายขึ้นมากและลดความซับซ้อนของเมทริกซ์ความเข้ากันได้ของเวอร์ชันขนาดใหญ่
- เปิดตัว API สาธารณะและฟีเจอร์ใหม่ ซึ่งรวมถึง
- เพิ่มไลบรารีวิดีโอจากกล้องอย่างเป็นทางการเพื่อรองรับกรณีการใช้งานการจับภาพวิดีโอ
- ความสามารถในการแปลงและการหมุนเวียน YUV เป็น RGB (
ImageAnalysis.Builder.setOutputImageRotationEnabled
และsetOutputImageFormat
) - รองรับโหมดหลายหน้าต่างโดยอนุญาตให้แอปพลิเคชัน CameraX ใช้งานกล้องต่อเมื่อกล้องถูกรบกวนโดยแอปอื่นและโฟกัสกลับมาได้
- ตรวจสอบว่า CameraX ทำงานได้ดีในอุปกรณ์แบบพับได้โดยแก้ไขปัญหาการแสดงตัวอย่างบางอย่าง
- เพิ่ม
CameraState
API ที่จะแสดงผ่าน CameraInfo - เพิ่ม API
ProcessCameraProvider.getAvailableCameraInfos()
เพื่อดึงข้อมูลเกี่ยวกับกล้องที่ใช้ได้โดยตรง - รูปแบบ JPEG เอาต์พุตสำหรับ
ImageCapture#OnImageCapturedCallback
เมื่อเปิดใช้ส่วนขยาย - เพิ่ม API
isFocusMeteringSupported
ในCameraInfo
ซึ่งช่วยให้แอปพลิเคชันตรวจสอบได้ว่ากล้องปัจจุบันรองรับFocusMeteringAction
ที่ระบุหรือไม่ - เปิดเผย
getResolutionInfo
API เพื่อให้ข้อมูลความละเอียดสำหรับการแสดงตัวอย่างImageCapture
และImageAnalysis
- เพิ่ม API ใหม่
ImageCapture.Builder#setJpegQuality
เพื่ออนุญาตให้เปลี่ยนคุณภาพการบีบอัดรูปภาพ JPEG เอาต์พุตเมื่อถ่ายภาพ - เพิ่ม
CameraSelector#filter
ลงใน API สาธารณะเพื่อกรองรายการCameraInfos
ตามCameraSelector
- เพิ่ม
Camera2CameraControl.clearCaptureRequestOptions
สำหรับการล้างตัวเลือกคำขอบันทึกที่มีอยู่ - เพิ่ม API ทดลองสำหรับการใช้
CameraController
กับไลบรารีการประมวลผลรูปภาพภายนอก เช่น MLKit - เพิ่ม API ทดลอง
CameraInfo#getCameraSelector()
ซึ่งแสดงผลCameraSelector
เฉพาะในกล้อง - โปรโมต API ทดลองหลายรายการเป็น API สาธารณะอย่างเป็นทางการ
- แทนที่คำอธิบายประกอบ
@Experimental
ด้วย@RequiresOptIn
ใน API ทดลองแล้ว สำหรับการเรียกใช้ API ทดลอง ให้ใช้ androidx.annotation.OptIn แทน androidx.annotation.experimental.UseExperimental - โปรโมต API ทดลองต่อไปนี้เป็น API อย่างเป็นทางการ:
CameraXConfig.Builder#setAvailableCamerasLimiter()
,CameraXConfig.Builder#setMinimumLoggingLevel()
,CameraXconfig.Builder#setSchedulerHandler()
,CameraXConfig#getAvailableCamerasLimiter()
,CameraXConfig#getMinimumLoggingLevel()
,CameraXConfig#getCameraExecutor()
,CameraXConfig#getSchedulerHandler()
@ExperimentalCameraFilter
API- API ชดเชยการรับแสงรุ่นทดลอง
- โปรโมต
UseCaseGroup
API เวอร์ชันทดลองสำหรับกล้องหลัก วงจรกล้อง และวิดีโอจากกล้อง เพิ่มViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
และViewPort.Builder#setScaleType
สำหรับปรับแต่งวิวพอร์ต - โปรโมต
ExperimentalUseCaseGroupLifecycle
เป็น API สาธารณะอย่างเป็นทางการ - การเปลี่ยนแปลง API ที่มีอยู่
Renamed MediaStoreOutputOptions.getCollection
เพื่อMediaStoreOutputOptions.getCollectionUri
- เปลี่ยนชื่อ
ActiveRecording
เป็น "การบันทึก" แล้ว เพื่อลดการพูดรายละเอียด - เปลี่ยน
QualitySelector
Creator API เป็น API ที่อิงตามรายการ
แก้ไขข้อบกพร่อง
- แก้ไขปัญหา
YuvToJpegProcessor
EOFException
เมื่อเปิดใช้โหมดส่วนขยายและตั้งค่าโหมดImageCapture#CAPTURE_MODE_MAX_QUALITY
- การกำหนดค่าตัวแปลงรหัสที่แก้ไขแล้วล้มเหลวเนื่องจากการบันทึกวิดีโอจะปิดลง
- แก้ไขอัตราส่วนของตัวอย่าง/วิดีโอแบบขยายเมื่อบันทึกที่ FHD
- แก้ปัญหาเสียง/วิดีโอไม่ซิงค์หลังจากหยุดชั่วคราวและเล่นต่อในอุปกรณ์บางเครื่อง
- แก้ไขปัญหาที่แฟลชทริกเกอร์ในระหว่างการแตะเพื่อโฟกัส (
startFocusAndMetering
) เมื่อโหมดแฟลชเป็นแบบอัตโนมัติหรือเปิดตลอดเวลาในสภาพแวดล้อมที่มีแสงน้อย
เวอร์ชัน 1.1.0-rc02
1 มิถุนายน 2022
ปล่อย androidx.camera:camera-*:1.1.0-rc02
แล้ว เวอร์ชัน 1.1.0-rc02 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขแล้ว
NullPointerException
ในImageCapture.takePicture()
(I92366, b/230454568, b/229766155) - แก้ไขข้อบกพร่องที่ไม่มีการจัดการ
AssertionError
เมื่อได้รับลักษณะเฉพาะCONTROL_ZOOM_RATIO_RANGE
(Ia248a, b/231701345)
เวอร์ชัน 1.1.0-rc01
11 พฤษภาคม 2022
ปล่อย androidx.camera:camera-*:1.1.0-rc01
แล้ว เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เผยแพร่ RC เวอร์ชันแรกสำหรับกล้องวิดีโอ มุมมองกล้อง และส่วนขยายกล้อง
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาการไม่ได้เปิดตัวตัวแปลงรหัสวิดีโอเมื่อยกเลิกการเชื่อมโยง
VideoCapture<Recorder>
แล้ว ซึ่งทำให้การใช้VideoCapture<Recorder>
ในภายหลังล้มเหลวในการบันทึกด้วยMediaCodec.CodecException
โดยเฉพาะในอุปกรณ์ API 21-22 (Ie7f68) - แก้ไขรูปภาพที่จับภาพ
CameraExtensionsActivity
ไว้เพื่อไม่ให้ลบในImageCaptureTest
เวอร์ชัน 1.1.0-beta03
6 เมษายน 2022
ปล่อย androidx.camera:camera-*:1.1.0-beta03
แล้ว เวอร์ชัน 1.1.0-beta03 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- จำกัดเครื่องมือสร้าง
CaptureRequestOptions
แล้ว (I261b6) - เพิ่ม API ทดลองสำหรับการใช้
CameraController
กับไลบรารีการประมวลผลรูปภาพภายนอก เช่น MLKit (I4ea71)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่การแสดงตัวอย่างกลายเป็นการเอียงข้างใน
PreviewView
เมื่อกิจกรรมไม่รีสตาร์ทหลังจากหมุนอุปกรณ์ในหลายหน้าต่าง (I1ea36, b/223488673) - แก้ไขปัญหาหลายหน้าต่าง ซึ่งเมื่อโฟกัสเปลี่ยนไปกลับไปที่แอป กล้องนั้นไม่อาจดำเนินการต่อได้เมื่อ (1) แอปที่มีลำดับความสำคัญสูงอื่นเปิดกล้องอื่น (2) อุปกรณ์เป็นอุปกรณ์ Samsung ที่ใช้ Android 12 (I7e9f2)
- รวมวิธีแก้ปัญหาสำหรับอุปกรณ์ที่ขัดข้องเมื่อตรวจสอบความพร้อมใช้งานของ Flash อุปกรณ์เหล่านี้จะไม่มีไฟฉาย (If26a3, b/216667482)
- แก้ไขปัญหา
AbstractMethodError
ที่เกิดขึ้นเมื่อแอปใช้ส่วนขยายและเปิดใช้ Proguard (I7cbaf, b/222726805) - บังคับปิดใช้โหมดส่วนขยายโบเก้ในอุปกรณ์ Motorola razr 5G ซึ่งจะทำให้หน้าจอตัวอย่างเป็นสีดำ (I35d49)
- แก้ไขเสียง/วิดีโอไม่ซิงค์หลังจากหยุดชั่วคราวและกลับมาทํางานอีกครั้งในอุปกรณ์ Samsung บางรุ่นก่อน API 29 (I64622, b/202798609, b/202798572)
- แก้ไขภาพ/เสียงที่ไม่ซิงค์หลังจากหยุดชั่วคราวและกลับมาเล่นต่อใน Sony G3125 (I2a1a5, b/202799148)
- แก้ไขข้อขัดข้องเมื่อโปรแกรมอัดเสียงพบ
InvalidConfigException
อย่างไรก็ตาม การแก้ไขนี้จะป้องกันไม่ให้แอปขัดข้องเท่านั้น แต่ไม่ได้แก้ไขสาเหตุของInvalidConfigException
หากยังคงกำหนดค่าRecorder
ไม่ได้ แอปพลิเคชันจะได้รับการติดต่อกลับที่เกิดข้อผิดพลาดเมื่อเริ่มบันทึก (I89c29, b/213617227)
การสนับสนุนภายนอก
- อัปเดต :compose:ui:ui-test api (updateApi) เนื่องจากการย้ายข้อมูล test-coroutines-lib (I3366d)
เวอร์ชัน 1.1.0-beta02
23 กุมภาพันธ์ 2022
ปล่อย androidx.camera:camera-*:1.1.0-beta02
แล้ว เวอร์ชัน 1.1.0-beta02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มความสามารถในการระบุรหัสกล้องจริงโดยใช้ การทำงานร่วมกันระหว่างกล้อง 2 (I5aed8)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาการแสดงตัวอย่างแบบขยายใน Oppo Find N (I7d004)
- แก้ปัญหา Galaxy J7 Prime ที่ทำให้ภาพตัวอย่างบิดเบี้ยว (I4c500)
- ใช้อัตราบิตที่เข้ากันได้เพื่อค้นหาโปรแกรมเปลี่ยนไฟล์วิดีโอ (d969052)
เวอร์ชัน 1.1.0-beta01
26 มกราคม 2022
ปล่อย androidx.camera:camera-*:1.1.0-beta01
แล้ว เวอร์ชัน 1.1.0-beta01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตั้งแต่เวอร์ชัน 1.1.0-beta01 ไลบรารี CameraX ทั้งหมดจะปรับหมายเลขเวอร์ชันเดียวกัน ซึ่งจะช่วยให้นักพัฒนาแอปติดตามเวอร์ชันได้ง่ายขึ้นมาก และลดความซับซ้อนของเมทริกซ์ความเข้ากันได้ของเวอร์ชันขนาดใหญ่
การเปลี่ยนแปลง API
- เพิ่ม
Camera2CameraControl.clearCaptureRequestOptions
สำหรับ กำลังล้างตัวเลือกคำขอบันทึกที่มีอยู่ (Ifa07d)
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องที่เกิดขึ้นเมื่อบันทึกวิดีโอในอุปกรณ์ก่อน Android O(API 26) บางรุ่น (I88fdf, b/212328261)
- แก้ไขปัญหาภูมิภาคที่ใช้ AF ไม่ถูกต้องเมื่อใช้
cameraControl#startFocusAndMetering()
ในกล้องหน้าเลนส์ Samsung (Ifbf59, b/210548792) - ใช้ไฟฉายเป็นแฟลชใน Pixel 3a/Pixel 3a XL เพื่อเพิ่มความเร็วและคุณภาพรูปภาพที่จับภาพในที่มืด (Ib12b6, b/211474332)
- แอปพลิเคชันที่เปิดใช้เพื่อให้กล้องกลับมาทำงานอีกครั้งเมื่อกล้อง ถูกขัดจังหวะโดยแอปพลิเคชันอื่นๆ ที่มีลำดับความสำคัญสูงกว่า โหมดหลายหน้าต่างและโฟกัสจะเปลี่ยนกลับไปที่แอปพลิเคชัน โปรดทราบว่าอาจจะมีเวลาในการตอบสนองเกิดขึ้นบ้าง(1-10 วินาทีขึ้นไป) ระหว่างการเปลี่ยนโฟกัสและการเปิดกล้องขึ้นมาอีกครั้งเนื่องจากปัญหาบางอย่างเกี่ยวกับเฟรมเวิร์ก (I4d092)
เวอร์ชัน 1.1.0-alpha12
15 ธันวาคม 2021
ปล่อย androidx.camera:camera-*:1.1.0-alpha12
แล้ว เวอร์ชัน 1.1.0-alpha12 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- นำคำอธิบายประกอบ
@RequiresApi(21)
ที่ไม่จำเป็นออกจากคลาส/อินเทอร์เฟซภายในแล้ว (I8e286, b/204917951) - มีการเปลี่ยนแปลงค่าคงที่ด้านคุณภาพและค่าคงที่สำหรับกลยุทธ์ทางเลือกของ
QualitySelector
ให้แสดงด้วยออบเจ็กต์คลาส ตัวอย่างเช่นQualitySelector.QUALITY_HD
เปลี่ยนเป็นQuality.HD
และQualitySelector.FALLBACK_STRATEGY_LOWER
ถูกเปลี่ยนเป็นอินสแตนซ์ที่แสดงผลโดยFallbackStrategy.lowerQualityOrHigherThan(Quality)
API ที่ใช้สร้างQualitySelector
ได้เปลี่ยนเป็น API ที่อิงตามรายการ API ใหม่QualitySelector.fromOrderedList(List<Quality>)
จะอ้างอิงลำดับของรายการคุณภาพอินพุต ไม่ใช่ลำดับที่สร้างโดยQualitySelector.Procedure
นำชั้นเรียนQualitySelector.Procedure
รายการออกแล้ว (I43343) - นำ
PendingRecording.withEventListener()
ออกแล้ว และต้องส่ง Listener เหตุการณ์ไปยังPendingRecording.start()
ข้อกำหนด Listener เหตุการณ์นี้มีไว้เพื่อสนับสนุนการจัดการข้อผิดพลาดที่ไม่พร้อมกันซึ่งรายงานในเหตุการณ์VideoRecordEvent.Finalize
(I1e71d) ActiveRecording
ได้เปลี่ยนชื่อเป็นRecording
เพื่อลดการพูดรายละเอียด (I77ceb)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่จับภาพในโหมด
FLASH_AUTO
สว่างน้อยเกินไปในที่มืดใน Pixel 3a และ Pixel 3a XL (I13f19, b/205373142) - ใช้ขนาดการแสดงผลล่าสุดเสมอเพื่อพิจารณาตัวอย่าง
Resolution
(I4a694) - กรองกล้องที่ไม่มี
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
ออก กล้องที่ใช้REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
มีความสามารถขั้นต่ำที่อุปกรณ์กล้องทุกชนิดรองรับ กล้องที่ไม่มีREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
อาจเป็นกล้องที่รองรับฟังก์ชันการทำงานพิเศษและไม่รองรับเอาต์พุตสีมาตรฐานCameraX
ไม่สามารถรองรับกรณีการใช้งานPreview
,ImageCapture
,ImageAnalysis
หรือVideoCapture
สำหรับกล้องเหล่านั้น ดังนั้น ควรกรองกล้องเหล่านั้นออกเพื่อป้องกันการใช้งานที่ไม่ถูกต้อง (Ib8cda) CameraSelector#filter
ไม่แสดงIllegalArgumentException
อีกต่อไปเมื่อชุดผลลัพธ์ว่างเปล่า (I27804)- ขณะนี้ระบบใช้การเรียนรู้ที่ชาญฉลาดขึ้นเพื่อเลือกการตั้งค่าโปรแกรมเปลี่ยนไฟล์ตามโปรไฟล์ที่ OEM ระบุ (Iaeef0)
- การแสดงตัวอย่างแบบคงที่จะมีเส้นสีแบบอินเตอร์เลซหลังจากเริ่มบันทึกวิดีโอ UHD บน Pixel1 (I833c6, b/205340278)
เวอร์ชัน 1.1.0-alpha11
17 พฤศจิกายน 2021
ปล่อย androidx.camera:camera-*:1.1.0-alpha11
แล้ว เวอร์ชัน 1.1.0-alpha11 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม CameraSelector#filter ลงใน API สาธารณะเพื่อกรองรายการ CameraInfos ตาม CameraSelector (I105d0)
เพิ่มการกำหนดค่า setOutputImageRotationEnabled API สำหรับ ImageAnalysis ผู้ใช้สามารถเปิดใช้การหมุนสำหรับบัฟเฟอร์รูปภาพ YUV/RGB องศาการหมุนคือการหมุนสัมพัทธ์ที่คำนวณจากการหมุนเซ็นเซอร์และการหมุนเป้าหมายเพื่อให้รูปภาพอยู่ตรงหน้าสุด
เพิ่มการกำหนดค่า setOutputImageRotationEnabled API สำหรับ ImageAnalysis ผู้ใช้สามารถเปิดใช้การหมุนสำหรับบัฟเฟอร์รูปภาพ YUV/RGB องศาการหมุนคือการหมุนสัมพัทธ์ที่คำนวณจากการหมุนเซ็นเซอร์และการหมุนเป้าหมายเพื่อให้รูปภาพอยู่ตรงหน้าสุด
เพิ่ม
getSensorToBufferTransformMatrix
API ใน ImageInfo เมทริกซ์ที่แสดงผลคือการแมปจากพิกัดเซ็นเซอร์กับพิกัดบัฟเฟอร์ ซึ่งก็คือจากค่าCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
ถึง(0, 0, image.getWidth, image.getHeight)
เมทริกซ์สามารถใช้เพื่อจับคู่พิกัดจาก {UseCase} กับอีกเมตริกหนึ่งได้ เช่น พิกัดการแมปของใบหน้าที่ตรวจพบด้วย ImageAnalysis เพื่อดูตัวอย่าง (I9ff1e)เพิ่ม API ImageCapture.Builder#setJpeg Quality ใหม่เพื่ออนุญาตให้เปลี่ยนคุณภาพการบีบอัดรูปภาพ JPEG เอาต์พุตเมื่อถ่ายภาพ (I8dcf4)
เปลี่ยนชื่อ MediaStoreOutputOptions.getCollection เป็น MediaStoreOutputOptions.getCollectionUri (I16639)
แก้ไขข้อบกพร่อง
- แก้ปัญหาที่แฟลชทำงานในระหว่าง แตะเพื่อโฟกัส (startFocusAndMetering) เมื่อโหมดแฟลชทำงานโดยอัตโนมัติ หรือ Always_on ในสภาพแวดล้อมที่มีแสงน้อย (Id4c11)
- ปิดใช้ HDR+ ใน Pixel 2 XL / Pixel 3 XL นิ้วแล้ว โหมด MINIMIZE_LATENCY เพื่อลดเวลาในการตอบสนอง (Ib6270, b/203505523)
การสนับสนุนภายนอก
เวอร์ชัน 1.1.0-alpha10
13 ตุลาคม 2021
ปล่อย androidx.camera:camera-*:1.1.0-alpha10
แล้ว เวอร์ชัน 1.1.0-alpha10 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เปิดตัว
androidx.camera:camera-video:1.1.0-alpha10
เป็นเวอร์ชันอัลฟ่ารุ่นแรกสำหรับวิดีโออย่างเป็นทางการ ทั้งนี้มีปัญหาที่ทราบหลายประการที่ควรแก้ไขในรุ่นต่อๆ ไป
การเปลี่ยนแปลง API
- เพิ่มคำอธิบายประกอบ
@RequiresApi(21)
ในชั้นเรียน CameraX ทั้งหมดแล้ว และลด minSdkVersion จาก AndroidManifest.xml วิธีนี้จะช่วยให้ แกนหลักสำหรับกล้อง เพื่อผสานรวมกับแอปพลิเคชันที่มี minSdkVersion ต่ำกว่า 21 แต่ต้องการใช้เส้นทางโค้ดอย่างมีเงื่อนไข ที่ใช้ API 21 ขึ้นไป สำหรับแอปพลิเคชันใดๆ ที่มี minSdkVersion 21 หรือสูงกว่า คุณไม่ต้องดำเนินการใดๆ สำหรับการเปลี่ยนแปลงนี้ (Ie7f2e, b/200599470)
แก้ไขข้อบกพร่อง
- ใส่ InitializationException เพื่อทำให้แอปสามารถจัดการ AssertionError ได้อย่างมีประสิทธิภาพขณะที่สร้าง CameraCharacteristics (Ibec79)
เวอร์ชัน 1.1.0-alpha09
29 กันยายน 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha09
, androidx.camera:camera-core:1.1.0-alpha09
และ androidx.camera:camera-lifecycle:1.1.0-alpha09
แล้ว เวอร์ชัน 1.1.0-alpha09 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เราได้นำคำอธิบายประกอบ ExperimentalUseCaseGroup ออกแล้วเนื่องจาก API ดังกล่าวไม่ได้อยู่ระหว่างการทดลองอีกต่อไป (I01ef5)
แก้ไขข้อบกพร่อง
- แก้ปัญหารูปภาพที่ถ่ายเบลอ
ในโหมด
MAXIMIZE_QUALITY
(I173a9, b/193823892) - แก้ไขปัญหา Samsung Galaxy J5 ที่กล้องค้างหลังจากถ่ายภาพโดยใช้แฟลช/อัตโนมัติในสภาพแวดล้อมที่มืด (I3aab9)
- เมื่อจำเป็นต้องครอบตัดสำหรับ ImageCapture ให้บีบอัดภาพที่ครอบตัดตามเอาต์พุตด้วยระดับคุณภาพ JPEG ที่ระบุตามโหมดจับภาพที่ตั้งไว้ หากโหมดจับภาพคือ
CAPTURE_MODE_MINIMIZE_LATENCY
คุณภาพการบีบอัด JPEG จะเป็น 95 หากโหมดจับภาพคือCAPTURE_MODE_MAXIMIZE_QUALITY
คุณภาพการบีบอัด JPEG จะเป็น 100 (Ieb37c, b/142856426)
เวอร์ชัน 1.1.0-alpha08
18 สิงหาคม 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha08
, androidx.camera:camera-core:1.1.0-alpha08
และ androidx.camera:camera-lifecycle:1.1.0-alpha08
แล้ว เวอร์ชัน 1.1.0-alpha08 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม setOutputImageFormat API สำหรับการกำหนดค่าการวิเคราะห์รูปภาพ ผู้ใช้ สามารถเลือก ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 หรือ ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888 โดยค่าเริ่มต้น ระบบจะเลือก ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 (I7902D)
การเปลี่ยนแปลง API
- เราได้นำคำอธิบายประกอบ ExperimentalUseCaseGroupLifecycle ออกแล้วเนื่องจาก API ไม่ได้อยู่ระหว่างการทดลองอีกต่อไป (I17B85)
แก้ไขข้อบกพร่อง
- หน้าจอแสดงพรีวิวแบบอยู่กับที่ใน Huawei P20 Lite สว่างเกินไป ปัญหานี้จะเกิดขึ้นเมื่อมีการใช้ความละเอียดพิเศษของตัวอย่างบางความละเอียดร่วมกับค่าการขยายที่ใหญ่ (Idefce, b/192129158)
- แก้ไขปัญหาที่แฟลชไม่ทำงานในอุปกรณ์บางเครื่องเมื่อตั้งค่าแฟลช เป็น FLASH_mode_ON ตามด้วยการถ่ายภาพ (Ieb49b)
- แก้ไขปัญหาที่การแสดงตัวอย่างหยุดทำงานเป็นระยะเวลาหนึ่งเมื่อถ่ายภาพ หากมีการเชื่อมโยง VideoCapture, ImageCapture และ Preview แล้ว (I56197, b/193864120)
- อนุญาตให้ ImageAnalysis เลือกความละเอียดที่ใหญ่กว่า 1080p อุปกรณ์ที่ระดับ LIMITED สูงกว่าสามารถรองรับความละเอียด RECORD สำหรับ ImageAnalysis เมื่อเชื่อมโยงเข้าด้วยกันกับ Preview และ ImageCapture ข้อดีข้อเสียคือความละเอียดที่เลือกสำหรับ ImageCapture จะต้องเป็นความละเอียด RECORD ด้วย หากต้องการเลือกความละเอียดขนาด RECORD สำหรับ ImageAnalysis ให้เรียบร้อย ควรตั้งค่าความละเอียดเป้าหมายขนาด RECORD ทั้งใน ImageCapture และ ImageAnalysis ซึ่งหมายความว่าแอปพลิเคชันเข้าใจข้อดีอย่างชัดเจน และต้องการให้ ImageAnalysis มีความละเอียดมากกว่าแทนที่จะใช้ ImageCapture มีความละเอียดสูงสุด สำหรับคำจำกัดความของ RECORD, ขนาด MAXIMUM และรายละเอียดเพิ่มเติม โปรดดูที่ https://developer.android.com/reference/android/hardware/camera2/cameraDevice#regular-capture ขนาด RECORD อ้างอิงถึงความละเอียดสูงสุดในการบันทึกของอุปกรณ์กล้องตามที่กำหนดโดย CamcorderProfile ขนาดสูงสุด หมายถึงความละเอียดเอาต์พุตสูงสุดของอุปกรณ์กล้องสำหรับรูปแบบหรือเป้าหมายนั้นจาก StreamConfigurationMap.getOutputSizes(int) (I1ee97, b/192911449)
- เพิ่มข้อมูล Exif ในรูปภาพที่จับภาพไว้ (I01ff0, b/193342619)
- ใน ImageCapture ให้แสดงผล URI ของรูปที่บันทึกหากตำแหน่งที่บันทึกคือ File (Ib5b49, b/149241379)
- แก้ไขปัญหาที่จับภาพด้วยแฟลชมืดในอุปกรณ์หลายเครื่อง (I4e510)
เวอร์ชัน 1.1.0-alpha07
21 กรกฎาคม 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha07
, androidx.camera:camera-core:1.1.0-alpha07
และ androidx.camera:camera-lifecycle:1.1.0-alpha07
แล้ว เวอร์ชัน 1.1.0-alpha07 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาเกี่ยวกับ Samsung Galaxy Note 5 ที่กล้องได้รับ ค้างหลังจากถ่ายภาพโดยใช้แฟลช/อัตโนมัติในที่มืด สภาพแวดล้อม (If6871)
- แก้ไขปัญหา
YuvToJpegProcessor
EOFException เมื่อเปิดใช้โหมดส่วนขยายและตั้งค่าโหมดImageCapture#CAPTURE_MODE_MAX_QUALITY
(I538bd, b/192017012)
เวอร์ชัน 1.1.0-alpha06
30 มิถุนายน 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha06
, androidx.camera:camera-core:1.1.0-alpha06
และ androidx.camera:camera-lifecycle:1.1.0-alpha06
แล้ว เวอร์ชัน 1.1.0-alpha06 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- โปรโมต API ชดเชยการรับแสงรุ่นทดลองสำหรับ แกนกล้อง (I08ee8)
- เพิ่ม API isFocusMeteringSupported ใน CameraInfo ซึ่ง อนุญาตให้แอปพลิเคชันตรวจสอบว่า FocusMeteringAction ที่ระบุ ใช้ได้กับกล้องตัวปัจจุบันหรือไม่รองรับ (Ib45ae, b/188606490)
- เปิดเผย getResolutionInfo API เพื่อให้ข้อมูลความละเอียดสำหรับการแสดงตัวอย่าง การจับภาพ และการวิเคราะห์รูปภาพ (I2b613, b/188600718)
- โปรโมต API ทดลองต่อไปนี้ให้กับ API อย่างเป็นทางการ CameraXConfig.Builder#setavailablecamerasLimiter(), CameraXConfig.Builder#setminimumLakingLevel() CameraXconfig.Builder#setSchedulerHandler() CameraXConfig#getavailablecamerasLimiter(), CameraXConfig#getminimumLakingLevel() CameraXConfig#getcameraExecutor() CameraXConfig#getSchedulerHandler() (I2ade2)
- เปิดเผยอินเทอร์เฟซ CameraProvider สำหรับการเข้าถึงชุดกล้อง (I1a7b1)
- โปรโมต UseCaseGroup API แบบทดลองสําหรับฟีเจอร์กล้องถ่ายรูป วงจรการใช้งานกล้อง และวิดีโอจากกล้อง เพิ่ม
ViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
และViewPort.Builder#setScaleType
สำหรับปรับแต่งวิวพอร์ต (I7cee8)
เวอร์ชัน 1.1.0-alpha05
2 มิถุนายน 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha05
, androidx.camera:camera-core:1.1.0-alpha05
และ androidx.camera:camera-lifecycle:1.1.0-alpha05
แล้ว เวอร์ชัน 1.1.0-alpha05 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- นำชั้นเรียน
Camera2CameraFilter
รายการออกแล้ว แนะนำให้เลือกกล้องตาม CameraFilter และเรียกดู CameraCharacteristics หรือ Camera2 อื่นๆ ที่เกี่ยวข้อง ผ่านทาง Camera2cameraInfo ได้หากจำเป็น (Ib887C) - ตอนนี้ API
ExperimentalCameraFilter
รายการไม่ได้อยู่ในการทดลองแล้ว และกลายเป็น API อย่างเป็นทางการ และสามารถใช้ได้โดยไม่ต้องมีคำอธิบายประกอบการเลือกใช้ (I4bc94) - เพิ่ม API สถานะกล้องที่แสดงผ่าน
CameraInfo#getCameraState()
(Ia86b4) - เพิ่ม API ทดลอง
CameraInfo#getCameraSelector()
ซึ่งแสดงผล CameraSelector เฉพาะกับกล้อง (I77f9f)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ ListenableFuture แสดงผล setZoomRatio และ setLinearZoom ดำเนินการใน Android บางรายการไม่ได้ อุปกรณ์ 11 เครื่อง (I716d7)
- เร่งการเปลี่ยนกล้องและลดอัตราการเกิดข้อผิดพลาดของอุปกรณ์กล้อง (I34c99)
- แทนที่ ExperimentalUseCaseGroupLifecycle ด้วยแล้ว ExperimentalUseCaseGroup (I3b2ef, b/159033688)
เวอร์ชัน 1.1.0-alpha04
21 เมษายน 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha04
, androidx.camera:camera-core:1.1.0-alpha04
และ androidx.camera:camera-lifecycle:1.1.0-alpha04
แล้ว เวอร์ชัน 1.1.0-alpha04 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขการรั่วไหลของหน่วยความจำที่เกิดจากเทรดหลายรายการในการเข้าถึงคอลเล็กชันเดียวกันพร้อมกัน การรั่วไหลของหน่วยความจำอาจทำให้กิจกรรมหรือ Fragment ถูกเก็บไว้โดยอินสแตนซ์ตัวอย่าง (I7b4b8)
- แทนที่คำอธิบายประกอบ
@Experimental
ด้วย@RequiresOptIn
ใน API ทดลองแล้ว สำหรับการเรียก API ทดลอง ให้ใช้androidx.annotation.OptIn
แทนandroidx.annotation.experimental.UseExperimental
ที่เลิกใช้งานแล้ว (Iff226) - การจับภาพคงที่โดยใช้แฟลช "เปิด/อัตโนมัติ" จะถ่ายภาพสีจางบน Samsung Galaxy S7 (I30001)
- เพิ่ม CameraState API ที่จะแสดงผ่าน CameraInfo (I75392)
เวอร์ชัน 1.1.0-alpha03
24 มีนาคม 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha03
, androidx.camera:camera-core:1.1.0-alpha03
และ androidx.camera:camera-lifecycle:1.1.0-alpha03
แล้ว เวอร์ชัน 1.1.0-alpha03 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- รูปแบบ JPEG เอาต์พุตสำหรับ
ImageCapture#OnImageCapturedCallback
เมื่อเปิดใช้โหมดส่วนขยาย (I0d7b1) - แก้ไขความล้มเหลวในการเริ่มต้นในอุปกรณ์ UMIDIGI BISON (I57d9e, b/180818665)
- แก้ไขการแสดงตัวอย่าง Samsung A3 แบบยืดใน PreviewView (Iacb30, b/180121821)
เวอร์ชัน 1.1.0-alpha02
24 กุมภาพันธ์ 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha02
, androidx.camera:camera-core:1.1.0-alpha02
และ androidx.camera:camera-lifecycle:1.1.0-alpha02
แล้ว เวอร์ชัน 1.1.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API
ProcessCameraProvider.getAvailableCameraInfos()
เพื่อดึงข้อมูลเกี่ยวกับกล้องที่ใช้ได้โดยตรง ซึ่งเป็นกล้องทั้งหมดของอุปกรณ์ หรือกล้องที่เลือกไว้โดยCameraSelector
ที่ให้ไว้ในCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)
(Ieac08)
แก้ไขข้อบกพร่อง
- ตอนนี้ CameraX พยายามบังคับให้เปิดกล้องในครั้งแรก ซึ่งอาจส่งผลให้ CameraX ขโมยกล้องออกจากไคลเอ็นต์กล้องอื่นๆ เมื่อแอปมีลำดับความสำคัญสูงกว่า (Iab069, b/175820568)
- แก้ไขความล้มเหลวในการทดสอบ Robolectric เมื่อ มีการใช้ setavailablecamerasLimiter ใน CameraXConfig (Ice307)
- การเปลี่ยนแปลงนี้จะตรวจจับข้อยกเว้นเมื่อคิวรูปภาพใน ImageAnalysis ถึงจำนวนสูงสุดแล้ว คุณจึงอาจเห็นว่า Use Case อื่นๆ ค้างหรือทำงานช้าแทนที่จะขัดข้อง เช่น ภาพตัวอย่างค้าง/ช้า (Ic12da, b/175851631)
- แก้ไข ExtensionsErrorListener เพื่อรายงานข้อผิดพลาดเมื่อมีการเชื่อมโยงเฉพาะ Preview หรือ ImageCapture เท่านั้น (I5ae39)
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture โดยนำการตรวจสอบตำแหน่งที่บันทึกไว้ออกก่อนถ่ายภาพ หลังจากทำการเปลี่ยนแปลงนี้แล้ว หากปลายทางการบันทึกไม่ถูกต้อง ระบบจะใช้เวลานานกว่าจะได้รับการตอบกลับว่าไม่สำเร็จเนื่องจากจะพยายามบันทึกรูปภาพหลังจากถ่ายภาพแล้ว (I1fd4e, b/177061560)
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture ด้วย "File" พิมพ์ OutputFileOptions (I5164a, b/177061560)
- อัปเดตเอกสารแล้วเพื่อไม่แนะนำให้ใช้
ProcessCameraProvider.configureInstance(...)
จาก รหัสห้องสมุด (Ib8a9f)
เวอร์ชัน 1.1.0-alpha01
27 มกราคม 2021
ปล่อย androidx.camera:camera-camera2:1.1.0-alpha01
, androidx.camera:camera-core:1.1.0-alpha01
และ androidx.camera:camera-lifecycle:1.1.0-alpha01
แล้ว เวอร์ชัน 1.1.0-alpha01 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- วิธีแก้ปัญหาที่มีไว้สำหรับข้อมูลรูปภาพที่เสียหายเป็นระยะๆ ในรูปแบบ JPEG ในกล้องหลัง SM-G930T (I52001, b/159831206)
- แก้ไขปัญหา
IllegalArgumentException
ที่เกิดขึ้นเมื่อขนาดที่รองรับการแสดงตัวอย่างทั้งหมดมีขนาดเล็กกว่า 640x480 และขนาดการแสดงผลใหญ่กว่า 640x480 (I2a63c, b/150506192) - ทรัพยากรในไลบรารีที่ไม่มีทรัพยากรสาธารณะที่ประกาศอย่างชัดเจน (เช่น ผ่าน public.xml) จะเป็นแบบส่วนตัวโดยค่าเริ่มต้น (Ia1dcc, b/170882230)
Camera-กล้องถ่ายรูป2, Camera-Core และ Camera-Lifecycle เวอร์ชัน 1.0.2
เวอร์ชัน 1.0.2
29 กันยายน 2021
ปล่อย androidx.camera:camera-camera2:1.0.2
, androidx.camera:camera-core:1.0.2
และ androidx.camera:camera-lifecycle:1.0.2
แล้ว เวอร์ชัน 1.0.2 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ปัญหารูปภาพที่ถ่ายเบลอ
ในโหมด
MAXIMIZE_QUALITY
(I173a9, b/193823892) - แก้ไขปัญหาที่จับภาพด้วยแฟลชมืดแล้ว อุปกรณ์ที่หลากหลาย (I4e510)
Camera-กล้องถ่ายรูป2, Camera-Core และ Camera-Lifecycle เวอร์ชัน 1.0.1
เวอร์ชัน 1.0.1
21 กรกฎาคม 2021
ปล่อย androidx.camera:camera-camera2:1.0.1
, androidx.camera:camera-core:1.0.1
และ androidx.camera:camera-lifecycle:1.0.1
แล้ว เวอร์ชัน 1.0.1 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
แก้ไขปัญหาที่
ListenableFuture
แสดงผลsetZoomRatio
และsetLinearZoom
ดำเนินการให้เสร็จสิ้นไม่ได้ใน Android บางรุ่น อุปกรณ์ 11 เครื่อง (I716d7)แก้ไขปัญหากล้องค้างที่สถานะปิดของกล้องในอุปกรณ์บางเครื่องและทำให้การแสดงตัวอย่างเป็นสีดำ (I34c99)
Camera-กล้องถ่ายรูป2, Camera-Core และ Camera-Lifecycle เวอร์ชัน 1.0.0
เวอร์ชัน 1.0.0
5 พฤษภาคม 2021
ปล่อย androidx.camera:camera-camera2:1.0.0
, androidx.camera:camera-core:1.0.0
และ androidx.camera:camera-lifecycle:1.0.0
แล้ว เวอร์ชัน 1.0.0 มีคอมมิตเหล่านี้
ฟีเจอร์หลักของ 1.0.0
- CameraX รองรับ Preview, ImageCapture และ Analysis
- CameraX จะจัดการวงจรของกล้องภายใน API ที่ใช้งานง่าย
- CameraX มีเป้าหมายที่จะสร้างเลเยอร์ความเข้ากันได้ซึ่งช่วยแก้ปัญหาหลายอย่างในระบบนิเวศของกล้อง Android
ปัญหาที่ทราบ
เวอร์ชัน 1.0.0-rc05
21 เมษายน 2021
ปล่อย androidx.camera:camera-camera2:1.0.0-rc05
, androidx.camera:camera-core:1.0.0-rc05
และ androidx.camera:camera-lifecycle:1.0.0-rc05
แล้ว เวอร์ชัน 1.0.0-rc05 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- การจับภาพคงที่โดยใช้แฟลช "เปิด/อัตโนมัติ" จะถ่ายภาพสีจางบน Samsung Galaxy S7 (I30001)
เวอร์ชัน 1.0.0-rc04
24 มีนาคม 2021
ปล่อย androidx.camera:camera-camera2:1.0.0-rc04
, androidx.camera:camera-core:1.0.0-rc04
และ androidx.camera:camera-lifecycle:1.0.0-rc04
แล้ว เวอร์ชัน 1.0.0-rc04 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขความล้มเหลวในการเริ่มต้นในอุปกรณ์ UMIDIGI BISON (I57d9e, b/180818665)
เวอร์ชัน 1.0.0-rc03
24 กุมภาพันธ์ 2021
ปล่อย androidx.camera:camera-camera2:1.0.0-rc03
, androidx.camera:camera-core:1.0.0-rc03
และ androidx.camera:camera-lifecycle:1.0.0-rc03
แล้ว เวอร์ชัน 1.0.0-rc03 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขข้อผิดพลาดของรูปแบบในเอกสารของ
ProcessCameraProvider#getInstance
- แก้ไขความล้มเหลวในการทดสอบ Robolectric เมื่อมีการใช้ setavailablecamerasLimiter ใน CameraXConfig
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture โดยนำการตรวจสอบตำแหน่งที่บันทึกไว้ออกก่อนถ่ายภาพ หลังจากทำการเปลี่ยนแปลงนี้แล้ว หากปลายทางการบันทึกไม่ถูกต้อง ระบบจะใช้เวลานานกว่าจะได้รับการตอบกลับว่าไม่สำเร็จเนื่องจากจะพยายามบันทึกรูปภาพหลังจากถ่ายภาพแล้ว
- การเปลี่ยนแปลงนี้จะตรวจจับข้อยกเว้นเมื่อคิวรูปภาพใน ImageAnalysis ถึงจำนวนสูงสุดแล้ว คุณจึงอาจเห็นว่า Use Case อื่นๆ ค้างหรือทำงานช้าแทนที่จะเกิดข้อขัดข้อง เช่น ภาพตัวอย่างค้าง/ช้า
- วิธีแก้ปัญหาที่มีไว้สำหรับข้อมูลรูปภาพที่เสียหายเป็นระยะๆ ในรูปแบบ JPEG ในกล้องหลัง SM-G930T (I52001, b/159831206)
- การเปลี่ยนแปลงนี้จะตรวจจับข้อยกเว้นเมื่อคิวรูปภาพใน ImageAnalysis ถึงจำนวนสูงสุดแล้ว คุณจึงอาจเห็นว่า Use Case อื่นๆ ค้างหรือทำงานช้าแทนที่จะขัดข้อง เช่น ภาพตัวอย่างค้าง/ช้า (Ic12da, b/175851631)
- แก้ไขความล้มเหลวในการทดสอบ Robolectric เมื่อ มีการใช้ setavailablecamerasLimiter ใน CameraXConfig (Ice307)
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture โดยนำการตรวจสอบตำแหน่งที่บันทึกไว้ออกก่อนถ่ายภาพ หลังจากทำการเปลี่ยนแปลงนี้แล้ว หากปลายทางการบันทึกไม่ถูกต้อง ระบบจะใช้เวลานานกว่าจะได้รับการตอบกลับว่าไม่สำเร็จเนื่องจากจะพยายามบันทึกรูปภาพหลังจากถ่ายภาพแล้ว (I1fd4e, b/177061560)
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture ด้วย "File" พิมพ์ OutputFileOptions (I5164a, b/177061560)
เวอร์ชัน 1.0.0-rc02
27 มกราคม 2021
ปล่อย androidx.camera:camera-camera2:1.0.0-rc02
, androidx.camera:camera-core:1.0.0-rc02
และ androidx.camera:camera-lifecycle:1.0.0-rc02
แล้ว เวอร์ชัน 1.0.0-rc02 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ปัญหา IllegalArgumentException เกิดขึ้นเมื่อขนาดที่รองรับการแสดงตัวอย่างทั้งหมดมีขนาดเล็กกว่า 640x480 และขนาดการแสดงผลใหญ่กว่า 640x480 (b/150506192)
จำกัดจำนวนครั้งในการทำกล้องอีกครั้ง ขณะพยายามกู้คืนจากปัญหาบางอย่างเมื่อเปิดกล้อง CameraX จะไม่พยายามเปิดกล้องใหม่อย่างไม่มีกำหนดอีกต่อไป แต่จะหยุดลงหลังจากที่ลองอีกครั้งเป็นเวลา 10 วินาทีI435d2
แก้ไขปัญหา
IllegalArgumentException
ที่เกิดขึ้นเมื่อขนาดที่รองรับการแสดงตัวอย่างทั้งหมดมีขนาดเล็กกว่า 640x480 และขนาดการแสดงผลใหญ่กว่า 640x480 (I2a63c, b/150506192)
เวอร์ชัน 1.0.0-rc01
16 ธันวาคม 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-rc01
, androidx.camera:camera-core:1.0.0-rc01
และ androidx.camera:camera-lifecycle:1.0.0-rc01
แล้ว เวอร์ชัน 1.0.0-rc01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เปลี่ยน CameraFilter และ Camera2Filter ถ่ายภาพใน CameraInfo (I6883D)
- เพิ่มคลาส Camera2cameraControl เวอร์ชันทดลองเพื่ออนุญาตให้ทำงานร่วมกับ Camera2 API ได้ แบบไดนามิก (I45cf3)
- เปลี่ยนชื่อ Camera2cameraInfo#fromcameraInfo เป็น #from แล้ว (Ia2bd6)
- เพิ่ม setavailablecamerasLimiter API แบบทดลองไปยัง CameraXConfig เพื่ออนุญาตให้แอปเพิ่มประสิทธิภาพเวลาในการตอบสนองของการเริ่มต้น ด้วยการหลีกเลี่ยงการเริ่มต้นกล้องที่ไม่ได้ใช้ (I6cf88)
- เพิ่มเมธอดทดลอง
CameraXConfig.Builder#setMinimumLoggingLevel()
เพื่ออนุญาตให้ตั้งค่าระดับการบันทึกขั้นต่ำสำหรับบันทึก CameraX หากไม่ได้ตั้งค่า ระบบจะใช้ค่าเริ่มต้นเป็นLog#DEBUG
(Ic3245)
แก้ไขข้อบกพร่อง
- วิธีแก้ปัญหาที่รวมอยู่สำหรับข้อมูลรูปภาพที่เสียหายเป็นพักๆ ใน JPEG ในกล้องหลัง SM-G930V (I5aca5, b/159831206)
- แก้ปัญหาที่การถ่ายภาพไม่ได้รับผลลัพธ์เมื่อเปิด/เปิดแฟลชตลอดเวลา และสภาพแวดล้อมก็จะมืดลงในอุปกรณ์ Samsung SM-A716 (If98b2, b/172036589)
- แก้ไขปัญหาที่หยุดการแสดงตัวอย่างด้วยการเรียก
Preview.setSurfaceProvider(null)
ไม่ได้ (I3ac18) - แก้ปัญหาการวางแนวเมื่อจับภาพ 4:3 ในอุปกรณ์บางประเภท (I0e3fb, b/171492111)
Camera2, Core และ วงจรเวอร์ชัน 1.0.0-เบต้า12
11 พฤศจิกายน 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta12
, androidx.camera:camera-core:1.0.0-beta12
และ androidx.camera:camera-lifecycle:1.0.0-beta12
แล้ว เวอร์ชัน 1.0.0-beta12 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- ปิดใช้แฟลชอัตโนมัติในอุปกรณ์ Samsung A3 เพื่อแก้ไขข้อขัดข้องแล้ว เมื่อถ่ายรูปด้วยแฟลชอัตโนมัติโหมด AE ในอุปกรณ์ Samsung A3 (Ia5fe3, b/157535165)
- แก้ไขปัญหาการขยายการแสดงตัวอย่างในอุปกรณ์ Nexus 4 ที่ใช้ Android L (API ระดับ 21 และ 22) (I4d407, b/158749159)
- คลาสฐาน
OnImageCapturedCallback#onCaptureSuccess
ไม่ปิดรูปภาพอีกต่อไป เพื่อป้องกัน ที่คาดไม่ถึงกับนักพัฒนาซอฟต์แวร์ นักพัฒนาแอปไม่ควรพึ่งพา Super.onCaptureSuccess เพื่อปิดรูปภาพ (Ifbf9c) - เวอร์ชัน Androidx ของคำอธิบายประกอบทดลองเป็น เลิกใช้งานแล้วเพื่อให้ ความเท่าเทียมกับ Kotlin ซึ่งมีการแทนที่ด้วย ต้องใช้คำอธิบายประกอบ sOptIn และฟีเจอร์วิเคราะห์โค้ดที่ใช้ Java ได้รับการอัปเดตเป็น รองรับทั้งคำอธิบายประกอบ Kotlin ใหม่และตัวแปร androidx ใหม่ (I52495, b/151331381)
Camera-camera2 เวอร์ชัน 1.0.0-beta11
14 ตุลาคม 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta11
แล้ว เวอร์ชัน 1.0.0-beta11 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รองรับ API ของ Android 11
CONTROL_ZOOM_RATIO
สำหรับการซูม อุปกรณ์ Android 11 ขึ้นไปซึ่งมีCONTROL_ZOOM_RATIO_RANGE
(I62cc6)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหา NumberFormatException เกิดขึ้นเมื่อรหัสกล้องเป็นรหัสกล้องที่ไม่ใช่จำนวนเต็ม (Ib2228)
- ปรับปรุงเวลาในการตอบสนองของการเริ่มต้น CameraX และ bindToLifecycle (I61dc5)
- การสร้าง UseCases ไม่จำเป็นต้องมีการเริ่มต้น CameraX
ที่ต้องทำให้เสร็จ กำหนดค่าเฉพาะการใช้งานทั้งหมดเปิดอยู่
Use Case เมื่อแนบกับอินสแตนซ์กล้องถ่ายรูปซึ่งมีไว้สำหรับสาธารณะ
API คือ
ProcessCameraProvider.bindToLifecycle()
(Ia5411) <UseCase>.getTargetRotation()
จะส่งคืนSurface.ROTATION_0
หากเรียกใช้ก่อนแนบกับอินสแตนซ์กล้องถ่ายรูป เว้นแต่ว่า มีการตั้งค่า targetRotation ใน Builder หรือ UseCase (I80fcd)
Camera-Core เวอร์ชัน 1.0.0-beta11
14 ตุลาคม 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta11
แล้ว เวอร์ชัน 1.0.0-beta11 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รองรับ Android 11 CONTROL_ZOOM_RATIO
API สำหรับการซูมเข้า
อุปกรณ์ Android 11 ขึ้นไปซึ่งมี
CONTROL_ZOOM_RATIO_RANGE
(I62cc6)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหา NumberFormatException เกิดขึ้นเมื่อรหัสกล้องเป็นรหัสกล้องที่ไม่ใช่จำนวนเต็ม (Ib2228)
- การสร้าง UseCases ไม่จำเป็นต้องมีการเริ่มต้น CameraX
ที่ต้องทำให้เสร็จ กำหนดค่าเฉพาะการใช้งานทั้งหมดเปิดอยู่
Use Case เมื่อแนบกับอินสแตนซ์กล้องถ่ายรูปซึ่งมีไว้สำหรับสาธารณะ
API คือ
ProcessCameraProvider.bindToLifecycle()
(Ia5411) <UseCase>.getTargetRotation()
จะส่งคืนSurface.ROTATION_0
หากเรียกใช้ก่อนแนบกับอินสแตนซ์กล้องถ่ายรูป เว้นแต่ว่า มีการตั้งค่า targetRotation ใน Builder หรือ UseCase (I80fcd)
Camera-Core เวอร์ชัน 1.0.0-beta10
23 กันยายน 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta10
แล้ว เวอร์ชัน 1.0.0-beta10 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องในการตรวจสอบปลายทางการบันทึกไฟล์สำหรับการจับภาพ (I8c565, b/167697553)
Camera-camera2 เวอร์ชัน 1.0.0-beta10
23 กันยายน 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta10
แล้ว เวอร์ชัน 1.0.0-beta10 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- รุ่นที่รองรับ camera-Core 1.0.0-beta10
Camera-camera2 เวอร์ชัน 1.0.0-beta09
16 กันยายน 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta09
แล้ว เวอร์ชัน 1.0.0-beta09 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- แทนที่จะให้วิธีการแบบคงที่ Camera2cameraInfo จะ ในอินสแตนซ์ CameraInfo เมื่อสร้างเพื่อเรียกข้อมูลที่เกี่ยวข้องกับ Camera2 ข้อมูลจาก (I5B844)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาสัดส่วนภาพเป้าหมายในอุปกรณ์แท็บเล็ต ควรเลือกขนาด 16:9 เมื่อกำหนดสัดส่วนภาพเป้าหมายเป็น
AspectRatio.RATIO_16_9
(Ib7fcf, b/151969438) - โยน
InitializationException
เพื่อให้แอปสามารถจัดการ AssertionError ได้อย่างสวยงามเมื่อสร้าง CameraCharacteristics (I89c8c, b/160524721) - เพิ่มอินเทอร์เฟซทดลองสำหรับ ExposureCompensation (If96c7)
Camera-Core เวอร์ชัน 1.0.0-beta09
16 กันยายน 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta09
แล้ว เวอร์ชัน 1.0.0-beta09 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- แก้ไขข้อบกพร่องที่มีการทำเครื่องหมายวิวพอร์ตว่าไม่ใช่ค่าว่างใน UseCaseGroup นักพัฒนาซอฟต์แวร์ควรจะสามารถสร้างวิวพอร์ตได้โดยไม่ต้องตั้งค่าวิวพอร์ต (Ie3d2e)
- เพิ่มอินเทอร์เฟซทดลองสำหรับ
ExposureCompensation
(If96c7) - อนุญาตการหมุนเวียนเป้าหมายที่กำหนดเองสำหรับการแสดงตัวอย่าง ระบบจะคํานวณข้อมูลการเปลี่ยนรูปแบบและส่งคืนให้กับผู้ใช้ในทันทีผ่าน Callback
TranformationInfoListener
ใหม่ (I21470)
แก้ไขข้อบกพร่อง
- แก้ปัญหาที่แฟลชในอุปกรณ์บางเครื่องไม่ปิด โดยจะเกิดขึ้นเมื่อตั้งค่าโหมดแฟลชเป็น
FLASH_MODE_ON
เพื่อถ่ายรูป และจะเปลี่ยนเป็นFLASH_MODE_OFF
เมื่อแฟลชเริ่มทำงาน มีอาการเหมือนเปิดใช้โหมดไฟฉาย (Ib4451, b/162568128) - บังคับให้ PreviewView ใช้ TextureView หากเปิดใช้เอฟเฟกต์ส่วนขยาย และการใช้งานไลบรารีของผู้ให้บริการต้องทำกระบวนการพิเศษบนพื้นผิวเอาต์พุต (I0c3cc)
- แก้ไขการรั่วไหลของกิจกรรม/ส่วนย่อยเมื่อส่งบริบทกิจกรรม/ส่วนย่อยไปยัง
ProcessCameraProvider.getInstance(Context)
ปัญหาที่ทราบ
- เมื่อตั้งค่า ViewPort แล้ว การตัดภาพซ้ำของ ImageCapture อาจไม่ถูกต้องในอุปกรณ์ที่หมุนบัฟเฟอร์ภาพใน HAL เราจะแก้ไขปัญหานี้ในรุ่นถัดไป
Camera-camera2 เวอร์ชัน 1.0.0-beta08
19 สิงหาคม 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta08
แล้ว เวอร์ชัน 1.0.0-beta08 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- เพิ่มประสิทธิภาพ bindToLifecycle ให้ทำงานได้อย่างรวดเร็วบนเทรดหลัก (I1d57e)
- DisplayOrientedMeteringPointโรงงาน จะใช้ฟีเจอร์ CameraInfo แทน CameraSelector เพื่อให้มีการแมปโดยตรงกับ กล้องที่โรงงานจะสร้างคะแนนให้ ชั้นเรียนทั้งหมด ที่ใช้ DisplayOrientedMeteringPointสด จะบันทึกภาพด้วย CameraInfo เช่นกัน แทน CameraSelector (I400c1)
- แก้ไขปัญหาการจัดกลุ่มขนาดอัตราส่วนความละเอียดอัตโนมัติที่เลือกขนาด 16:9 (864x480) เมื่อการตั้งค่าความละเอียดเป้าหมายเป็น 2016x1080 และยังมีการรองรับขนาด 1920x1080 ขนาด 16:9 อีกแบบหนึ่ง (I53167, b/159363774)
- แก้ไขปัญหา CameraControl ที่กล้องไม่สามารถทำงานได้จากสภาวะการแข่งขัน (I2279f, b/152333890, b/160714166)
Camera-Core เวอร์ชัน 1.0.0-beta08
19 สิงหาคม 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta08
แล้ว เวอร์ชัน 1.0.0-beta08 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
DisplayOrientedMeteringPointFactory
ทำประตูได้ในCameraInfo
แทนCameraSelector
เพื่อให้มีการแมปโดยตรงกับ กล้องที่โรงงานจะสร้างคะแนนให้ ชั้นเรียนทั้งหมด ที่ใช้DisplayOrientedMeteringPointFactory
ยังจะประมวลผลCameraInfo
ด้วย แทนCameraSelector
(I400c1)
แก้ไขข้อบกพร่อง
- สำหรับการจับภาพ ให้เขียนทับธงแนวนอนที่พลิกกลับในข้อมูลเมตาโดยอิงตามทิศทางของกล้อง (I28499)
- การเริ่มต้นไม่ควรมีข้อขัดข้องอีกต่อไปเมื่อใช้บริบท
ที่ไม่ส่งคืนออบเจ็กต์ Application จาก
Context.getApplicationContext()
(I3d3c9, b/160817073)
Camera-camera2 เวอร์ชัน 1.0.0-beta07
22 กรกฎาคม 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta07
แล้ว เวอร์ชัน 1.0.0-beta07 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาการขยายการแสดงตัวอย่างในอุปกรณ์ Android 5.0 เวอร์ชันเก่า (I0c03a)
- ยกเว้นขนาดที่รองรับ JPEG บางขนาดที่จะทำให้เกิดปัญหา WYSIWYG ในอุปกรณ์บางเครื่อง (Ib5128)
Camera-Core เวอร์ชัน 1.0.0-beta07
22 กรกฎาคม 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta07
แล้ว เวอร์ชัน 1.0.0-beta07 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ผสานสไตล์ที่พอดี
FIT_CENTER
,FIT_START
และFIT_END
เข้ากับFIT
FIT
หมายความว่ารูปสี่เหลี่ยมครอบตัดที่แสดงจะเป็นมุมของเซ็นเซอร์สูงสุดที่เป็นไปได้ (Ia73c3) - ทรวงอกการครอบตัดของตัวอย่างกำหนดค่าโดยวิวพอร์ต ควรให้ผู้ใช้ปลายทางเห็นเฉพาะพื้นที่ที่ครอบคลุมโดยสี่เหลี่ยมครอบตัด (I142a4)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาการขยายการแสดงตัวอย่างในอุปกรณ์ Android 5.0 เวอร์ชันเก่า (I0c03a)
- แก้ไขข้อยกเว้น
ConcurrentModificationException
แล้ว เมื่อยกเลิกการเชื่อมโยง Use Case (I371c0)
Camera-camera2 เวอร์ชัน 1.0.0-beta06
24 มิถุนายน 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta06
แล้ว เวอร์ชัน 1.0.0-beta06 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มอินเทอร์เฟซทดลองสำหรับการกรองกล้องตามกล้อง ID และลักษณะกล้อง (I28f61)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ startFocusAndMetering ไม่ทำงาน โฟกัสไปที่ Samsung Galaxy S7 ได้ (If3be7, b/159039233)
- แก้ปัญหากล้องปิดไม่ได้หลังจากออกจากแอป (I7a7b3)
- แก้ไขการแสดงตัวอย่างช่วงพักการเปลี่ยนกล้องซ้ำๆ เมื่อใช้ SurfaceView ที่ใช้งาน PreviewView (I920ce)
CameraControl#startFocusAndMetering
จะล้มเหลวหากไม่มีเงื่อนไข MeteringPoint ที่ระบุสามารถสร้างรูปสี่เหลี่ยมการวัดที่ถูกต้องได้ (Id53ce)
Camera-Core เวอร์ชัน 1.0.0-beta06
24 มิถุนายน 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta06
แล้ว เวอร์ชัน 1.0.0-beta06 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มอินเทอร์เฟซทดลองสำหรับการกรองกล้องตามกล้อง ID และลักษณะกล้อง (I28f61)
แก้ไขข้อบกพร่อง
- กำหนดค่า CameraX ได้แล้วด้วย
ProcessCameraProvider#configureInstance()
ก่อนโทรProcessCameraProvider#getInstance()
วิธีนี้ทำให้สามารถปรับแต่งCameraXConfig
โดยไม่ต้องติดตั้งใช้งานCameraXConfig.Provider
ในคลาสแอปพลิเคชันของแอป (Ia1a8d) CameraControl#startFocusAndMetering
จะล้มเหลวหากไม่มีเงื่อนไข MeteringPoint ที่ระบุสามารถสร้างรูปสี่เหลี่ยมการวัดที่ถูกต้องได้ (Id53ce)
Camera-camera2 เวอร์ชัน 1.0.0-beta05
10 มิถุนายน 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta05
แล้ว เวอร์ชัน 1.0.0-beta05 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อเริ่มต้นแอปเมื่อเริ่มต้น CameraX ขณะที่โทรศัพท์อยู่ในโหมดห้ามรบกวน
InitializationException
มีCameraUnavailableException
ซึ่งจะตั้งค่าเป็นListenableFuture
ของผลลัพธ์การกำหนดค่าเริ่มต้นแทนที่จะทำให้แอปพลิเคชันขัดข้อง (I9909a, b/149413835) - แก้ไขข้อขัดข้องเมื่อโทรหา
startFocusAndMetering
ในอุปกรณ์ที่CONTROL_AF_STATE
เป็นค่าว่าง (Ife55e, b/157084254)
Camera-Core เวอร์ชัน 1.0.0-beta05
10 มิถุนายน 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta05
แล้ว เวอร์ชัน 1.0.0-beta05 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- แก้ไขข้อขัดข้องเมื่อเริ่มต้นแอปเมื่อเริ่มต้น CameraX ขณะที่โทรศัพท์อยู่ในโหมดห้ามรบกวน ระบบจะตั้งค่า
InitializationException
ที่มีCameraUnavailableException
เป็นListenableFuture
ของผลลัพธ์เริ่มต้นแทนที่จะทำให้แอปพลิเคชันขัดข้อง (I9909a, b/149413835)
แก้ไขข้อบกพร่อง
- อัปเดต Javadocs ของ
setTargetResolution
และsetTargetRotation
(Iae16f)
Camera-camera2 เวอร์ชัน 1.0.0-beta04
27 พฤษภาคม 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta04
แล้ว เวอร์ชัน 1.0.0-beta04 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- อนุญาตให้แอปพลิเคชันตั้งค่าพารามิเตอร์คำขอจับภาพ Camera2 ผ่าน
Camera2Interop
โดยไม่ทําให้เกิดข้อขัดข้อง โปรดทราบว่าหากมีปัญหาเกิดขึ้นเนื่องจากการลบล้างพารามิเตอร์ เราไม่รับประกันความเสถียรและลักษณะการทำงานเมื่อลบล้างพารามิเตอร์โดยใช้ Camera2Interop (Ibe5a1, b/149103700) - การกำหนดค่าเริ่มต้นอัตโนมัติจะคงที่เมื่อใช้แอปในอุปกรณ์ที่ใช้ภาษาเทียม (I3bef3, b/154767663)
- บันทึกข้อผิดพลาดที่แปลงซึ่งเกี่ยวข้องกับ Use Case ที่แยกจากกันไปยังบันทึกการแก้ไขข้อบกพร่องใน Camera2cameraImpl (I1a565, b/154422490)
- แก้ปัญหาที่รูปภาพที่ถ่ายออกมามืดเกินไปในบางครั้งแม้จะเริ่มใช้แฟลช (I5d9fa, b/149729613)
- แก้ไขข้อบกพร่องที่บัฟเฟอร์ใน
ImageProxy
จากImageCapture
ไม่มีการกรอกลับ (I0c455, b/153249512) - แก้ไขปัญหาการเชื่อมโยง ImageCapture เท่านั้น (1) ถ่ายภาพด้วย MAX_QUALITY ไม่สำเร็จ (2) สร้างรูปภาพคุณภาพต่ำเนื่องจากการรับแสงอัตโนมัติไม่ทำงาน (I17782, b/145326998)
- ปรับปรุงความน่าเชื่อถือของการเปิดกล้องอีกครั้งเมื่อ CameraX ถูกตัดการเชื่อมต่อโดยกระบวนการอื่นหรือเส้นทางโค้ดที่ขโมยกล้อง (I1fbc3, b/153714651)
Camera-Core เวอร์ชัน 1.0.0-beta04
27 พฤษภาคม 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta04
แล้ว เวอร์ชัน 1.0.0-beta04 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API เวอร์ชันทดลอง
CameraXConfig.Builder#setSchedulerHandler()
เพื่อตั้งค่าตัวแฮนเดิลที่ใช้ภายในโดยสแต็กกล้อง CameraX API ใหม่นี้พร้อมกับCameraXConfig.Builder#setCameraExecutor()
ควรช่วยให้ควบคุมชุดข้อความที่สแต็กกล้อง CameraX ใช้อยู่ได้อย่างเต็มที่ (I7bf32, b/121160431)
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องใน
ImageAnalysis
ที่มีการเข้าถึงImageProxy
หลังจากปิดImageReaderProxy
นอกจากนี้ยังทําให้ImageProxy
ทั้งหมดที่Analyzer
ได้รับต้องปิดก่อนที่ImageReaderProxy
จะปิด (I4b299, b/145956416, b/154155377, b/156357269) - นำพารามิเตอร์
CameraInfo
ออกจากPreviewView#createSurfaceProvider()
แล้วPreviewView
จะดึงข้อมูลพารามิเตอร์จากSurfaceRequest
เป็นการภายใน (If18f0, b/154652477) - การกำหนดค่าเริ่มต้นอัตโนมัติจะคงที่เมื่อใช้แอปในอุปกรณ์ที่ใช้ภาษาเทียม (I3bef3, b/154767663)
- แก้ปัญหาที่รูปภาพที่ถ่ายออกมามืดเกินไปในบางครั้งแม้จะเริ่มใช้แฟลช (I5d9fa, b/149729613)
- แก้ไขปัญหาเกี่ยวกับ
ImageAnalysis
ที่การเรียกใช้ setanalyticsr/clearAnalyticsr หลายครั้งส่งผลให้ตัววิเคราะห์ไม่ได้รับรูปภาพที่จะวิเคราะห์ (I6169f, b/151605317, b/153514544) - แก้ไขข้อบกพร่องที่บัฟเฟอร์ใน
ImageProxy
จากImageCapture
ไม่มีการกรอกลับ (I0c455, b/153249512) - แก้ไขปัญหาที่ระบบไม่เลือกใช้กล้องตัวแรกในรายการที่รองรับจาก
CameraManager
(I4c624, b/153418028) - แก้ไขการขัดข้องที่เกิดขึ้นเป็นพักๆ ที่เกิดจากการตั้งค่า
Preview.SurfaceProvider
ไม่เผยแพร่แพลตฟอร์มที่ขอก่อนหน้านี้“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”
(I8e4e7, b/155936225)
Camera-camera2 เวอร์ชัน 1.0.0-beta03
15 เมษายน 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta03
แล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- การแก้ไขเพื่อรองรับการเปิดตัว
camera-core
Camera-Core เวอร์ชัน 1.0.0-beta03
15 เมษายน 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta03
แล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขการถดถอยจาก Beta03 ซึ่งการเรียกใช้
bindToLifecycle()
ด้วย 0UseCase
จะทำให้เกิดข้อยกเว้น การดำเนินการนี้ป้องกันไม่ให้มีการเรียกข้อมูลCamera
โดยไม่มีการเชื่อมโยงUseCase
Camera-camera2 เวอร์ชัน 1.0.0-beta02
1 เมษายน 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta02
แล้ว เวอร์ชัน 1.0.0-beta02 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไข
ImageInfo.getRotationDegrees()
จากImageProxy
ที่ImageCapture
สร้างขึ้น เพื่อให้ตรงกับค่าการหมุนของการวางแนว EXIF (รหัส 4281, b/150802561) - ไม่จําเป็นต้องเรียงลำดับทรัพยากร Dependency ของ CameraX ภายใน
build.gradle
อย่างชัดเจนเพื่อใช้การใช้งาน CameraX/camera2 เริ่มต้นอีกต่อไป สำหรับกรณีที่ต้องมีการประกาศทรัพยากร Dependency ที่เข้มงวด ทรัพยากร Dependency ของ CameraX ทั้งหมดจะรวมอยู่ในไฟล์บิลด์ได้แล้ว (I46e88) - แก้ไขปัญหา
IllegalArgumentException
ที่เกิดขึ้นในอุปกรณ์ที่มีขนาดการแสดงผลเล็กกว่า 640x480 (Ife3f2, b/150506192) - แก้ไข
bindToLifecycle
เพื่อให้แก้ไข UseCase ต่อเมื่อเชื่อมโยงสําเร็จเท่านั้น ก่อนหน้านี้เมื่อเรียกใช้bindToLifecycle
เพื่อคำนวณการแก้ปัญหาจะมีการอัปเดต UseCase ตอนนี้คุณไม่ต้องอัปเดต Use Case ในการคำนวณอีกต่อไป (I78d9e)
Camera-Core เวอร์ชัน 1.0.0-beta02
1 เมษายน 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta02
แล้ว เวอร์ชัน 1.0.0-beta02 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไข
ImageInfo.getRotationDegrees()
จากImageProxy
ที่ImageCapture
สร้างขึ้น เพื่อให้ตรงกับค่าการหมุนของการวางแนว EXIF (รหัส 4281, b/150802561) - แก้ไข
bindToLifecycle
เพื่อให้แก้ไข UseCase ต่อเมื่อเชื่อมโยงสําเร็จเท่านั้น ก่อนหน้านี้เมื่อเรียกใช้bindToLifecycle
เพื่อคำนวณการแก้ปัญหาจะมีการอัปเดต UseCase ตอนนี้คุณไม่ต้องอัปเดต Use Case ในการคำนวณอีกต่อไป (I78d9e) - แก้ไขปัญหาที่เซสชันการจับภาพของกรณีการใช้งาน
Preview
ไม่ได้รับการอัปเดตเมื่อพื้นที่แสดงตัวอย่างเปลี่ยนไปหลังจากเรียกPreview.setSurfaceProvider()
มากกว่า 1 ครั้ง
Camera-camera2 เวอร์ชัน 1.0.0-beta01
26 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-beta01
แล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- เปลี่ยนชื่อ
SurfaceRequest.setSurface(Surface)
เป็นSurfaceRequest.provideSurface(Surface)
และSurfaceRequest.setWillNotComplete()
ถึงSurfaceRequest.willNotProvideSurface()
(I224fe) - แก้ไขปัญหาเกี่ยวกับสัดส่วนภาพที่บันทึกไม่ถูกต้อง
หลังจากเปลี่ยนค่าการหมุนเวียนเป้าหมายโดยใช้
ImageCapture.setTargetRotation()
(I474ea, b/148763432) - แก้ไขการเริ่มต้นตัวแปรของแอปที่เปิดใช้ ProGuard โดยเก็บ
แฟล็กที่กำหนดผู้ให้บริการ
CameraXConfig
เริ่มต้น (I2d6c1)
Camera-Core เวอร์ชัน 1.0.0-beta01
26 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-core:1.0.0-beta01
แล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- แทนที่
ListenableFuture
เมื่อวันที่SurfaceRequest.provideSurface()
ที่มีExecutor
และCallback
ช่วงเวลานี้ ทำให้ API ง่ายขึ้นโดยไม่ต้องจัดการข้อยกเว้นอีกต่อไปprovideSurface()
และบังคับให้provideSurface()
Callback ไม่สามารถ ถูกยกเลิก เพื่อป้องกันการขัดข้องในอุปกรณ์รุ่นเก่าที่เกิดจาก การปล่อยพื้นผิวก่อนกำหนด มีการใช้ออบเจ็กต์SurfaceRequest.Result
แล้ว สำหรับการติดตามวิธีที่SurfaceRequest
ใช้Surface
ที่ระบุ (I7854B) - เปลี่ยนชื่อ
SurfaceRequest.setSurface(Surface)
เป็นSurfaceRequest.provideSurface(Surface)
และSurfaceRequest.setWillNotComplete()
ถึงSurfaceRequest.willNotProvideSurface()
(I224fe)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาเกี่ยวกับสัดส่วนภาพที่บันทึกไม่ถูกต้อง
หลังจากเปลี่ยนค่าการหมุนเวียนเป้าหมายโดยใช้
ImageCapture.setTargetRotation()
(I474ea, b/148763432) - แก้ไขการเริ่มต้นตัวแปรของแอปที่เปิดใช้ ProGuard โดยเก็บ
แฟล็กที่กำหนดผู้ให้บริการ
CameraXConfig
เริ่มต้น (I2d6c1) - อัปเดตเอกสารประกอบเกี่ยวกับ API ของโหมด Flash ที่จะรวม ค่าที่เป็นไปได้ (I4a3ec)
Camera-camera2 เวอร์ชัน 1.0.0-alpha10
10 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-alpha10
แล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- ปรับปรุงความเสถียรในอุปกรณ์
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
เครื่องด้วยการคงอุปกรณ์Surface
ไว้ตามระยะเวลาที่ใช้งานโดย Camera2 เท่านั้น (I9dac2) - แก้ไขปัญหาการแสดงตัวอย่างที่มืดเกินไปในอุปกรณ์รุ่นเดิมโดยการปรับ
CONTROL_AE_TARGET_FPS_RANGE
ให้ถูกต้อง (1224638)
Camera-Core เวอร์ชัน 1.0.0-alpha10
10 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-core:1.0.0-alpha10
แล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- อัปเดต
ImageCapture
เพื่ออนุญาตให้บันทึกรูปภาพไปยังUri
และOutputStream
แล้ว รวมเมธอดtakePicture
ที่มีการดำเนินการมากเกินไปเป็นรายการเดียว อัปเดตแอปทดสอบเพื่อใช้Uri
เป็นตัวอย่าง Canonical (Ia3bec) - เปลี่ยนชื่อ
Preview.PreviewSurfaceProvider
เป็นPreview.SurfaceProvider
แล้วSurfaceProvider
ไม่ได้กำหนดให้นักพัฒนาแอปสร้างListenableFuture
ของตนเองอีกต่อไป และตอนนี้การระบุSurface
จะทำได้ผ่านออบเจ็กต์SurfaceRequest
ใหม่ ระบบนำเมธอดPreview.getPreviewSurfaceProvider()
ออกแล้วเนื่องจากอาจมีการใช้ในทางที่ผิดเมื่อจับคู่Preview
กับคลาสอื่นๆ เช่นPreviewView
(I20105) - เพิ่ม
getTargetRotation()
และgetTargetName()
ในPreview
แล้ว (Iceee7) - เพิ่ม
getTargetRotation()
,getBackpressureStrategy()
และgetImageQueueDepth()
ในImageAnalysis
แล้ว (I9d6d9) - เพิ่ม
getTargetRotation()
และgetCaptureMode()
ในImageCapture()
(I5bc17) - อาร์กิวเมนต์ที่ส่งผ่านก่อนหน้านี้ใน
ImageCapture.OnImageSavedCallback.onError()
และImageCapture.OnImageCapturedCallback.onError()
ถูกแทนที่ด้วยอาร์กิวเมนต์เดียวImageCaptureException
ซึ่งยังคงมีข้อมูลทั้งหมดที่ถูกส่งผ่านก่อนหน้านี้ - นำอาร์กิวเมนต์ไฟล์ที่ส่งผ่านใน
ImageCapture.OnImageSavedCallback.onImageSaved()
ก่อนหน้านี้ออกแล้ว (I750d2) - ทำเครื่องหมายชั้นเรียน
Preview
และImageCapture
ว่าเป็นชั้นเรียนสุดท้ายแล้ว (I2500B) - อัปเดต API แล้ว โดยมี
getZoomRatio()
,getMaxZoomRatio()
การผสานgetMinZoomRatio()
และgetLinearZoom()
วิธีในCameraInfo
ไปยังgetZoomState()
ซึ่งแสดงผลอินสแตนซ์ZoomState
(Ib19fe) - นำช่อง API
OPTION_TARGET_CLASS
และOPTION_TARGET_NAME
ออกแล้ว จากCameraXConfig
เนื่องจากมีไว้สำหรับการใช้คลังภายในเท่านั้น นำตัวสร้างสำหรับCameraXConfig.Builder
ออกแล้ว (I96912) - นำข้อกำหนดที่แอปต้องขยายเวลาออกไป
Application
ตาม เพื่อเริ่ม CameraX ตอนนี้ CameraX จะใช้ค่าเริ่มต้น การกำหนดค่า Camera2 ตราบใดที่มีอาร์ติแฟกต์camera-camera2
ในbuild.gradle
ของแอปพลิเคชัน (I58ff5) (b/146923574)
Camera-camera2 เวอร์ชัน 1.0.0-alpha09
22 มกราคม 2020
ปล่อย androidx.camera:camera-camera2:1.0.0-alpha09
แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
เพิ่มเส้นทางการทำงานร่วมกันของ Camera2 เพื่อดึงข้อมูลรหัสกล้อง Camera2 คุณสามารถดึงข้อมูล รหัสกล้องจาก
CameraInfo
โดยใช้Camera2CameraInfo.extractCameraId()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
ชั้นเรียน
Camera2CameraInfo
ต้องใช้ExperimentalCamera2Interop
ระดับการทำเครื่องหมาย
Camera-Core เวอร์ชัน 1.0.0-alpha09
22 มกราคม 2020
ปล่อย androidx.camera:camera-core:1.0.0-alpha09
แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- พารามิเตอร์
SurfaceOrientedMeteringPointFactory
useCaseForSurface
เดิมคือ เปลี่ยนชื่อเป็นuseCaseForAspectRatio
และเอกสารอ้างอิงคือ ขยายอยู่ - ตัวสร้างแทนที่เมธอด
FocusMeteringAction.Builder.from()
รายการFocusMeteringAction.Builder()
- ลบแล้ว
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)
แอปพลิเคชันควรใช้ตัวสร้างที่รับพารามิเตอร์Display
และ ในจอแสดงผลปัจจุบัน - การปรับปรุง Javadoc สำหรับ API การโฟกัสและการวัดที่เกี่ยวข้องกับ
MeteringMode
และ 3A การแจ้งและการใช้พารามิเตอร์Display
- ขยายเอกสารประกอบอ้างอิงสำหรับ
setZoomRatio
และsetLinearZoom
แก้ไขข้อบกพร่อง
- แก้ปัญหาเมื่อปิดแล้วเปิดกล้องซึ่งส่งผลให้เกิด "เงื่อนไขที่กำหนดไว้ล่วงหน้า" ตรวจสอบไม่สำเร็จ
- แก้ไข
ConcurrentModificationException
ที่อาจเกิดขึ้นเมื่อใช้ไฟฉาย และ Zoom API - แก้ปัญหาเพื่อเลือกการแก้ปัญหาซึ่งใกล้เคียงกับวิธีแก้ปัญหาที่ขอเมื่อ มีขนาดให้เลือก mod16
- ตอนนี้ API ของ
startFocusMetering
และcancelFocusMetering
ทำงานตามที่มีการบันทึกไว้แล้ว ด้วยเวลาที่ถูกต้องและอาจส่งคืนข้อผิดพลาดเมื่อเกิดขึ้น - แก้ไขปัญหาเมื่อมีการขอความละเอียดเป้าหมายที่เฉพาะเจาะจงด้วยลักษณะการครอบตัด ในอุปกรณ์ที่ไม่รองรับขนาดดังกล่าว ขนาดที่ไม่มีการครอบตัด ระบบจะเลือกความละเอียดที่เพียงพอเพื่อเชื่อมโยงคำขอเดิมเมื่อ พร้อมใช้งาน
Camera-camera2 เวอร์ชัน 1.0.0-alpha08
18 ธันวาคม 2019
ปล่อย androidx.camera:camera-camera2:1.0.0-alpha08
แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตเหล่านี้
ปัญหาที่ทราบ
- ตัวเลือกคำขอจับภาพของ Camera2 บางอย่างอาจใช้ไม่ได้เมื่อใช้การทำงานร่วมกันของ Camera2 หากไม่รองรับตัวเลือกที่ขอ เซสชันจะไม่สามารถเริ่มต้นได้และมีข้อผิดพลาดดังนี้
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาหน้าจอตัวอย่างสีดำเกิดขึ้นหลังจากหมุนหรือเปลี่ยนกล้องสำหรับ API ระดับ 21 และ 22
การเปลี่ยนแปลง API
- ทดลอง: เพิ่มเส้นทางการทำงานร่วมกันของ Camera2 สำหรับการดึงข้อมูลรหัสกล้อง
Camera-Core เวอร์ชัน 1.0.0-alpha08
18 ธันวาคม 2019
ปล่อย androidx.camera:camera-core:1.0.0-alpha08
แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตเหล่านี้
ปัญหาที่ทราบ
- แอปที่ใช้
PreviewView
หรือCameraView
อาจมีตัวอย่างสัดส่วนภาพที่ไม่ถูกต้อง ซึ่งจะเกิดขึ้นหลังจากที่หยุดชั่วคราวหรือเล่นต่อในอุปกรณ์ FULL บางรุ่น เช่น Pixel2
แก้ไขข้อบกพร่อง
- อัปเดตเอกสารสำหรับ
FocusMeteringAction
และCameraControl
แล้ว - ติดตั้งใช้งาน
TorchControl
สําหรับenableTorch()
และgetTorchState()
แล้ว
การเปลี่ยนแปลง API
- ซ่อน IntDefs และย้ายค่าคงที่ของ IntDef ออกนอกคำจำกัดความของ IntDef
- ย้าย
rotationDegrees
จากชั้นเรียนOnImageCaptureCallback
ไปที่ImageInfo
- ย้าย
rotationDegrees
จากชั้นเรียนAnalyzer
ไปที่ImageInfo
Camera-camera2 เวอร์ชัน 1.0.0-alpha07
4 ธันวาคม 2019
ปล่อย androidx.camera:camera-camera2:1.0.0-alpha07
แล้ว เวอร์ชัน 1.0.0-alpha07 ของ Camera-camera2 มีคอมมิตเหล่านี้
Camera2Config
พร้อมให้ใช้งานกับการเริ่มต้นและกำหนดค่าการใช้งานโดยใช้ Camera2 สำหรับ CameraX แล้ว ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้สิ่งนี้ในการเริ่มต้นได้ที่ส่วนกล้องหลักของบันทึกประจำรุ่น- ตอนนี้การทำงานร่วมกันของ Camera2 ได้รับการทำเครื่องหมายว่าเป็นการทดลอง และย้ายไปยังแพ็กเกจแยกต่างหาก
androidx.camera.camera2.interop.
Camera-Core เวอร์ชัน 1.0.0-alpha07
4 ธันวาคม 2019
ปล่อย androidx.camera:camera-core:1.0.0-alpha07
แล้ว เวอร์ชัน 1.0.0-alpha07 ของ Camera-core มีคอมมิตเหล่านี้
โปรดทราบว่ามีการเปลี่ยนแปลงที่สำคัญบางอย่างในรุ่นอัลฟ่านี้ในระหว่างที่เราเตรียมพร้อมสำหรับรุ่นเบต้า เราขอแนะนำให้คุณตรวจสอบการเปลี่ยนแปลงและแชร์ความคิดเห็นที่คุณมีต่อกลุ่ม Google ใน CameraX สำหรับนักพัฒนาซอฟต์แวร์ที่ใช้ CameraX ในแอปที่อยู่ใน Play Store เราขอแนะนำให้รอเวอร์ชันเบต้าอย่างเป็นทางการก่อนที่จะอัปเกรดไลบรารีภายในแอปพลิเคชันของคุณ
การเปลี่ยนแปลง API
สำคัญ: การเริ่มต้น CameraX มีการเปลี่ยนแปลง แอปพลิเคชันควรใช้
CameraXConfig.Provider
และใช้Camera2Config
เริ่มต้นจากandroidx.camera.camera2
การใช้งานโดยทั่วไปมีดังนี้import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }
นำคลาส CameraX ออกแล้ว
bindToLifecycle()
,unbind()
,unbindAll()
,isBound()
และhasCamera()
จากการโทรของชั้นเรียน CameraX ก่อนหน้านี้พร้อมให้บริการผ่านProcessCameraProvider
แล้วได้อินสแตนซ์ต่อกระบวนการของ
ProcessCameraProvider
แบบไม่พร้อมกันโดยใช้เมธอดแบบคงที่ProcessCameraProvider.getInstance()
ซึ่งจะแสดงผลในอนาคตที่ฟังได้ ซึ่งจะระบุProcessCameraProvider
เมื่อเสร็จสมบูรณ์ โดยจะแสดงในonCreate()
สำหรับการใช้งานทั่วไป คุณจะโทรหาgetInstance()
ภายหลังได้ในวงจรของกิจกรรมเพื่อเลื่อนเวลาในการตอบสนองการเริ่มต้นในภายหลัง (เช่น เมื่อการดำเนินการของผู้ใช้เปิด UI กล้องถ่ายรูป)import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }
คุณสามารถเพิ่ม Listener ลงใน
ListenableFuture
ที่ส่งกลับได้โดยgetInstance()
การดำเนินการนี้ช่วยให้ดึงข้อมูลผู้ให้บริการกล้องจากFuture
ได้โดยไม่ต้องบล็อกในFuture.get()
cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))
ตอนนี้ตัวเลือกกล้องจะทำการเลือกกล้อง ไม่ใช่ตามกรณีการใช้งาน
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
CameraProvider.bindToLifecycle
จะได้รับเจ้าของวงจร ตัวเลือกกล้อง และกรณีการใช้งาน ซึ่งจะเชื่อมโยงกับเจ้าของวงจรที่กำหนด แล้วเรียกใช้กล้องที่เลือกcameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
คลาส "Config" ของ Use Case จะถูกนำออก ให้สร้าง Use Case โดยตรงโดยตั้งค่าตัวเลือกในเครื่องมือสร้าง Use Case แต่ละรายการแทน เช่น
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
กรณีการใช้งานตัวอย่างได้รับการอัปเดตเพื่อยอมรับแพลตฟอร์มที่แอปพลิเคชันสร้างและจัดการเพื่อให้แน่ใจว่ามีแนวทางปฏิบัติแนะนำสำหรับ Android ขอแนะนำอย่างยิ่งให้ใช้คลาสมุมมอง
PreviewView
ที่ให้ไว้ในแพ็กเกจมุมมองกล้องpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
ดูเอกสารประกอบสำหรับการแนบ Surface ที่จัดการโดยแอป ในกรณีเหล่านี้ แอปจะจัดการวงจรการใช้งานของแพลตฟอร์ม
สำคัญ: การใช้เมธอด
ImageAnalysis
ตัววิเคราะห์ต้องเรียกใช้image.close()
กับรูปภาพที่ได้รับเมื่อใช้เสร็จแล้ว ไม่เช่นนั้น คุณอาจไม่ได้รับรูปภาพใหม่หรือกล้องอาจหยุดทำงาน ขึ้นอยู่กับการตั้งค่าแรงกดดันกลับ โปรดดูรายละเอียดในเอกสารอ้างอิงเปลี่ยน
ImageAnalysis ImageReaderMode
เป็นกลยุทธ์แรงดันย้อนกลับintdef
แล้วทำเครื่องหมาย
ImageProxy.getImage()
ว่าเป็นเวอร์ชันทดลอง แอปพลิเคชันควรใส่คำอธิบายประกอบการใช้งาน เช่น ผ่าน@androidx.camera.core.ExperimentalGetImage
นำข้อกำหนดคำอธิบายประกอบ
UIThread
สำหรับAnalyzer
ออกแล้วเพิ่มฟังก์ชัน
ImageAnalysis.clearAnalyzer()
สำหรับการนำเครื่องมือวิเคราะห์ออกListener ที่มีมากกว่า 1 วิธีได้รับการเปลี่ยนชื่อเป็น Callback:
ImageCapture.OnImageCapturedListener
เปลี่ยนชื่อเป็นImageCapture.OnImageCapturedCallback
แล้วImageCapture.OnImageSavedListener
เปลี่ยนชื่อเป็นImageCapture.OnImageSavedCallback
แล้วVideoCapture.OnVideoSavedListener
เปลี่ยนชื่อเป็นVideoCapture.OnVideoSavedCallback
แล้ว
Enum เปลี่ยนเป็น IntDef แล้ว
เพิ่มตัวควบคุมการซูมแล้ว
CameraControl.setLinearZoom()
CameraControl.setZoomRatio()
CameraInfo.getLinearZoom()
CameraInfo.getMaxZoomRatio()
CameraInfo.getZoomRatio()
เพิ่ม
CameraInfo.hasFlashUnit()
เพื่อระบุว่ามีฮาร์ดแวร์แฟลช/ไฟฉายหรือไม่นำ
CameraInfo.isFlashAvailable()
ออกแล้ว ไฟฉายจะลบล้างฟังก์ชันการทำงานของ Flash ดูรายละเอียดเพิ่มเติมได้ในเอกสารอ้างอิงช่อง
ImageCapture.Metadata
ถูกแทนที่ด้วยตัวเข้าถึง get/set/isตอนนี้
startFocusMetering
และcancelFocusMetering
จะแสดงผลListenableFutures
ซึ่งแสดงถึงการดำเนินการแบบไม่พร้อมกันของการโทรขณะนี้
MeteringPoints
ทำหน้าที่เป็นแฮนเดิลสำหรับการดำเนินการตรวจสอบการใช้งาน และผลิตโดยโรงงาน แอปควรใช้โรงงานที่มีอยู่แทนโรงงานที่กำหนดเอง
ปัญหาที่แก้ไขแล้ว
- แก้ไขปัญหาเมื่อถ่ายภาพต่อเมื่อถ่ายภาพต่อ (หลังจากที่หยุดถ่ายภาพชั่วคราวไปแล้วก่อนหน้านี้คือภาพอยู่ระหว่างรอดำเนินการ)
- ปัญหาที่ทราบ:
CameraControl.enableTorch()
ใช้งานได้ แต่ListenableFuture<Void>
ที่แสดงผลจะเป็นcomplete(success)
ในอนาคตโดยทันที แม้ว่าจะไม่มีหน่วยแฟลชก็ตาม เวอร์ชันในอนาคตจะแก้ไขปัญหานี้กับการทำงานขั้นสุดท้าย เมื่อไม่มีหน่วยแฟลชenableTorch(true)
จะล้มเหลวทันที (จะไม่ส่งคำขอไปยังCaptureSession
) และTorchState
จะยังคงปิดอยู่ - ปัญหาที่ทราบ:
startFocusAndMetering
และcancelFocusAndMetering
เริ่มและยกเลิกการวัดโฟกัส แต่แสดงผลcompleted (success)
ในอนาคตทันทีโดยไม่แสดงลักษณะการทำงานที่บันทึกไว้FocusMeteringResult
จากListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()
เป็นผลลัพธ์ปลอมซึ่งisFocusSuccessful()
และมีค่าเป็น "false" เสมอ แตกต่างจากลักษณะการทำงานที่บันทึกไว้ตามที่ควรจะเป็น - ปัญหาที่ทราบ: โรงงานสำหรับจุดตรวจสอบการใช้งานสำหรับใช้กับกิจกรรมการสัมผัส
PreviewView
อยู่ระหว่างการพัฒนา สำหรับตอนนี้ แอปที่เชื่อมต่อแพลตฟอร์มที่มีการจัดการแบบกำหนดเองสามารถใช้โรงงานที่จุดตรวจสอบการใช้งานที่มีอยู่ หรือPreviewView
จะไม่มีฟังก์ชันการโฟกัสแบบสัมผัส
Camera-camera2 และ Camera-Core เวอร์ชัน 1.0.0-alpha06
9 ตุลาคม 2019
ปล่อย androidx.camera:camera-camera2:1.0.0-alpha06
และ androidx.camera:camera-core:1.0.0-alpha06
แล้ว นี่คือสัญญาผูกมัดที่รวมอยู่ใน camera-camera2:1.0.0-alpha06
และสัญญาผูกมัดที่รวมอยู่ใน camera-core:1.0.0-alpha06
ฟีเจอร์ใหม่
การเปลี่ยนแปลงการตั้งค่าสัดส่วนภาพมีดังนี้
- เพิ่ม
setTargetAspectRatioMode()
และยอมรับอาร์กิวเมนต์ enum แล้ว ซึ่งจะตั้งค่าโหมดสัดส่วนภาพด้วยตัวเลือกRATIO_4_3
หรือRATIO_16_9
แทนที่จะเป็นสัดส่วนภาพที่กำหนดเอง วิธีนี้สะท้อนให้เห็นถึงข้อเท็จจริงที่ว่ากล้องมีสัดส่วนภาพเพียงบางอย่างเท่านั้น ไม่ใช่สัดส่วนภาพที่กำหนดเอง- ปัจจุบันอัตราส่วนที่ใช้ได้มีเพียง 16:9 และ 4:3 ในกรณีที่เป็น 1:1 จะมีเฉพาะอุปกรณ์บางรุ่นเท่านั้นที่สามารถใช้งานได้จากกล้องถ่ายรูป และในความละเอียดที่จำกัดเท่านั้น แอปพลิเคชันที่ออกแบบอินเทอร์เฟซหรือการประมวลผลแบบ 1:1 ควรใช้ตัวเลือก 16:9 หรือ 4:3 ซึ่งมีความยืดหยุ่นมากขึ้น และครอบตัดการแสดงผลหรือประมวลผลภูมิภาคย่อย
- สัดส่วนภาพเหล่านี้มีไว้สำหรับใช้พื้นที่เซ็นเซอร์สูงสุด
- เพิ่ม
getTargetAspectRatio()
ไปยัง Use Case Config API แล้ว โดยจะแสดงสัดส่วนภาพเป้าหมายเอาต์พุตของ Use Case - เปลี่ยนเมธอด
setTargetAspectRatio(Rational aspectRatio)
สำหรับ ImageCapture เป็นsetTargetAspectRatioCustom(Rational aspectRatio)
แล้ว เมื่อตั้งค่าแล้ว เอาต์พุต ImageCapture จะครอบตัดตามนั้น
API ของการดำเนินการ
- ฟังก์ชันต่อไปนี้จะยอมรับพารามิเตอร์ผู้ดำเนินการ ซึ่งช่วยให้แอปควบคุมผู้ดำเนินการที่ฟังก์ชันจะทำงานได้
Preview.setOnPreviewOutputUpdateListener()
API หากไม่มีตัวดำเนินการสำหรับฟังก์ชันนั้น ตัวดำเนินการจะทำงานในเทรดหลักPreview.setOnPreviewOutputUpdateListener
FocusMeteringAction.Builder.setAutoFocusCallback
ImageAnalysis.setAnalyzer
ImageCapture.takePicture
CameraView.takePicture
CameraView.startRecording
VideoCapture.startRecording
เพิ่ม CameraInfo แล้วพร้อมตรวจสอบแฟลชและ API การหมุนเซ็นเซอร์
เพิ่ม
CameraInfo
และเมธอดgetCameraInfo
ซึ่งช่วยให้แอปตรวจสอบว่ากล้องใช้ CameraInfo ได้หรือไม่ และมีแฟลชในกล้องหรือไม่ เช่นtry { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }
เพิ่ม
CameraInfo.getSensorRotationDegrees()
แล้ว การวางแนวดังกล่าวจะทำให้การวางแนวเซ็นเซอร์ของกล้องสัมพันธ์กับการวางแนวตามธรรมชาติของอุปกรณ์ หรือเพื่อความสะดวก เมื่อเทียบกับการวางแนวที่อธิบายโดยการหมุนพื้นผิว (ซึ่งจะอธิบายการวางแนวที่สัมพันธ์กับการวางแนวตามธรรมชาติ)
การเปลี่ยนแปลง API และการแก้ไขข้อบกพร่อง
- สัดส่วนภาพ: สำหรับแต่ละกรณีการใช้งาน แอปพลิเคชันควรเรียก
setTargetResolution()
หรือsetTargetAspectRatio()
เพียงอย่างใดอย่างหนึ่งเท่านั้น การเรียกใช้ทั้ง 2 อย่างในเครื่องมือสร้างเดียวกันจะแสดงข้อผิดพลาด- โดยทั่วไปแล้ว ขอแนะนำให้ใช้
setTargetAspectRatio()
โดยอิงตามการออกแบบ UI ของแอปพลิเคชัน การแก้ปัญหาที่เฉพาะเจาะจงจะขึ้นอยู่กับกรณีการใช้งาน ตัวอย่างเช่น การแสดงตัวอย่างมีความละเอียดใกล้เคียงกับหน้าจอ และการจับภาพจะทำให้มีภาพนิ่งที่มีความละเอียดสูง ดูข้อมูลเพิ่มเติมในตารางการแก้ปัญหาอัตโนมัติ - ใช้
setTargetResolution()
สำหรับกรณีที่เจาะจงมากขึ้น เช่น เมื่อต้องมีความละเอียดขั้นต่ำ (เพื่อบันทึกการคำนวณ) หรือความละเอียดสูงสุด (สำหรับรายละเอียดการประมวลผล)
- โดยทั่วไปแล้ว ขอแนะนำให้ใช้
- Executor API: นำการเรียก
setCallbackHandler()
ออกจาก API การกำหนดค่ากรณีการใช้งาน แต่แอปพลิเคชันสามารถตั้งค่าผู้ดำเนินการเป็นพารามิเตอร์ใน API อื่นๆ ที่ตั้งค่า Callback แทนได้ - อัปเดตคำอธิบายประกอบที่เป็นค่าว่างสำหรับฟังก์ชันต่างๆ
- แก้ไขปัญหาที่ทำให้ระบบส่ง
java.lang.IllegalStateException at Camera$StateCallback.onError
ออกเมื่อเปิดกล้อง - แก้ปัญหาการเลือกความละเอียดที่เล็กเกินไป (น้อยกว่า 640x480) เมื่อแอปขอความละเอียดที่ใหญ่ขึ้นหรือความละเอียดเริ่มต้น ซึ่งส่งผลให้รูปภาพตัวอย่างเป็นบล็อกหรือเบลอ แอปพลิเคชันที่ต้องการความละเอียดน้อยกว่านี้โดยเฉพาะสามารถขอความละเอียดหน้าจอนั้นได้
- แก้ไขปัญหาที่กล้องแสดงหน้าจอสีดำ (เปิดกล้องไม่สำเร็จ) หลังจากกลับมาจากความตั้งใจที่เรียกใช้แอปพลิเคชันกล้องอื่น
- แก้ไขข้อบกพร่องที่ทำให้เกิดข้อผิดพลาดต่อไปนี้เมื่อมีการเริ่มหรือหยุดแอปซ้ำๆ
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
- แก้ไขข้อผิดพลาดต่อไปนี้ที่เกิดขึ้นเมื่อปิดใช้ ImageAnalysis:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
- เพิ่มการทดสอบเพิ่มเติมสำหรับขั้นตอนการยกเลิกการเชื่อมต่อกล้อง
- ปรับปรุงความทนทานของระบบการทดสอบเมื่อเรียกใช้การทดสอบกล้องอย่างต่อเนื่อง
Camera-กล้องถ่ายรูป2 และ Camera-Core เวอร์ชัน 1.0.0-alpha05
5 กันยายน 2019
ปล่อย androidx.camera:camera-camera2:1.0.0-alpha05
และ androidx.camera:camera-core:1.0.0-alpha05
แล้ว ซึ่งก็คือ การคอมมิตที่รวมอยู่ในกล้อง Camera-camera2:1.0.0-alpha05 เป็น การคอมมิตรวมถึง Camera-core:1.0.0-alpha05
การเปลี่ยน API: ตัวแปรข้อผิดพลาดของกรณีการใช้งานที่มีการเปลี่ยนชื่อ:
ImageCapture.UseCaseError
เปลี่ยนชื่อเป็นImageCapture.ImageCaptureError
แล้วVideoCapture.UseCaseError
เปลี่ยนชื่อเป็นVideoCapture.VideoCaptureError
แล้ว
เพิ่ม
CameraControl
API กับ API แบบ Tap-to-Focus แล้วเพิ่ม API เพื่อรับ
CameraControl
จาก CameraX สำหรับกล้อง ซึ่งเลือกตามเลนส์CameraX.getCameraControl(LensFacing lensFacing)
เพิ่ม
MeteringPointFactory
,MeteringPoint
,MeteringMode
และFocusMeteringAction
เพื่อเรียกใช้ "แตะเพื่อโฟกัส":MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height); MeteringPoint point = factory.createPoint(x, y); FocusMeteringAction action = FocusMeteringAction.Builder.from(point, MeteringMode.AF_ONLY) .addPoint(point2, MeteringMode.AE_ONLY) // could have many .setAutoFocusCallback(new OnAutoFocusListener(){ public void onFocusCompleted(boolean isSuccess) { } }) // auto calling cancelFocusAndMetering in 5 sec. .setAutoCancelDuration(5, TimeUnit.Second) .build();
เพิ่ม API สำหรับ
CameraControl
เพื่อเริ่มและยกเลิกการวัดโฟกัส:getCameraControl(lensFacing).startFocusAndMetering(action);
getCameraControl(lensFacing).cancelFocusAndMetering();
เพิ่ม API สำหรับโรงงานวัดการวัดที่ช่วยแปลงพิกัดการแตะเป็นพิกัดเซ็นเซอร์โดยอิงตามคลาสการดู ดังนี้
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);
MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
บังคับใช้การเรียกเมธอดต่อไปนี้ในเธรดหลัก (UI) โดยส่ง
IllegalStateException
เมื่อไม่มีการใช้งาน เวอร์ชันในอนาคตจะอนุญาตให้ใช้บน เทรดอื่นๆ และตรวจสอบว่าเป็นอนุกรมCameraX.bindToLifecycle()
CameraX.unbind()
CameraX.unbindAll()
ImageAnalysis.setAnalyzer()
ImageAnalysis.getAnalyzer()
ImageAnalysis.removeAnalyzer()
Preview.removePreviewOutputListener()
Preview.getOnPreviewOutputUpdateListener()
Preview.setOnPreviewOutputUpdateListener()
ขณะนี้การตั้งค่าการกำหนดค่าต่างๆ ยอมรับพารามิเตอร์ Null และ Getters ที่เกี่ยวข้องอาจแสดงผล Null
แก้ไขปัญหาเมื่อทดสอบกับโปรแกรมจำลองที่ไม่รองรับการตั้งค่า AF/AE/AWB
แก้ไขข้อบกพร่องข้อขัดข้องเกี่ยวกับการหมุนขณะวิเคราะห์รูปภาพ
แก้ไขข้อบกพร่องที่การแสดงตัวอย่างปรากฏเป็นสีดำเมื่อเริ่มต้น (ไม่มีข้อมูลกล้อง) หลังจากการหมุนหรือสลับระหว่างกล้องหน้าและกล้องหลัง
นำการทดสอบสำหรับการวิเคราะห์รูปภาพหลายรายการพร้อมกันออก แอปพลิเคชันควรแนบ Use Case การวิเคราะห์รูปภาพเพียงกรณีเดียวเพื่อให้ใช้งานร่วมกันได้
เพิ่มการทดสอบ Robolectric เบื้องต้นสำหรับกล้องปลอมในชุดทดสอบกล้อง (WIP)
นำการทดสอบ Camera2Inititalizer ออกแล้ว เนื่องจากความครอบคลุมไม่ชัดเจน/ทำให้เข้าใจผิด
Camera-กล้องถ่ายรูป2 และ Camera-Core เวอร์ชัน 1.0.0-alpha04
7 สิงหาคม 2019
ปล่อย androidx.camera:camera-camera2:1.0.0-alpha04
และ androidx.camera:camera-core:1.0.0-alpha04
แล้ว เวอร์ชัน 1.0.0-alpha04 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
การเปลี่ยนแปลงการเลือกสัดส่วนภาพและความละเอียด
เป้าหมายของ CameraX คือการเริ่มต้นเซสชันของกล้องให้สำเร็จ ซึ่งหมายความว่า CameraX จะจำกัดความละเอียด/สัดส่วนภาพตามความสามารถของอุปกรณ์ เพื่อเริ่มเซสชันการจับภาพเป็นเป้าหมายแรก และระบบจะไม่ดำเนินการตามคำขอที่แน่นอน ซึ่งอาจเกิดจากสาเหตุต่อไปนี้
- อุปกรณ์ไม่รองรับการแก้ปัญหาที่ขอ
- ปัญหาความเข้ากันได้ เช่น ในอุปกรณ์รุ่นเดิมที่ต้องใช้ความละเอียดบางระดับเพื่อให้ทำงานได้อย่างถูกต้อง
- ในบางอุปกรณ์ บางรูปแบบจะใช้งานได้ในบางสัดส่วนภาพเท่านั้น
- ค่ากำหนด "mod16 ที่ใกล้เคียงที่สุด" สำหรับ JPEG หรือการเข้ารหัสวิดีโอ โปรดดู
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
แม้ว่า CameraX จะสร้างและจัดการเซสชัน แต่คุณก็ควรตรวจสอบ ขนาดรูปภาพที่แสดงผลในเอาต์พุตกรณีการใช้งานในโค้ดแล้วปรับ ตามนั้น
เราได้ทำการเปลี่ยนแปลงบางอย่างสำหรับการตั้งค่าความละเอียดและสัดส่วนภาพ โดยมีจุดประสงค์เพื่อทำให้ API มีความชัดเจนยิ่งขึ้น ดังนี้
- ตอนนี้กรณีการใช้งานของตัวอย่างจะมีสัดส่วนภาพเริ่มต้นเป็น 4:3 หากไม่ได้ตั้งค่าไว้
- เมื่อ CameraX พิจารณาการเปลี่ยนแปลงความละเอียดและสัดส่วนภาพที่ขอเป็นการภายในตามความสามารถของอุปกรณ์ กล้องจะพยายามรักษาสัดส่วนภาพเดิมไว้ (ตามที่กำหนดโดยการเรียก
setTargetAspectRatio
หรือsetTargetResolution
) - ความละเอียดของ "ม็อด 16 ที่ใกล้เคียงที่สุด" ถือเป็นสัดส่วนภาพที่เท่ากัน
โหมดไม่บล็อกสำหรับ ImageAnalysis
- ลักษณะการทำงานของ
ImageReaderMode.ACQUIRE_LATEST_IMAGE
ไม่ได้บล็อกอยู่ โดยจะได้รูปภาพล่าสุดในคิว แต่จะลบรูปภาพที่ไม่ได้ใช้อย่างต่อเนื่องเพื่อให้ไปป์ไลน์ของกล้องหลีกเลี่ยงการบล็อกได้ - เครื่องมือวิเคราะห์จะเก็บอิมเมจเดียวไว้ตลอดไปโดยไม่ทำให้ไปป์ไลน์หยุดชะงัก
- หากแอปพลิเคชันมีตัวดำเนินการซึ่งทำการบล็อก นั้น Use Case ของ ImageAnalysis จะบล็อก
- ผู้ดำเนินการเริ่มต้นที่ตั้งค่าไว้ภายในจะทำงานเป็นผู้ดำเนินการที่ไม่บล็อก
แก้ไขข้อบกพร่อง
- แก้ปัญหาการหมดเวลาที่รอการบรรจบกัน 3A เมื่อจับภาพบนอุปกรณ์ที่ไม่มีโฟกัสอัตโนมัติ การเปิดรับแสงอัตโนมัติ และปรับสมดุลแสงขาวอัตโนมัติ
- แก้ปัญหาเมื่อถ่ายภาพอย่างรวดเร็วด้วย ImageCapture แก้ไขข้อผิดพลาด:
java.lang.IllegalStateException: maxImages (2) has already been acquired
- แก้ไขปัญหาเมื่อ
setLensFacing
ไม่ถูกเรียกใช้ Use Case ซึ่งส่งผลให้เกิดjava.lang.IllegalArgumentException: Unable to get camera ID for use case
- แก้ปัญหาที่อุปกรณ์เดิมต้องใช้สัดส่วนภาพเฉพาะเป็นความละเอียด JPEG สูงสุด
- แก้ปัญหาแอปทำงานอยู่เบื้องหลังขณะเปิดกล้อง
- แก้ไขปัญหาเกี่ยวกับ API < 25, การนำข้อผิดพลาด
checkAndUpdateEglState: invalid current EGLDisplay
ออก - แก้ไขปัญหาเมื่อยกเลิกการเชื่อมโยงตัวอย่างหลังจากเปิดใช้และเริ่มส่วนขยาย
- อาร์ติแฟกต์บิลด์สำหรับมุมมองกล้องและส่วนขยายกล้องได้รับการเผยแพร่เป็นเวอร์ชันอัลฟ่าแล้ว
Camera-กล้องถ่ายรูป2 และ Camera-Core เวอร์ชัน 1.0.0-alpha03
2 กรกฎาคม 2019
ปล่อย androidx.camera:camera-core:1.0.0-alpha03
และ androidx.camera:camera-camera2:1.0.0-alpha03
แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มการชี้แจง javadoc สำหรับ "target" ในการเรียกใช้การกำหนดค่า setTarget
กล้องถ่ายรูปหลัก
- แก้ไขข้อขัดข้องของพื้นผิวอินพุต/เอาต์พุตที่ไม่ได้กำหนดค่าเมื่อเปิด/ปิดหรือเชื่อมโยง/ยกเลิกการเชื่อมโยงอย่างรวดเร็ว
- เปลี่ยนไปใช้การติดตั้งใช้งาน Futures ใหม่
- ทดสอบการแก้ไขเพื่อการทดสอบที่มีประสิทธิภาพมากขึ้น
- ตอนนี้การทดสอบการผสานรวมหลักแสดงเวลาในการจับภาพสำหรับรูปภาพแล้ว
- คลาสความเข้ากันได้ภายในที่พัฒนาขึ้นสำหรับโอเปอเรเตอร์
- การจับภาพแอปทดสอบระยะเวลาจะรอให้ภาพก่อนหน้าเสร็จสิ้นและ ความเสถียรที่ดีขึ้น
ส่วนขยาย
- เพิ่มการตรวจสอบการกำหนดเวอร์ชัน
- การครอบคลุมการทดสอบเพิ่มเติม - การเรียกกลับของเหตุการณ์ของส่วนขยาย
- การปรับปรุงรูปภาพและข้อมูลเมตาที่สอดคล้องกันภายใน
- แก้ไขการสลับโหมดในแอปทดสอบ
Camera-camera2 และ Camera-Core เวอร์ชัน 1.0.0-alpha02
5 มิถุนายน 2019
ปล่อย androidx.camera:camera-core:1.0.0-alpha02
และ androidx.camera:camera-camera2:1.0.0-alpha02
แล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหา div คูณ 0 เมื่อใช้โปรแกรมจำลอง
- แก้ไขข้อผิดพลาด NullPointerException/Surface A Banded ในอุปกรณ์บางเครื่องเมื่อถ่ายภาพอย่างรวดเร็ว ขณะยกเลิกการเชื่อมโยงและเชื่อมโยง Use Case อีกครั้งอย่างรวดเร็ว
- แก้ไขปัญหาภายในเพื่อให้การอัปเดตคำขอบันทึกส่งผลต่อแพลตฟอร์มทั้งหมดอย่างสม่ำเสมอ
- ปรับปรุงความเสถียรเมื่อรีสตาร์ท Use Case ในอินสแตนซ์แอปใหม่
- การเปลี่ยนแปลงสถาปัตยกรรมภายในเพื่อเตรียมพร้อมสำหรับการรองรับผู้ดำเนินการใน API
- การชี้แจงเพิ่มเติมเกี่ยวกับ Javadoc เกี่ยวกับคลาสและการจัดการวงจรของ CameraX
- เพิ่มการทดสอบที่มีการวัดคุมสำหรับแอปทดสอบประสิทธิภาพของ Antelope
- นำความจำเป็นในการใช้ "-keepattributes Signature" ออก ในการกำหนดค่า Proguard ของแอป
Camera-กล้องถ่ายรูป2 และ Camera-Core 1.0.0-alpha01
7 พฤษภาคม 2019
androidx.camera:camera-core:1.0.0-alpha01
และ
ปล่อย androidx.camera:camera-camera2:1.0.0-alpha01
แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้
วงจรการใช้งานกล้องเวอร์ชัน 1.0.0-เบต้า11
14 ตุลาคม 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta11
แล้ว เวอร์ชัน 1.0.0-beta11 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
<UseCase>.getTargetRotation()
จะส่งคืนSurface.ROTATION_0
หากเรียกใช้ก่อนแนบกับอินสแตนซ์กล้องถ่ายรูป เว้นแต่ว่า มีการตั้งค่า targetRotation ใน Builder หรือ UseCase (I80fcd)
Camera-Lifecycle เวอร์ชัน 1.0.0-beta10
23 กันยายน 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta10
แล้ว เวอร์ชัน 1.0.0-beta10 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- รุ่นที่รองรับ camera-Core 1.0.0-beta10
วงจรการใช้งานกล้องเวอร์ชัน 1.0.0-beta09
16 กันยายน 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta09
แล้ว เวอร์ชัน 1.0.0-beta09 มีการคอมมิตเหล่านี้
Camera-Lifecycle เวอร์ชัน 1.0.0-beta08
19 สิงหาคม 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta08
แล้ว เวอร์ชัน 1.0.0-beta08 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- การเริ่มต้นไม่ควรมีข้อขัดข้องอีกต่อไปเมื่อใช้บริบท
ที่ไม่ส่งคืนออบเจ็กต์ Application จาก
Context.getApplicationContext()
(I3d3c9, b/160817073)
วงจรการใช้งานกล้อง เวอร์ชัน 1.0.0-beta07
22 กรกฎาคม 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta07
แล้ว เวอร์ชัน 1.0.0-beta07 มีการคอมมิตเหล่านี้
Camera-Lifecycle เวอร์ชัน 1.0.0-beta06
24 มิถุนายน 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta06
แล้ว เวอร์ชัน 1.0.0-beta06 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- กำหนดค่า CameraX ได้แล้วด้วย Process CameraProvider#configureInstance() ก่อนเรียก Process CameraProvider#getInstance() วิธีนี้ทำให้สามารถปรับแต่ง CameraXConfig โดยไม่ต้องมีการติดตั้งใช้งาน CameraXConfig.Provider ในคลาสแอปพลิเคชันของแอป (Ia1a8d)
Camera-Lifecycle เวอร์ชัน 1.0.0-beta05
10 มิถุนายน 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta05
แล้ว เวอร์ชัน 1.0.0-beta05 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อเริ่มต้นแอปเมื่อเริ่มต้น CameraX ขณะที่โทรศัพท์อยู่ในโหมดห้ามรบกวน ระบบจะตั้งค่า
InitializationException
ที่มีCameraUnavailableException
เป็นListenableFuture
ของผลลัพธ์เริ่มต้นแทนที่จะทำให้แอปพลิเคชันขัดข้อง (I9909a, b/149413835)
Camera-Lifecycle เวอร์ชัน 1.0.0-beta04
27 พฤษภาคม 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta04
แล้ว เวอร์ชัน 1.0.0-beta04 มีการคอมมิตเหล่านี้
Camera-Lifecycle เวอร์ชัน 1.0.0-beta03
15 เมษายน 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta03
แล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขการถดถอยจาก Beta03 ซึ่งการเรียกใช้
bindToLifecycle()
ด้วย 0UseCase
จะทำให้เกิดข้อยกเว้น การดำเนินการนี้ป้องกันไม่ให้มีการเรียกข้อมูลCamera
โดยไม่มีการเชื่อมโยงUseCase
- การแก้ไขเพื่อรองรับการเปิดตัว
camera-core
Camera-Lifecycle เวอร์ชัน 1.0.0-beta01
26 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta01
แล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- เอกสารประกอบฉบับแก้ไข เพื่อให้ทราบว่าเมื่อมีการรับ
ProcessCameraProvider
ระหว่างการเริ่มต้น การกำหนดค่าเริ่มต้นคือ ที่ใช้ และการขยายApplication
นั้นไม่บังคับ (I5e395)
Camera-Lifecycle เวอร์ชัน 1.0.0-beta02
1 เมษายน 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta02
แล้ว เวอร์ชัน 1.0.0-beta02 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- อัปเดตเพื่อรองรับการแก้ไขข้อบกพร่องในอาร์ติแฟกต์
camera-camera2:1.0.0-beta02
และcamera-core:1.0.0-beta02
Camera-Lifecycle เวอร์ชัน 1.0.0-alpha10
10 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-alpha10
แล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มคำอธิบายประกอบ
@MainThread
ใน BindToLifecycle, ยกเลิกการเชื่อมโยง และยกเลิกการเชื่อมโยงวิธีการแล้ว (I990d2)
Camera-Lifecycle เวอร์ชัน 1.0.0-alpha03
22 มกราคม 2020
ปล่อย androidx.camera:camera-lifecycle:1.0.0-alpha03
แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้
อัปเดต
- การแก้ไขและอัปเดตต่างๆ เพื่อรองรับ Camera Core และ มีการเปลี่ยนแปลงในกล้อง 2
Camera-Lifecycle เวอร์ชัน 1.0.0-alpha02
18 ธันวาคม 2019
ปล่อย androidx.camera:camera-lifecycle:1.0.0-alpha02
แล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงการขึ้นต่อกัน
- อัปเดตเป็นใช้
androidx.camera:camera-core:1.0.0-alpha08
แล้ว
Camera-Lifecycle เวอร์ชัน 1.0.0-alpha01
4 ธันวาคม 2019
ปล่อย androidx.camera:camera-lifecycle:1.0.0-alpha01
แล้ว เวอร์ชัน 1.0.0-alpha01 ของวงจรการใช้งานกล้องมีคอมมิตเหล่านี้
หมายเหตุ API
- มีการเพิ่มอาร์ติแฟกต์อายุการใช้งานกล้องซึ่งมีอินเทอร์เฟซ
LifeCycleCameraProvider
และการใช้งานProcessCameraProvider
ซึ่งมีฟังก์ชันหลายรายการของคลาส CameraX ก่อนหน้าเป็นแกนหลักและได้รับผ่านเมธอดgetInstance()
- แอปควรมีไลบรารีอายุการใช้งานของกล้องเพื่อใช้ CameraX
- ดูวิธีเริ่มต้น CameraX โดยใช้
ProcessCameraProvider
ได้ในส่วน camera-core
ส่วนขยายกล้องถ่ายรูปและมุมมองกล้องเวอร์ชัน 1.0.0
เวอร์ชัน 1.0.0-alpha32
15 ธันวาคม 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha32
และ androidx.camera:camera-view:1.0.0-alpha32
แล้ว เวอร์ชัน 1.0.0-alpha32 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- นำคำอธิบายประกอบ
@RequiresApi(21)
ที่ไม่จำเป็นออกจากคลาส/อินเทอร์เฟซภายในแล้ว (I8e286, b/204917951) - อัปเดตไฟล์ API สำหรับอาร์ติแฟกต์ส่วนขยายกล้อง (If683a, b/161377155)
แก้ไขข้อบกพร่อง
- ไม่อนุญาตให้แอปเปิดใช้โหมดส่วนขยายเมื่อเชื่อมโยง
VideoCapture
ส่วนขยาย CameraX รองรับเฉพาะImageCapture
และPreview
ยังไม่รองรับVideoCapture
หากแอปเชื่อมโยงVideoCapture
และเปิดใช้โหมดส่วนขยายใดก็ตาม ระบบจะส่งIllegalArgumentException
(I0d87b) CameraSelector#filter
ไม่แสดงIllegalArgumentException
อีกต่อไปเมื่อชุดผลลัพธ์ว่างเปล่า (I27804)- เปลี่ยนชื่อ API ของ
ExtensionsManager#getInstance
เป็นgetInstanceAsync
เนื่องจากแสดงผลListenableFuture
ส่วนต่อท้ายแบบไม่พร้อมกันของชื่อฟังก์ชันสามารถแสดงให้เห็นได้อย่างชัดเจนว่าเป็นฟังก์ชันอะซิงโครนัส (I279d2) - นําพารามิเตอร์ความละเอียดออกจาก
ExtensionsManager#getEstimatedCaptureLatencyRange
API เนื่องจากผู้ใช้ไม่ทราบว่าขนาดใดรองรับกรณีการใช้งานImageCapture
และแยกแยะไม่ได้ว่าข้อมูลเวลาในการตอบสนองที่แสดงผลเป็นขนาดเอาต์พุตการบันทึกสูงสุดหรือพารามิเตอร์ความละเอียดอินพุต (I74bb2) - ย้ายพารามิเตอร์
CameraProvider
ของฟังก์ชันExtensionsManager
รายการไปยังgetInstance()
API เพื่อให้ผู้ใช้ไม่ต้องป้อนพารามิเตอร์CameraProvider
ทุกครั้งเมื่อเรียกใช้ฟังก์ชันExtensionsManager
(Ic7e48)
เวอร์ชัน 1.0.0-alpha31
17 พฤศจิกายน 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha31
และ androidx.camera:camera-view:1.0.0-alpha31
แล้ว เวอร์ชัน 1.0.0-alpha31 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม CameraSelector#filter ลงใน API สาธารณะเพื่อกรองรายการ CameraInfos ตาม CameraSelector (I105d0)
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อสลับโหมดส่วนขยายอย่างรวดเร็วในอุปกรณ์บางประเภท (Iebbef)
เวอร์ชัน 1.0.0-alpha30
13 ตุลาคม 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha30
และ androidx.camera:camera-view:1.0.0-alpha30
แล้ว เวอร์ชัน 1.0.0-alpha30 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มคำอธิบายประกอบ @RequiresApi(21) ลงในคลาส CameraX ทั้งหมด และลด minSdkVersion จาก AndroidManifest.xml วิธีนี้จะช่วยให้ แกนหลักสำหรับกล้อง เพื่อผสานรวมกับแอปพลิเคชันที่มี minSdkVersion ต่ำกว่า 21 แต่ต้องการใช้เส้นทางโค้ดอย่างมีเงื่อนไข ที่ใช้ API 21 ขึ้นไป สำหรับแอปพลิเคชันใดๆ ที่มี minSdkVersion 21 หรือสูงกว่า คุณไม่ต้องดำเนินการใดๆ สำหรับการเปลี่ยนแปลงนี้ (Ie7f2e, b/200599470)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหา AbstractMethodError ซึ่งเกิดขึ้นเมื่อเปิดใช้ Proguard (Iae468, b/201177844)
เวอร์ชัน 1.0.0-alpha29
29 กันยายน 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha29
และ androidx.camera:camera-view:1.0.0-alpha29
แล้ว เวอร์ชัน 1.0.0-alpha29 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เราได้นำคำอธิบายประกอบ ExperimentalUseCaseGroup ออกแล้วเนื่องจาก API ดังกล่าวไม่ได้อยู่ระหว่างการทดลองอีกต่อไป (I01ef5)
- นำ
RotationProvider#removeAllListeners()
ออก โปรดใช้RotationProvider#removeListener(...)
แทน (Id9d4a) - อัปเดตคลาส RotationReceiver: เปลี่ยน set/clear Listener เป็น add/remove/removeAll ลบรูปแบบ setListener ที่ใช้เทรดหลักโดยค่าเริ่มต้น และเพิ่มคำอธิบายประกอบของเมธอด (Ib1669)
แก้ไขข้อบกพร่อง
- เปลี่ยนชื่อ ExtensionMode#BEAUTY เป็น FACE_RETOUCH เพื่อแสดงสิ่งที่ทำในโหมดส่วนขยายอย่างถูกต้อง (I61f54, b/198515274)
- แก้ไขปัญหากล้องปิดโดยไม่คาดคิดเมื่อมีการใช้ CameraController และ PreviewView หลายรายการในกิจกรรมเดียว (Ibfd18, b/197539358)
เวอร์ชัน 1.0.0-alpha28
18 สิงหาคม 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha28
และ androidx.camera:camera-view:1.0.0-alpha28
แล้ว เวอร์ชัน 1.0.0-alpha28 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เราได้นำคำอธิบายประกอบ ExperimentalUseCaseGroupLifecycle ออกแล้วเนื่องจาก API ไม่ได้อยู่ระหว่างการทดลองอีกต่อไป (I17B85)
- เปลี่ยนโครงสร้างภายใน RotationListener และเปลี่ยนชื่อเป็น RotationProvider และยังคงให้บริการฟีเจอร์เดิมโดยใช้ API ที่แตกต่างกันเล็กน้อย (Idffc5)
- เปลี่ยนชื่อ TAP_TO_FOCUS_UNSUCCESSFUL เป็น TAP_TO_FOCUS_NOT_FOCUSED และ TAP_TO_FOCUS_SUCCESSFUL เป็น TAP_TO_FOCUS_FOCUSED สร้าง OutputSize ขั้นสุดท้าย (I099fa)
แก้ไขข้อบกพร่อง
- นำคลาส
<EffectName><UseCase>Extender
ที่เลิกใช้งานแล้ว, ExtensionsErrorListener และ API ของ ExtensionsManager ที่เกี่ยวข้องออก (I3b8c3)
เวอร์ชัน 1.0.0-alpha27
21 กรกฎาคม 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha27
และ androidx.camera:camera-view:1.0.0-alpha27
แล้ว เวอร์ชัน 1.0.0-alpha27 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เลื่อนระดับวิวพอร์ต API จากการทดลองแล้ว นำคำอธิบายประกอบเวอร์ชันทดลองของ API ออก (I717ea)
- เปลี่ยนชื่อ
CoordinateTransform#getTransform
เป็นCoordinateTransform#transform
และอัปเดต JavaDoc (I864ae)
แก้ไขข้อบกพร่อง
- แก้ปัญหาการขยายโหมด
PreviewView PERFORMANCE
เมื่อใช้ร่วมกับ Compose UI (Ie1137, b/183864890)
เวอร์ชัน 1.0.0-alpha26
30 มิถุนายน 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha26
และ androidx.camera:camera-view:1.0.0-alpha26
แล้ว เวอร์ชัน 1.0.0-alpha26 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มวิธีการใหม่
CameraController#getTapToFocusState()
ที่แสดงผลลัพธ์การแตะเพื่อโฟกัสล่าสุด (Iaccb0) - การเพิ่มฟีเจอร์หลักของกล้องลงใน CameraController ได้แก่ Getters/setters สำหรับสัดส่วนภาพเป้าหมาย, ความละเอียดเป้าหมาย, โหมดจับภาพ, CameraControl และโปรแกรมดำเนินการที่กำหนดเอง (Iea8f2)
- เพิ่มคลาส RotationReceiver ที่ได้รับการเปลี่ยนแปลงการหมุนเวียนของแพลตฟอร์ม ซึ่งสามารถใช้ตั้งค่าการหมุนเป้าหมายเมื่ออุปกรณ์อยู่ในโหมดแนวตั้ง/แนวนอนแบบคงที่ (Ib278f)
- เปิดเผย API สาธารณะ getประมาณCaptureLatencyRange ใหม่ในคลาส ExtensionsManager (I6a8ec)
- ExtensionsErrorListener ที่เลิกใช้งาน ปัจจุบันอินเทอร์เฟซนี้ใช้เพื่อตรวจสอบว่าไม่มีตัวอย่างหรือ ImageCapture เมื่อเปิดใช้โหมดส่วนขยายเท่านั้น CameraX จะเพิ่มการแสดงตัวอย่างหรือ ImageCapture เพิ่มเติมโดยอัตโนมัติเพื่อให้ฟังก์ชันของส่วนขยายทำงานได้ดี หลังจากนั้น จะไม่มีการรายงานข้อผิดพลาดผ่านอินเทอร์เฟซนี้ (I47d9e)
- เปิดเผย ExtensionsManager getInstance, isExtensionavailable และ getExtensionEnabledcameraSelector สาธารณะที่เป็น API สาธารณะและเลิกใช้งานคลาส
<EffectName><UseCase>Extender
เก่าและ API ที่เกี่ยวข้องแล้ว (I329e6)
เวอร์ชัน 1.0.0-alpha25
2 มิถุนายน 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha25
และ androidx.camera:camera-view:1.0.0-alpha25
แล้ว เวอร์ชัน 1.0.0-alpha25 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- อยู่ระหว่างการทดสอบ API กล้องตัวกรองนี้ไม่ใช่รุ่นทดลอง และกลายเป็น API อย่างเป็นทางการ และสามารถใช้ได้โดยไม่ต้องมีคำอธิบายประกอบการเลือกใช้ (I4bc94)
- เพิ่มยูทิลิตีที่แปลงพิกัดระหว่างกรณีการใช้งาน ตัวอย่างการใช้งาน: การแปลงพิกัดที่ตรวจพบใน Use Case ของ ImageAnalysis และไฮไลต์ออบเจ็กต์ที่ตรวจพบในตัวอย่าง (I63ab1, b/137515129)
- นำ
CameraView
ออกแล้วCameraView
ถูกแทนที่ด้วยCameraController
แล้ว โปรดดูคำแนะนำในการย้ายข้อมูลเพื่อดูวิธีย้ายข้อมูล (Id5005)
แก้ไขข้อบกพร่อง
- แทนที่
ExperimentalUseCaseGroupLifecycle
ด้วยExperimentalUseCaseGroup
(I3b2ef, b/159033688)
เวอร์ชัน 1.0.0-alpha24
21 เมษายน 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha24
และ androidx.camera:camera-view:1.0.0-alpha24
แล้ว เวอร์ชัน 1.0.0-alpha24 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แทนที่คำอธิบายประกอบ
@Experimental
ด้วย@RequiresOptIn
ใน API ทดลองแล้ว สำหรับการเรียก API ทดลอง ให้ใช้androidx.annotation.OptIn
แทนandroidx.annotation.experimental.UseExperimental
ที่เลิกใช้งานแล้ว (Iff226) - แก้ไขปัญหาการแสดงตัวอย่างแบบขยายใน Samsung J5 Prime (Ib10b6)
ส่วนขยายกล้องและ ดูเวอร์ชัน 1.0.0-alpha23
24 มีนาคม 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha23
และ androidx.camera:camera-view:1.0.0-alpha23
แล้ว เวอร์ชัน 1.0.0-alpha23 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เรากําลังจะเลิกใช้งาน CameraView โปรดใช้
LifecycleCameraController
แทน โปรดดูคำแนะนำในการย้ายข้อมูล (Idac2c) - เพิ่มคำอธิบายประกอบ FloatRange ไปยัง setLinearZoom() (I69971) แล้ว
แก้ไขข้อบกพร่อง
- ทรัพยากร Dependency ของมุมมองกล้องที่ปักหมุดไว้เพื่อใช้อาร์ติแฟกต์ 1.0.0 ขึ้นอยู่กับมุมมองกล้องจะไม่ทำให้การขึ้นต่อกันของ Gradle อีกต่อไป ความละเอียดเพื่ออัปเกรด Camera-core, Camera-camera2 โดยอัตโนมัติและ ตั้งแต่วงจรชีวิตของกล้องไปจนถึงอาร์ติแฟกต์เวอร์ชัน 1.1.0 เวอร์ชันล่าสุด แม้ว่ามุมมองกล้องจะเป็น ยังคงใช้งานร่วมกับอาร์ติแฟกต์เหล่านั้นได้หากมีการตั้งค่าให้ใช้อย่างชัดเจน 1.1.0 (Ic8fa1, b/181599852)
- แก้ไขการแสดงตัวอย่าง Samsung A3 แบบยืดใน PreviewView (Iacb30, b/180121821)
- แก้ปัญหาในกรณีที่ไม่สามารถตั้งค่าตัวเลือกกล้องก่อนเริ่มกล้องถ่ายรูป (Ic8bd0)
ส่วนขยายกล้องและ ดูเวอร์ชัน 1.0.0-alpha22
24 กุมภาพันธ์ 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha22
และ androidx.camera:camera-view:1.0.0-alpha22
แล้ว เวอร์ชัน 1.0.0-alpha22 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม Getter CameraInfo ไปยัง CameraController (Ib8138, b/178251727)
แก้ไขข้อบกพร่อง
- แก้ไข ExtensionsErrorListener เพื่อรายงานข้อผิดพลาดเมื่อมีการเชื่อมโยงเฉพาะ Preview หรือ ImageCapture เท่านั้น (I5ae39)
ส่วนขยายกล้องและ ดูเวอร์ชัน 1.0.0-alpha21
27 มกราคม 2021
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha21
และ androidx.camera:camera-view:1.0.0-alpha21
แล้ว เวอร์ชัน 1.0.0-alpha21 มีคอมมิตเหล่านี้
กำลังเปิดตัวเพื่อรองรับอาร์ติแฟกต์อื่นๆ ในไลบรารีของกล้อง
ส่วนขยายกล้องและ ดูเวอร์ชัน 1.0.0-alpha20
16 ธันวาคม 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha20
และ androidx.camera:camera-view:1.0.0-alpha20
แล้ว เวอร์ชัน 1.0.0-alpha20 มีคอมมิตเหล่านี้
กำลังเปิดตัวเพื่อรองรับอาร์ติแฟกต์อื่นๆ ในไลบรารีของกล้อง
ส่วนขยายกล้องและ Camera-View เวอร์ชัน 1.0.0-alpha19
11 พฤศจิกายน 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha19
และ androidx.camera:camera-view:1.0.0-alpha19
แล้ว เวอร์ชัน 1.0.0-alpha19 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- เปิดตัวคำอธิบายประกอบ
@ExperimentalVideo
สำหรับมุมมองกล้อง คำอธิบายประกอบนี้จะทำเครื่องหมาย API ที่แสดงฟังก์ชันการทำงานของวิดีโอทดลอง ซึ่งอาจมีการเปลี่ยนแปลงเนื่องจากฟีเจอร์ ได้รับการพัฒนาอย่างเต็มรูปแบบ ช่วง ที่ใช้ API เหล่านี้ควรใช้คำอธิบายประกอบ@UseExperimental
โดยมีExperimentalVideo
เป็นmarkerClass
(I6d729)
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha18
14 ตุลาคม 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha18
แล้ว เวอร์ชัน 1.0.0-alpha18 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- ปรับปรุงเวลาในการตอบสนองของการเริ่มต้น CameraX และ bindToLifecycle (I61dc5)
<UseCase>.getTargetRotation()
จะส่งคืนSurface.ROTATION_0
หากเรียกใช้ก่อนแนบกับอินสแตนซ์กล้องถ่ายรูป เว้นแต่ว่า มีการตั้งค่า targetRotation ใน Builder หรือ UseCase (I80fcd)
Camera-View เวอร์ชัน 1.0.0-alpha18
14 ตุลาคม 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha18
แล้ว เวอร์ชัน 1.0.0-alpha18 มีคอมมิตเหล่านี้
กำลังเปิดตัวเพื่อรองรับอาร์ติแฟกต์อื่นๆ ในไลบรารีของกล้อง
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha17
23 กันยายน 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha17
แล้ว เวอร์ชัน 1.0.0-alpha17 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- รุ่นที่รองรับ camera-Core 1.0.0-beta10
Camera-View เวอร์ชัน 1.0.0-alpha17
23 กันยายน 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha17
แล้ว เวอร์ชัน 1.0.0-alpha17 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- รุ่นที่รองรับ camera-Core 1.0.0-beta10
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha16
16 กันยายน 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha16
แล้ว เวอร์ชัน 1.0.0-alpha16 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- เพิ่มเมธอดใน
ExtensionsManager
เพื่อรับออบเจ็กต์Extensions
แล้ว ซึ่งใช้เพื่อเปิดใช้และค้นหาส่วนขยายในอินสแตนซ์กล้อง (I4fb7e)
Camera-View เวอร์ชัน 1.0.0-alpha16
16 กันยายน 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha16
แล้ว เวอร์ชัน 1.0.0-alpha16 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- นำ
PreviewView#setDeviceRotationForRemoteDisplayMode()
และPreviewView#getDeviceRotationForRemoteDisplayMode()
ออกแล้ว ทั้ง 2 วิธีมีไว้สําหรับการปรับแต่งการหมุนตัวอย่าง เมื่อการหมุนที่ต้องการไม่ใช่การหมุนจอแสดงผล เช่น จอแสดงผลระยะไกล หากต้องการใช้การหมุนตัวอย่างแบบไม่แสดงผลตอนนี้ ให้ตั้งค่าการหมุนที่ต้องการด้วยPreview#setTargetRotation()
และPreviewView#getViewPort(targetRotation)
ที่เพิ่มเข้ามาใหม่ (Ib62cc) - เปลี่ยนชื่อ
createSurfaceProvider()
เป็นgetSurfaceProvider()
แล้ว วิธีนี้จะแสดงอินสแตนซ์ของ Preview.SurfaceProvider เดียวกันเสมอ (Iff83c)
แก้ไขข้อบกพร่อง
- บังคับให้ PreviewView ใช้ TextureView หากเปิดใช้เอฟเฟกต์ส่วนขยาย และการใช้งานไลบรารีของผู้ให้บริการต้องทำกระบวนการพิเศษบนพื้นผิวเอาต์พุต (I0c3cc)
- อนุญาตการหมุนเวียนเป้าหมายที่กำหนดเองสำหรับการแสดงตัวอย่าง ระบบจะคํานวณข้อมูลการเปลี่ยนรูปแบบและส่งคืนให้กับผู้ใช้ในทันทีผ่าน Callback
TranformationInfoListener
ใหม่ (I21470)
ปัญหาที่ทราบ
- ใน PreviewView ระบบจะไม่เรียกใช้
OnClickListener#onClick()
เมื่อผู้ใช้ปลายทางคลิก PreviewView เหตุการณ์การสัมผัสถูกใช้งานอย่างไม่ถูกต้องโดย PreviewView#onTouchEvent() ปัญหาจะได้รับการแก้ไขในรุ่นถัดไป - MeteringPoint ที่ได้รับจาก
PreviewView#getMeteringPointFactory()
อาจไม่ถูกต้องหากใช้ ViewPort กับ PreviewView
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha15
19 สิงหาคม 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha15
แล้ว เวอร์ชัน 1.0.0-alpha15 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- ตอนนี้เมธอด
ExtensionsManager.init()
จะใช้ บริบทเป็นพารามิเตอร์ แทนที่จะมีอาร์กิวเมนต์ 0 (Ife754) การเริ่มต้นไม่ควรมีข้อขัดข้องอีกต่อไปเมื่อใช้บริบท ที่ไม่แสดงผลออบเจ็กต์ Application จาก
Context.getApplicationContext()
(I3d3c9, b/160817073)Camera-View เวอร์ชัน 1.0.0-alpha15
19 สิงหาคม 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha15
แล้ว เวอร์ชัน 1.0.0-alpha15 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
DisplayOrientedMeteringPointFactory
ทำประตูได้ในCameraInfo
แทนCameraSelector
เพื่อให้มีการแมปโดยตรงกับ กล้องที่โรงงานจะสร้างคะแนนให้ ชั้นเรียนทั้งหมด ที่ใช้DisplayOrientedMeteringPointFactory
ยังจะประมวลผลCameraInfo
ด้วย แทนCameraSelector
(I400c1)- นำ
TextureViewMeteringPointFactory
ออกแล้วPreviewView
มี API สาธารณะ (createMeteringPointFactory()
) เพื่อสร้างโรงงานสำหรับจุดตรวจสอบการใช้งาน ไม่ว่าจะใช้TextureView
หรือSurfaceView
(Ide693) - เปลี่ยนชื่อโหมดการใช้งาน
SURFACE_VIEW
/TEXTURE_VIEW
ของ PreviewView เป็นPERFORMANCE
/COMPATIBLE
PERFORMANCE
คือโหมดSURFACE_VIEW
แบบเก่า และCOMPATIBLE
คือโหมดTEXTURE_VIEW
แบบเก่า (I0edc2) - สำหรับการจับภาพ ให้เขียนทับธงแนวนอนที่พลิกแล้วในข้อมูลเมตาโดยอิงตามทิศทางของกล้อง (I28499)
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha14
22 กรกฎาคม 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha14
แล้ว เวอร์ชัน 1.0.0-alpha14 มีคอมมิตเหล่านี้
Camera-View เวอร์ชัน 1.0.0-alpha14
22 กรกฎาคม 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha14
แล้ว เวอร์ชัน 1.0.0-alpha14 มีคอมมิตเหล่านี้
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha13
24 มิถุนายน 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha13
แล้ว เวอร์ชัน 1.0.0-alpha13 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- เพิ่มอินเทอร์เฟซทดลองสำหรับการกรองกล้องตามกล้อง ID และลักษณะกล้อง (I28f61)
Camera-View เวอร์ชัน 1.0.0-alpha13
24 มิถุนายน 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha13
แล้ว เวอร์ชัน 1.0.0-alpha13 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- CameraView ไม่มีข้อขัดข้องเนื่องจาก IllegalArgumentException อีกต่อไป เมื่อเชื่อมโยงกับ LifecycleOwner ที่วงจรจะเปลี่ยนเป็น "DESTROYED" หลังจากเข้าผูกพันไม่นาน การเชื่อมโยงวงจรอยู่ในสถานะ "ทำลายแล้ว" จะไม่พยายามเปิดกล้อง (I7c2b8)
- ขณะนี้ PreviewView StreamState ใช้งานได้แล้วผ่าน CameraView.getPreviewStreamState() (I21a2b)
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha12
10 มิถุนายน 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha12
แล้ว เวอร์ชัน 1.0.0-alpha12 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อเริ่มต้นแอปเมื่อเริ่มต้น CameraX ขณะที่โทรศัพท์อยู่ในโหมดห้ามรบกวน ระบบจะตั้งค่า
InitializationException
มีCameraUnavailableException
เป็นListenableFuture
ของผลลัพธ์เริ่มต้นแทนที่จะทำให้แอปพลิเคชันขัดข้อง (I9909a, b/149413835)
Camera-View เวอร์ชัน 1.0.0-alpha12
10 มิถุนายน 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha12
แล้ว เวอร์ชัน 1.0.0-alpha12 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- เพิ่ม
PreviewView#getBitmap()
API ซึ่งแสดงผลการแทนบิตแมปของเนื้อหาที่แสดงในพื้นที่แสดงตัวอย่าง (I9b500, b/157659818)
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha11
27 พฤษภาคม 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha11
แล้ว เวอร์ชัน 1.0.0-alpha11 มีคอมมิตเหล่านี้
Camera-View เวอร์ชัน 1.0.0-alpha12
10 มิถุนายน 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha12
แล้ว เวอร์ชัน 1.0.0-alpha12 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
การเปลี่ยนแปลง API
แก้ไขข้อบกพร่อง
- เพิ่ม
PreviewView#getBitmap()
API ซึ่งแสดงผลการแทนบิตแมปของเนื้อหาที่แสดงในพื้นที่แสดงตัวอย่าง (I9b500, b/157659818)
Camera-View เวอร์ชัน 1.0.0-alpha11
27 พฤษภาคม 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha11
แล้ว เวอร์ชัน 1.0.0-alpha11 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
PreviewView#getPreviewStreamState
API ซึ่ง จะช่วยให้แอปสังเกตได้ว่ากำลังสตรีมตัวอย่างอยู่หรือไม่ วันและเวลา PreviewView อยู่ในโหมด TEXTURE_VIEW ซึ่งเป็นสถานะ STREAMING ยังรับประกันด้วยว่าภาพตัวอย่างจะแสดงขึ้น (Ic0906, b/154652477) - เพิ่ม
PreviewView#setDeviceRotationForRemoteDisplayMode()
API เพื่อการหมุนเวียนอุปกรณ์สำหรับการคำนวณการเปลี่ยนรูปแบบ หากแอปพลิเคชันทำงานในโหมดการแสดงผลระยะไกล (I59b95, b/153514525)
แก้ไขข้อบกพร่อง
- แก้ปัญหาภาพตัวอย่างบิดเบี้ยวในกล้อง
FULL/LIMITED/LEVEL_3
ตัวที่ใช้ Android 7.0 และต่ำกว่า บังคับให้ใช้โหมดImplementationMode#TEXTURE_VIEW
เมื่อเวอร์ชัน Android ไม่เกิน 7.0 (I83e30, b/155085307) - นำพารามิเตอร์
CameraInfo
ออกจากPreviewView#createSurfaceProvider()
แล้วPreviewView
จะดึงข้อมูลพารามิเตอร์จากSurfaceRequest
เป็นการภายใน (If18f0, b/154652477) - แก้ไขสัดส่วนภาพเริ่มต้นของ VideoCapture เป็น 16:9 ใน CameraView (Ie6a7b, b/153237864)
- แก้ไขปัญหาหน้าจอดำ
PreviewView
รายการเมื่อเลื่อนส่วนPreview
ออก แล้วเลื่อนกลับใน ViewPager2 รวมถึงแก้ไขปัญหาเมื่อremoveView(previewview)
จากนั้นaddView(previewView)
(Iab555, b/149877652, b/147354615) - อัปเดต
CameraView#takePicture()
API เพื่ออนุญาตให้บันทึกรูปภาพไปยังUri
และOutputStream
อัปเดตแอปทดสอบเพื่อใช้Uri
เป็นตัวอย่าง Canonical (Ia2459, b/153607583) - คุณตั้งค่าประเภทการปรับขนาดของ PreviewView จากเลย์เอาต์ XML ได้โดยการตั้งค่าแอตทริบิวต์
ScaleType
(I08565, b/153015659) - นำ
CameraView.ScaleType
ออกแล้ว แต่ให้ใช้PreviewView.ScaleType
เพื่อตั้งค่า/รับประเภทการปรับขนาดด้วย CameraView แทน (Ia8974, b/153014831) - กำหนดสีพื้นหลังให้กับ
PreviewView
โดยค่าเริ่มต้นหากยังไม่มี วิธีนี้จะป้องกันไม่ให้เนื้อหาด้านหลังเนื้อหาเริ่มแสดงก่อนที่สตรีมตัวอย่างจะเริ่มขึ้น (I09fad)
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha10
15 เมษายน 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha10
แล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขเพื่อรองรับการเปิดตัว Camera-Core
Camera-View เวอร์ชัน 1.0.0-alpha10
15 เมษายน 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha010
แล้ว เวอร์ชัน 1.0.0-alpha010 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ทราบก่อนหน้าซึ่งการใช้งาน "SurfaceView" ของ
PreviewView
ทำงานได้ไม่ดีในอุปกรณ์บางประเภท และจะทำให้แอปขัดข้องหลังจากกลับมาแสดงตัวอย่างต่อ (I5ed6b)
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha09
1 เมษายน 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha09
แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- อัปเดตเพื่อรองรับการแก้ไขข้อบกพร่องในอาร์ติแฟกต์
camera-camera2:1.0.0-beta02
,camera-core:1.0.0-beta02
และcamera-lifecycle:1.0.0-beta02
Camera-View เวอร์ชัน 1.0.0-alpha09
1 เมษายน 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha09
แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตเหล่านี้
ปัญหาที่ทราบ
- การใช้
ImplementationMode.SURFACE_VIEW
กับPreviewView
อาจทำงานได้ไม่ดีในอุปกรณ์บางเครื่อง เนื่องจากSurfaceView
ที่ใช้สำหรับการแสดงตัวอย่างจะทำให้แพลตฟอร์มใช้งานไม่ได้เมื่อวงจรการใช้งานของหน้าต่างที่มีการรีสตาร์ท เมื่อรีสตาร์ท กล้องจะเปิดขึ้นใหม่และอาจพยายามแสดงตัวอย่างต่อก่อนที่แพลตฟอร์มของSurfaceView
จะใช้งานได้อีกครั้ง และตอนนี้คุณควรใช้ImplementationMode.TEXTURE_VIEW
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ
PreviewView.setImplementationMode()
เป็นPreviewView.setPreferredImplementationMode()
แล้ว - เปลี่ยนชื่อ
PreviewView.getImplementationMode()
เป็นPreviewView.getPreferredImplementationMode()
แล้ว - แทนที่
PreviewView.getSurfaceProvider()
ด้วยPreviewView.createSurfaceProvider(CameraInfo)
แล้ว ซึ่งจะนำอินสแตนซ์CameraInfo
ที่เป็นค่าว่างซึ่งใช้ในการเพิ่มประสิทธิภาพการแสดงตัวอย่างโดยใช้ImplementationMode.SURFACE_VIEW
เมื่อใดก็ตามที่เป็นไปได้ หากอินสแตนซ์ Null ถูกส่งผ่าน หรือหากคุณตั้งค่าโหมดการใช้งานที่ต้องการเป็นImplementationMode.TEXTURE_VIEW
ระบบจะใช้ImplementationMode.TEXTURE_VIEW
ภายใน ตัวอย่างโค้ดต่อไปนี้แสดงให้เห็นว่า Use Case สำหรับตัวอย่างใช้งานกับ PreviewView ก่อนหน้านี้อย่างไร
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
ในตอนนี้คุณสามารถเขียนสิ่งต่อไปนี้ได้
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
เพิ่มคำอธิบายประกอบ
@UiThread
ไปยังPreviewView.getSurfaceProvider()
แล้ว ซึ่งหมายความว่าคำอธิบายประกอบดังกล่าวต้องเรียกใช้จากเทรดหลัก (I192f3)เพิ่ม
PreviewView.setScaleType()
แล้ว ซึ่งช่วยให้ตั้งค่าประเภทการปรับขนาดของตัวอย่างได้ ยอมรับค่าใดค่าหนึ่งในPreviewView.ScaleType
และมีค่าเริ่มต้นเป็นPreviewView.ScaleType.FILL_CENTER
เพิ่ม
PreviewView.getScaleType()
แล้วยกเลิกการสนับสนุนสำหรับการตั้งค่าโหมดการใช้งานสำหรับ
PreviewView
ในเลย์เอาต์ XML โดยใช้แอตทริบิวต์implementationMode
เพิ่ม
createMeteringPointFactory()
API ไปยัง PreviewView เพื่อรองรับการแปลง (x, y) ในPreviewView
เป็นMeteringPoint
(Ib36d7)
แก้ไขข้อบกพร่อง
- แก้ไขกรณีที่แสดงตัวอย่างที่ไม่ถูกต้องหลังจากมีการเปลี่ยนแปลงขนาดของ
PreviewView
(I71101)
ส่วนขยายกล้องเวอร์ชัน 1.0.0-alpha08
26 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha08
แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตเหล่านี้
Camera-View เวอร์ชัน 1.0.0-alpha08
26 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha08
แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แทนที่
ListenableFuture
เมื่อวันที่SurfaceRequest.provideSurface()
ที่มีExecutor
และCallback
ช่วงเวลานี้ ทำให้ API ง่ายขึ้นโดยไม่ต้องจัดการข้อยกเว้นอีกต่อไปprovideSurface()
และบังคับให้provideSurface()
Callback ไม่สามารถ ถูกยกเลิก เพื่อป้องกันการขัดข้องในอุปกรณ์รุ่นเก่าที่เกิดจาก การปล่อยพื้นผิวก่อนกำหนด มีการใช้ออบเจ็กต์SurfaceRequest.Result
แล้ว สำหรับการติดตามวิธีที่SurfaceRequest
ใช้Surface
ที่ระบุ (I7854B) - เปลี่ยนชื่อ
SurfaceRequest.setSurface(Surface)
เป็นSurfaceRequest.provideSurface(Surface)
และSurfaceRequest.setWillNotComplete()
ถึงSurfaceRequest.willNotProvideSurface()
(I224fe) - แก้ไขการเริ่มต้นตัวแปรของแอปที่เปิดใช้ ProGuard โดยเก็บ
แฟล็กที่กำหนดผู้ให้บริการ
CameraXConfig
เริ่มต้น (I2d6c1)
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha07
10 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha07
แล้ว เวอร์ชัน 1.0.0-alpha07 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- อาร์กิวเมนต์ที่ส่งผ่านก่อนหน้านี้ใน
ImageCapture.OnImageSavedCallback.onError()
และImageCapture.OnImageCapturedCallback.onError()
ถูกแทนที่ด้วยอาร์กิวเมนต์เดียวImageCaptureException
ซึ่งยังคงมีข้อมูลทั้งหมดที่ถูกส่งผ่านก่อนหน้านี้ - นำอาร์กิวเมนต์ไฟล์ที่ส่งผ่านใน
ImageCapture.OnImageSavedCallback.onImageSaved()
ก่อนหน้านี้ออกแล้ว (I750d2)
Camera-View เวอร์ชัน 1.0.0-alpha07
10 กุมภาพันธ์ 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha07
แล้ว เวอร์ชัน 1.0.0-alpha07 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- ตอนนี้การใช้งาน
TextureView
ของPreviewView
จะกำหนดขนาดของTextureView
เป็นขนาดเอาต์พุตเซ็นเซอร์ของกล้องก่อนปรับขนาดให้เต็มPreviewView
ระดับบน หากคุณต้องการให้ตัวอย่างจากกล้องแสดงเต็มส่วนของ UI (เช่น ทั้งหน้าจอ) คุณไม่ควรกำหนดขนาดของPreviewView
เป็นค่าคงที่ หรือทำให้รวมเนื้อหาไว้ (โดยใช้แอตทริบิวต์ "wrap_content
") ซึ่งอาจส่งผลให้การแสดงตัวอย่างจากกล้องเติมเพียงบางส่วนของPreviewView
(หากขนาดเอาต์พุตเซ็นเซอร์ของกล้องเล็กกว่า) คุณควรตั้งค่าPreviewView
ให้ใหญ่ที่สุดแทน (เช่น โดยใช้แอตทริบิวต์ "match_parent
") (1204869)
แก้ไขข้อบกพร่อง
- อัปเดต
ImageCapture
เพื่ออนุญาตให้บันทึกรูปภาพไปยังUri
และOutputStream
แล้ว รวมเมธอดtakePicture
ที่มีการดำเนินการมากเกินไปเป็นรายการเดียว อัปเดตแอปทดสอบเพื่อใช้Uri
เป็นตัวอย่าง Canonical (Ia3bec) - เปลี่ยนชื่อ
Preview.PreviewSurfaceProvider
เป็นPreview.SurfaceProvider
แล้วSurfaceProvider
ไม่ได้กำหนดให้นักพัฒนาแอปสร้างListenableFuture
ของตนเองอีกต่อไป และตอนนี้การระบุSurface
จะทำได้ผ่านออบเจ็กต์SurfaceRequest
ใหม่ ระบบนำเมธอดPreview.getPreviewSurfaceProvider()
ออกแล้วเนื่องจากอาจมีการใช้ในทางที่ผิดเมื่อจับคู่Preview
กับคลาสอื่นๆ เช่นPreviewView
(I20105) - อาร์กิวเมนต์ที่ส่งผ่านก่อนหน้านี้ใน
ImageCapture.OnImageSavedCallback.onError()
และImageCapture.OnImageCapturedCallback.onError()
ถูกแทนที่ด้วยอาร์กิวเมนต์เดียวImageCaptureException
ซึ่งยังคงมีข้อมูลทั้งหมดที่ถูกส่งผ่านก่อนหน้านี้ - นำอาร์กิวเมนต์ไฟล์ที่ส่งผ่านใน
ImageCapture.OnImageSavedCallback.onImageSaved()
ก่อนหน้านี้ออกแล้ว (I750d2) - อัปเดต API แล้ว โดยใช้เมธอด
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
และgetLinearZoom()
สำหรับCameraInfo
ที่ผสานเข้ากับgetZoomState()
ซึ่งแสดงผลอินสแตนซ์ZoomState
(Ib19fe)
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha06
22 มกราคม 2020
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha06
แล้ว เวอร์ชัน 1.0.0-alpha06 มีคอมมิตเหล่านี้
อัปเดต
- การแก้ไขและอัปเดตต่างๆ เพื่อรองรับ Camera Core และ มีการเปลี่ยนแปลงในกล้อง 2
Camera-View เวอร์ชัน 1.0.0-alpha06
22 มกราคม 2020
ปล่อย androidx.camera:camera-view:1.0.0-alpha06
แล้ว เวอร์ชัน 1.0.0-alpha06 มีคอมมิตเหล่านี้
อัปเดต
- การแก้ไขและอัปเดตต่างๆ เพื่อรองรับ Camera Core และ มีการเปลี่ยนแปลงในกล้อง 2
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha05
18 ธันวาคม 2019
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha05
แล้ว เวอร์ชัน 1.0.0-alpha05 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- อัปเดตเพื่อให้ตรงกับ Camera Core API ภายใน
Camera-View เวอร์ชัน 1.0.0-alpha05
18 ธันวาคม 2019
ปล่อย androidx.camera:camera-view:1.0.0-alpha05
แล้ว เวอร์ชัน 1.0.0-alpha05 มีคอมมิตเหล่านี้
ปัญหาที่ทราบ
- สัดส่วนภาพอาจไม่ถูกต้องเมื่อใช้ PreviewView (b/146215202)
ฟีเจอร์ใหม่
- ใช้คลาสใหม่ชื่อ
PreviewView.TextureViewImplementation
ที่ซิงค์วงจรของ SurfaceTexture กับการใช้งานพื้นผิวของ TextureView ของกล้อง
ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha04
4 ธันวาคม 2019
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha04
แล้ว เวอร์ชัน 1.0.0-alpha04 ของส่วนขยายกล้องมีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
ตอนนี้การตรวจสอบความพร้อมใช้งานและการเปิดใช้ส่วนขยายจะใช้
CameraSelector
เป็นพารามิเตอร์อินพุต โดยต้องเป็นCameraSelector
เดียวกับที่ใช้เชื่อมโยง Use Caseval cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA val builder = ImageCapture.Builder() val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder) if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) { bokehImageCaptureExtender.enableExtension(cameraSelector) } val imageCapture = builder.build() mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
คุณต้องเริ่มต้นส่วนขยายก่อนจึงจะใช้ไลบรารีส่วนขยายได้
val availability = ExtensionsManager.init() Futures.addCallback<ExtensionsManager.ExtensionsAvailability>( availability, object : FutureCallback<ExtensionsManager.ExtensionsAvailability> { override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) { // Ready to make extensions calls } override fun onFailure(throwable: Throwable) { // Extensions could not be initialized } }, Executors.newSingleThreadExecutor() )
Camera-View เวอร์ชัน 1.0.0-alpha04
4 ธันวาคม 2019
ปล่อย androidx.camera:camera-view:1.0.0-alpha04
แล้ว เวอร์ชัน 1.0.0-alpha04 ของมุมมองกล้องมีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- คลาส
PreviewView
มีไว้เพื่อแสดงเอาต์พุตจาก Use Case ตัวอย่างในแอปพลิเคชันได้อย่างง่ายดาย PreviewView
สามารถรวมอยู่ในเลย์เอาต์ได้ดังนี้<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />
PreviewView
ให้PreviewSurfaceProvider
เพื่อให้เชื่อมต่อ Use Case ของตัวอย่างได้อย่างง่ายดายpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
ตอนนี้ "
ZoomLevel
" เปลี่ยนเป็น "ZoomRatio
" ในการตั้งชื่อ APIพารามิเตอร์เมธอดบางอย่างมีการเปลี่ยนแปลงค่า Nullability
ส่วนขยายกล้องถ่ายรูปและมุมมองกล้องเวอร์ชัน 1.0.0-alpha03
9 ตุลาคม 2019
ปล่อย androidx.camera:camera-extensions:1.0.0-alpha03
และ androidx.camera:camera-view:1.0.0-alpha03
แล้ว นี่คือสัญญาผูกมัดที่รวมอยู่ใน camera-extensions:1.0.0-alpha03
และสัญญาผูกมัดที่รวมอยู่ใน camera-view:1.0.0-alpha03
ฟีเจอร์ใหม่
- เพิ่มการเริ่มต้นบริบทสำหรับส่วนขยายแล้ว เวอร์ชันส่วนขยายเพิ่มขึ้นเป็น 1.1.0
ส่วนขยายกล้องถ่ายรูปและมุมมองกล้องเวอร์ชัน 1.0.0-alpha02
5 กันยายน 2019
androidx.camera:camera-extensions:1.0.0-alpha02
และ
ปล่อย androidx.camera:camera-view:1.0.0-alpha02
แล้ว ต่อไปนี้คือ
คอมมิตที่รวมอยู่ในส่วนขยายกล้อง:1.0.0-alpha02
และรายการเหล่านี้คือสัญญาผูกมัดรวมถึง
Camera-view:1.0.0-alpha02
- เพิ่มการทดสอบเพื่อยืนยันว่า
PreviewImageProcessorImpl
ได้ใช้งานอย่างถูกต้อง ของคุณ - แก้ไขความล้มเหลวในการทดสอบ
ExtensionTest
ใน Nexus 5 (API ระดับ 21) และตรวจดูการแสดงตัวอย่าง พร้อมใช้งาน
ส่วนขยายกล้องถ่ายรูปและมุมมองกล้องเวอร์ชัน 1.0.0-alpha01
7 สิงหาคม 2019
androidx.camera:camera-extensions:1.0.0-alpha01
และ
ปล่อย androidx.camera:camera-view:1.0.0-alpha01
แล้ว
ต่อไปนี้คือ
คอมมิตที่รวมอยู่ในส่วนขยายกล้อง:1.0.0-alpha01
และรายการเหล่านี้คือสัญญาผูกมัดรวมถึง
มุมมองกล้อง:1.0.0-alpha01
- คลังใหม่สำหรับส่วนขยายกล้องในอนาคตสำหรับการเข้าถึงเอฟเฟกต์ในอุปกรณ์ที่รองรับ คลังนี้ยังอยู่ระหว่างการพัฒนา
- คลาสมุมมองกล้องใหม่ คลังนี้ยังอยู่ระหว่างการพัฒนา