CameraX
ตารางนี้แสดงอาร์ติแฟกต์ทั้งหมดในกลุ่ม androidx.camera
| อาร์ติแฟกต์ | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | รุ่นอัลฟ่า |
|---|---|---|---|---|
| camera-camera2 | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-core | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-compose | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-effects | 1.5.1 | - | - | 1.6.0-alpha01 |
| ส่วนขยายกล้อง | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| วงจรกล้อง | 1.5.1 | - | - | 1.6.0-alpha01 |
| camera-mlkit-vision | 1.5.1 | - | - | 1.6.0-alpha01 |
| มุมมองกล้อง | 1.5.1 | - | - | 1.6.0-alpha01 |
| ช่องมองภาพของกล้อง | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| กล้อง - วิดีโอ | 1.5.1 | - | - | 1.6.0-alpha01 |
การทดสอบอุปกรณ์
เราทดสอบ CameraX ในอุปกรณ์หลายรุ่นในห้องทดลอง หากต้องการดูรายการอุปกรณ์ที่อยู่ในห้องทดลองในขณะนี้ โปรดดูอุปกรณ์ที่ผ่านการทดสอบในห้องทดลองของ CameraX
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ใน CameraX คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google
เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับ
แอปหรือโมดูล
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.6.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.6.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 ให้ดียิ่งขึ้น โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมี ไอเดียในการปรับปรุงไลบรารีนี้ โปรดดูปัญหาที่มีอยู่ ในไลบรารีนี้ก่อนสร้างปัญหาใหม่ คุณสามารถโหวตปัญหาที่มีอยู่ได้โดย คลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 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 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- ไลบรารีใหม่ ไลบรารีนี้แนะนำ Composable ของช่องมองภาพแบบเนทีฟของ Compose ซึ่งใช้ได้กับ CameraX และ Camera2 Viewfinder ที่ประกอบได้รองรับสัดส่วนภาพที่แตกต่างกันและการจัดการเหตุการณ์การแตะ
ช่องมองภาพของกล้อง เวอร์ชัน 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
- เปลี่ยนชื่อ
ViewfinderImplementationModeEnums เพื่อให้สอดคล้องกับการใช้งานพื้นฐานมากขึ้น และเพิ่มค่าคงที่ที่แก้ไขแล้วสำหรับTransformationInfo.sourceRotation(Ic6149) - เพิ่ม
ZoomGestureDetector.ZoomEventเพื่อห่อหุ้มสถานะของท่าทางการซูม (I84cdf)
กล้องเวอร์ชัน 1.6
เวอร์ชัน 1.6.0-alpha01
22 ตุลาคม 2025
androidx.camera:camera-*:1.6.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.6.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- CameraX ได้ย้ายข้อมูลไปยังสแต็กกล้องที่มีประสิทธิภาพสูงและเป็นหนึ่งเดียว ซึ่งแอปกล้องของ Pixel ก็ใช้สแต็กนี้เช่นกัน สแต็กใหม่นี้เรียกว่า
CameraPipeซึ่งเป็นการทำงานร่วมกันระหว่างทีม CameraX และทีมกล้องของ Pixel ซึ่งจะช่วยให้มั่นใจได้ว่าการปรับปรุงทั้งหมดจะได้รับการแชร์ ซึ่งจะเป็นประโยชน์ต่อทั้งผู้ใช้ CameraX และแอปกล้อง Pixel
การเปลี่ยนแปลง API
- เพิ่ม API ใหม่สำหรับการตรวจจับการเพิ่ม/นำกล้องออกแบบไดนามิก ดูรายละเอียดเพิ่มเติมได้ที่
CameraPresenceListenerAPI (I41ead, b/427182232, b/419441394)
การแก้ไขข้อบกพร่อง
- ตอนนี้ Feature Group API จะให้ผลลัพธ์ที่สอดคล้องกันเมื่อใช้
PREVIEW_STABILIZATIONกับVideoCaptureการแก้ไขนี้จะช่วยแก้ข้อบกพร่องที่ทำให้เกิดผลลัพธ์ที่ไม่สอดคล้องกันเมื่อไม่ได้เปิดใช้งานกรณีการใช้งานPreviewด้วย (Ifed82, b/449913903) - แก้ไขปัญหาที่ระบบแสดงฟีเจอร์ที่ต้องการซึ่งไม่รองรับอย่างไม่ถูกต้อง ตอนนี้ระบบจะกรองฟีเจอร์อย่างถูกต้องเมื่อไม่ตรงตามกรณีการใช้งานที่จำเป็น (I38db8, b/449532342)
- แก้ไขข้อบกพร่องของผลการค้นหาวิดีโอบน Samsung Galaxy S6 (I612d9, b/235127608)
- แก้ไขปัญหาที่
CameraInfo#isFeatureGroupSupportedอาจแสดงผลเป็น "จริง" สำหรับPREVIEW_STABILIZATIONอย่างไม่ถูกต้อง หากมีการกำหนดค่าSessionConfigในการค้นหาด้วยฟีเจอร์อื่นๆ อยู่แล้ว (I2c355c, b/437816469)
กล้องเวอร์ชัน 1.5
รุ่น 1.5.1
8 ตุลาคม 2025
androidx.camera:camera-*:1.5.1 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.1 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- รองรับ
CameraEffectในโหมดการจัดองค์ประกอบกล้องพร้อมกัน ระบบจะใช้เอฟเฟกต์กับเอาต์พุตการจัดองค์ประกอบ โปรดทราบว่าระบบจะไม่สนใจmirrorModeในVideoCaptureเมื่อตั้งค่าเอฟเฟกต์ในโหมดการจัดองค์ประกอบกล้องพร้อมกัน (If3d00, b/425565129) - แก้ไขปัญหาที่
mirrorModeไม่ได้ใช้กับกล้องรองอย่างถูกต้องในโหมดการจัดองค์ประกอบกล้องพร้อมกัน (I686cd, b/446430827) - รองรับการเชื่อมโยง
Preview,ImageCaptureและVideoCaptureเข้าด้วยกันในโหมดกล้องแบบไม่คอมโพสพร้อมกัน (Ib410a, b/443009871) - แก้ไขปัญหาที่ UseCases เช่น
ImageCaptureและVideoCaptureจะสูญเสียข้อมูลการหมุนเป้าหมายหากมีการสร้างใหม่ ซึ่งอาจทำให้รูปภาพหรือวิดีโอมีการวางแนวไม่ถูกต้องหากมีการเปลี่ยนการตั้งค่า เช่นimageCaptureModeหลังจากหมุนอุปกรณ์แล้ว (I477c8, b/444734537) - แก้ไขปัญหาที่ทำให้ Preview เลือกความละเอียด 16:9 ไม่ได้และ
VideoCaptureบันทึกที่ QUALITY_1080P ไม่ได้ ปัญหานี้เกิดขึ้นเมื่อใช้การกำหนดค่าความละเอียดของตัวอย่างเริ่มต้นขณะที่ฟีเจอร์StreamSharingภายในทำงานอยู่ (เช่น เมื่อผูก UseCase 4 รายการพร้อมกัน) (I493cb, b/440364875) - แก้ไขปัญหาแอปขัดข้องเมื่อเปิดใช้งานเอฟเฟกต์หลังจากปิด
SurfaceProcessor(I2c450, b/414150174) - แก้ไขข้อบกพร่องใน
CameraControllerที่ทำให้เกิดIllegalStateExceptionเมื่อ UseCase เริ่มต้นเลือกความละเอียดสูงสุด ซึ่งทำให้ UseCase อื่นๆ ไม่สามารถเชื่อมโยงได้ (Ifb758, b/440374234) - ไม่รวมขนาดเอาต์พุต YUV_420_888 ที่มีปัญหาสำหรับ Nokia 7 Plus ซึ่งจะทำให้เกิดปัญหาการทำงานล้มเหลวแบบเงียบโดยไม่มีการรายงานข้อความแสดงข้อผิดพลาด (I3af47, b/436524501)
- แก้ไขปัญหาที่
CameraInfo#isFeatureGroupSupportedอาจแสดงผลเป็นจริงอย่างไม่ถูกต้องสำหรับฟีเจอร์PREVIEW_STABILIZATIONบางครั้งปัญหานี้อาจเกิดขึ้นเมื่อค้นหาด้วยSessionConfigที่กำหนดค่าด้วยฟีเจอร์อื่นๆ อยู่แล้ว (I2c355, b/437816469) - ปรับปรุงความเสถียรของ
CameraXViewfinderในระดับ API เก่าและอุปกรณ์ที่มีปัญหาSurfaceViewโดยค่าเริ่มต้นเป็นTextureViewในสถานการณ์ดังกล่าว กลไกการทำงานสำรองนี้เป็นค่าเริ่มต้นใหม่ แต่สามารถลบล้างได้โดยใช้โปรแกรม (Ieb476, b/437496463) - แก้ไขปัญหาหน่วยความจำรั่วใน
PreviewViewซึ่งอาจทำให้ระบบไม่สามารถรวบรวมขยะในกิจกรรมได้ กรณีนี้จะเกิดขึ้นหากมีSurfaceRequestใหม่มาถึงก่อนที่จะจัดการSurfaceRequestก่อนหน้า (I4aa0b,b/443112512) - แก้ไขการบันทึกสโลว์โมชัน/ความเร็วสูงไม่สำเร็จใน Huawei P smart, Infinix Hot 40i และ Realme C53 (40a668e, b/442984200)
เวอร์ชัน 1.5.0
10 กันยายน 2025
androidx.camera:camera-*:1.5.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.4.0:
- การบันทึกความเร็วสูงและสโลว์โมชัน: ผสานรวมการบันทึกวิดีโอความเร็วสูง (120/240 FPS) และสโลว์โมชันได้อย่างง่ายดายด้วยโค้ดเพียงเล็กน้อย ดูรายละเอียดได้ที่
Recorder#getHighSpeedVideoCapabilities(CameraInfo)และHighSpeedVideoSessionConfig SessionConfigและFeatureGroupAPI:SessionConfigAPI ใหม่ช่วยให้คุณกำหนดค่าเซสชันกล้องและเปิดใช้ฟีเจอร์หลายอย่างพร้อมกันได้อย่างปลอดภัย ซึ่งรวมถึง HLG (HDR), UltraHDR, 60 FPS และการป้องกันภาพสั่นสำหรับตัวอย่าง นอกจากนี้ คุณยังตั้งค่ากลุ่มฟีเจอร์ที่ต้องการพร้อมลำดับความสำคัญได้ด้วย ซึ่งจะช่วยให้ CameraX กำหนดชุดค่าผสมที่รองรับที่เหมาะสมที่สุดได้ ดูข้อมูลเพิ่มเติมได้ที่SessionConfig.Builder#setPreferredFeatureGroup,SessionConfig.Builder#setRequiredFeatureGroupและCameraInfo#isFeatureGroupSupported(SessionConfig)- Deterministic Frame Rate API: แก้ไขข้อจำกัดก่อนหน้าด้วย
setTargetFrameRateโดยใช้CameraInfo.getSupportedFrameRateRanges(sessionConfig)เพื่อค้นหาและSessionConfig.setExpectedFrameRateRangeเพื่อตั้งค่าอัตราเฟรมที่แม่นยำและรองรับ - ส่วนขยายกล้อง: ตอนนี้ส่วนขยายรองรับรูปแบบ UltraHDR แล้ว ตรวจสอบ
ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats()และเปิดใช้ในImageCapture.Builder.setOutputFormatตอนนี้เมื่อเปิดใช้ส่วนขยาย ระบบจะแสดงความสามารถในการซูมและแสดงตัวอย่างแบบกันสั่นแล้ว - ความแรงของไฟฉาย: ปรับความแรงของไฟฉายโดยใช้
CameraControl.setTorchStrengthLevel - โหมดเพิ่มแสงในสภาวะแสงน้อย: คุณเปิดใช้โหมดเพิ่มแสงในสภาวะแสงน้อย(
CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) ได้โดยใช้ API ต่อไปนี้ โปรดดูCameraInfo#isLowLightBoostSupported,CameraInfo#getLowLightBoostStateและCameraControl#enableLowLightBoostAsync - การจับภาพวิดีโอ: ตอนนี้ระบบจะทริกเกอร์
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEเมื่อพื้นที่เก็บข้อมูลไม่เพียงพอในระหว่างการบันทึกPendingRecording.withAudioEnabled(boolean initialMuted)อนุญาตให้ควบคุมสถานะปิดเสียงเริ่มต้นสำหรับการบันทึกเสียง - การจับภาพ: รองรับรูปแบบ DNG (RAW) และ JPEG + DNG (RAW) ใน
ImageCaptureโปรดดูว่าImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats()รองรับ RAW หรือไม่ ใช้takePictureAPI ที่โอเวอร์โหลดกับOutputFileOptionsหลายรายการสำหรับการจับภาพ RAW+DNG - การวิเคราะห์รูปภาพ: รองรับรูปแบบ NV21 ใน
ImageAnalysisเปิดใช้ด้วยImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21)
เวอร์ชัน 1.5.0-rc01
13 สิงหาคม 2025
androidx.camera:camera-*:1.5.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-rc01 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- ย้าย minSdk เริ่มต้นจาก API 21 ไปยัง API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
- นำข้อจำกัดเอาต์พุต 10 บิตสำหรับโหมดการรับแสงอัตโนมัติที่มีการเพิ่มประสิทธิภาพแสงน้อยออกแล้ว ตอนนี้แอปพลิเคชันสามารถเปิดใช้ทั้ง 2 ฟีเจอร์พร้อมกันในอุปกรณ์ที่รองรับได้แล้ว (I5a638)
- แก้ไขปัญหาที่ทำให้อุปกรณ์ที่มีชิปเซ็ต
UniSocค้างเมื่อถ่ายภาพ ปัญหานี้เกิดขึ้นเมื่อใช้VideoCapture,PreviewและImageCaptureพร้อมกันโดยตั้งค่าสตรีมทั้งหมดเป็นความละเอียด 1280x720 (Ia00c4, b/380802479) - แก้ไขปัญหาหน้าจอสีดำในตัวอย่างเมื่อไม่ได้ตั้งค่าอัตราเฟรมความเร็วสูงสำหรับการบันทึกความเร็วสูง/สโลว์โมชัน (cdf0ff2e9)
- ปรับปรุงการจัดการข้อผิดพลาดและการบันทึกใน
getViewportAspectRatioInt(82fca18)
เวอร์ชัน 1.5.0-beta02
16 กรกฎาคม 2025
androidx.camera:camera-*:1.5.0-beta02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta02 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API ใหม่เพื่อตั้งค่าหรือค้นหากลุ่มฟีเจอร์คุณภาพสูงได้อย่างเป็นธรรมชาติและแม่นยำมากขึ้น เนื่องจากอุปกรณ์บางรุ่นอาจไม่รองรับฟีเจอร์เหล่านี้ในรูปแบบชุดค่าผสม ตอนนี้
SessionConfigมี API ใหม่เพื่อระบุกลุ่มฟีเจอร์เป็น "ต้องระบุ" หรือ "แนะนำ"CameraInfo.isFeatureGroupSupportedAPI ช่วยให้ทราบว่าระบบรองรับกลุ่มฟีเจอร์หรือไม่ก่อนที่จะเชื่อมโยงSessionConfigSessionConfigยังช่วยให้ตั้งค่า Listener เพื่อทราบว่าฟีเจอร์ใดที่เลือกในที่สุดเมื่อผูกการกำหนดค่าเซสชันแล้ว (Ie4d60) - เพิ่ม API ใหม่
SessoinConfig.Builder.setFrameRateRange(Range<Integer>)และCameraInfo.getSupportedFrameRateRanges(SessionConfig)ซึ่งช่วยให้นักพัฒนาแอปค้นหาอัตราเฟรมที่รองรับที่รับประกันซึ่งจำกัดโดยSessionConfigที่เฉพาะเจาะจง แล้วจึงใช้อัตราเฟรมกับSessionConfig(Ieacf7) - เปิดตัว
SessionConfigAPI ใหม่ ซึ่งมีการแยกส่วนที่ดีขึ้นสำหรับการกำหนดค่า Use Case, พารามิเตอร์เซสชัน,CameraEffect,ViewPortและอื่นๆ การเชื่อมโยงSessionConfigกับ LifecycleOwner จะเปิดเซสชันกล้อง กำหนดค่าโดยใช้ Use Case และพารามิเตอร์เซสชันที่ระบุ และใช้CameraEffectและViewPortที่กำหนด เมื่ออัปเดตSessionConfigใหม่เป็นLifecycleOwnerเดียวกัน คุณก็เพียงแค่เชื่อมโยงSessionconfigใหม่โดยไม่ต้องเรียกใช้การเลิกเชื่อมโยงหรือunbindAllก่อน (Iedfc3) - เพิ่ม API ใหม่เพื่อบันทึกวิดีโอความเร็วสูง/สโลว์โมชัน ดูรายละเอียดเพิ่มเติมได้ที่
HighSpeedVideoSessionConfigAPI (Ia16f3)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่
ImageCaptureCapabilities#getSupportedOutputFormats()API รายงานรูปแบบ RAW ว่ารองรับในอุปกรณ์บางรุ่นซึ่งไม่มีความสามารถ RAW จริงๆ (Ibcadb) - แก้ไขปัญหาหน่วยความจำรั่วที่เกิดขึ้นเมื่อใช้
PreviewViewเปิดใช้CameraEffectหรือเชื่อมโยง 4 กรณีการใช้งาน(StreamSharing) (I87468) - แก้ไขข้อขัดข้องในการบันทึกวิดีโอโดย
AssertionError: สถานะเสียงภายในไม่ถูกต้อง: IDLING (I38d4b, b/414259796) - แก้ไขปัญหาเมื่อแอปทำงานในจอแสดงผลภายนอกและอุปกรณ์อยู่ในแนวนอน ตัวอย่างใน
PreviewViewจะยืดออกหรือเอียงข้าง (Ia917a) - แก้ไขปัญหาที่ระบบใช้การตั้งค่าการแสดงตัวอย่างการป้องกันภาพสั่นไม่ถูกต้องเมื่อแชร์สตรีมจากกล้องระหว่างการแสดงตัวอย่างกับ VideoCapture(I5430e)
CameraXViewfinderตอนนี้จัดการการแทนที่พื้นผิวในViewfinderที่อยู่เบื้องหลังได้อย่างถูกต้องแล้ว ซึ่งครอบคลุมสถานการณ์ต่างๆ เช่น เมื่อEXTERNALช่องมองภาพใน API ระดับ 28 หรือต่ำกว่าเลื่อนออกจากหน้าจอ หรือหากCameraXViewfinder(มีImplementationModeใดก็ได้) เป็นส่วนหนึ่งของmoveableContentOf()ในกรณีที่ViewfinderSurfaceSessionพื้นฐานไม่สามารถใช้งานได้CameraXViewfinderจะทำให้SurfaceRequestCameraX ปัจจุบันใช้งานไม่ได้ เพื่อให้ CameraX ใช้Surfaceใหม่ได้ (I79432)- แก้ไขปัญหาใน Android 10/11 ที่
EXTERNALCameraXViewfinderอาจดูยืดออกหรือผิดเพี้ยนเนื่องจากมีการดำเนินการเปลี่ยนรูปแบบ (เช่น การปรับขนาดหรือการแปล) เร็วเกินไป ตอนนี้ระบบจะรอให้สร้าง Surface ก่อนที่จะใช้การเปลี่ยนรูปแบบเหล่านี้ในระยะเลย์เอาต์ เพื่อให้มั่นใจว่าเอาต์พุตถูกต้อง (Icc77c) - ตอนนี้ Composable
CameraXViewfinderทำงานร่วมกับPagerของ Compose ได้อย่างถูกต้องแล้ว การเปลี่ยนแปลงนี้ช่วยให้มั่นใจได้ว่าสามารถรีเซ็ต Composable ได้สำเร็จโดยการใช้onResetการเรียกกลับของAndroidViewซึ่งรองรับการใช้งานทั้งEMBEDDEDและEXTERNAL(I0d9be) - แก้ไขการรั่วไหลของเจ้าของวงจรที่เกิดขึ้นเมื่อยกเลิกการเชื่อมโยง Use Case จากเจ้าของวงจรโดยไม่ปิดผู้ให้บริการกล้อง
เวอร์ชัน 1.5.0-beta01
7 พฤษภาคม 2025
androidx.camera:camera-*:1.5.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta01 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- โปรเจ็กต์ที่เผยแพร่ด้วย Kotlin 2.0 ต้องใช้ KGP 2.0.0 ขึ้นไป (Idb6b5)
- ตอนนี้คุณสามารถใช้
ContentScaleและการจัดแนวในช่องมองภาพเพื่อปรับขนาดและวางพื้นผิวที่แสดงภายในคอนเทนเนอร์ได้แล้ว ซึ่งคล้ายกับลักษณะการทำงานของandroidx.compose.foundation.Image(Ibcea3) TransformationInfoมีค่าเริ่มต้นสำหรับอาร์กิวเมนต์ทั้งหมดแล้ว ซึ่งจะช่วยให้สร้าง Viewfinder ได้โดยไม่มีTransformationInfoซึ่งจะตั้งค่าเริ่มต้นเป็นการหมุนแหล่งที่มาเป็น 0 ไม่มีการมิเรอร์แหล่งที่มา และไม่มีสี่เหลี่ยมผืนผ้าครอบตัด (I2b1b2)- เพิ่ม
LifecycleCameraProviderซึ่งเป็นผู้ให้บริการกล้องที่สามารถสร้างอินสแตนซ์ด้วยการกำหนดค่าต่างๆ สำหรับฟีเจอร์ เช่น การเข้าถึงกล้องของอุปกรณ์เสมือนโดยการกำหนดค่าด้วยบริบทที่กำหนดเอง (Ia2992)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาการแสดงตัวอย่างค้างเมื่อใช้
ImageAnalysisกับสตรีมอื่นที่ใช้TEMPLATE_RECORDในอุปกรณ์ Samsung SM-E556B (Ic0e62, b/409478042) - แก้ไขปัญหาการแสดงตัวอย่างค้างเมื่อใช้
ImageAnalysisกับสตรีมอื่นที่ใช้TEMPLATE_RECORDในอุปกรณ์ Samsung SM-M556B (Ic1a6a, b/395822788) - แก้ไขปัญหาโหมดกลางคืนของส่วนขยาย
AssertErrorในอุปกรณ์ Pixel ที่ใช้ Android 15 เมื่อดำเนินการที่เกี่ยวข้องกับการซูม (I27a5d, b/401460276) - แก้ไขปัญหาพิกัดกรอบล้อมรอบที่ไม่ถูกต้องของ ML Kit Analyzer เมื่อใช้
CameraController(Iae91b, b/409808510)
เวอร์ชัน 1.5.0-alpha06
26 กุมภาพันธ์ 2025
androidx.camera:camera-*:1.5.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha06 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
CameraInfo.getTorchStrengthLevel,CameraInfo.getMaxTorchStrengthLevelและCameraControl.setTorchStrengthLevelเพื่อให้ปรับความสว่างของไฟฉายได้ (I00878) - เราได้เพิ่ม API ใหม่
CameraController#setTapToFocusAutoCancelDurationเพื่อให้ผู้ใช้ควบคุมลักษณะการทำงานของการยกเลิกอัตโนมัติสำหรับกิจกรรมที่PreviewViewแตะเพื่อโฟกัสได้ โดยค่าเริ่มต้น CameraX จะยกเลิกเหตุการณ์โฟกัสหลังจากผ่านไป 5 วินาที (เช่น รีเซ็ตโฟกัสของกล้อง) และ API นี้จะช่วยให้คุณแก้ไขระยะเวลาดังกล่าวหรือปิดใช้การยกเลิกอัตโนมัติทั้งหมดได้ (Icf59a) FLASH_STATE_READYเปลี่ยนชื่อเป็นNOT_FIREDและเราได้ลดความซับซ้อนของชื่อค่าคงที่FlashStateอื่นๆ เพื่อให้อ่านง่ายขึ้น (I8771d)- เปิดตัว Low Light Boost API อุปกรณ์ที่ใช้ Android 15 ขึ้นไปจะรองรับการเพิ่มประสิทธิภาพในที่แสงน้อย ฟีเจอร์นี้จะปรับความสว่างของสตรีมตัวอย่าง วิดีโอ หรือการวิเคราะห์รูปภาพโดยอัตโนมัติในสภาพแสงน้อย แอปพลิเคชันสามารถใช้ API ใหม่เพื่อทำสิ่งต่อไปนี้ 1. ใช้
CameraInfo#isLowLightBoostSupportedเพื่อตรวจสอบความพร้อมใช้งานของฟีเจอร์ 2. ใช้CameraControl#enableLowLightBoostAsyncเพื่อเปิดใช้โหมดเมื่ออุปกรณ์รองรับ 3. ใช้CameraInfo#getLowLightBoostStateเพื่อตรวจสอบสถานะการเพิ่มประสิทธิภาพในที่แสงน้อย (I937ed) - เพิ่มคลาสที่เข้ากันได้เพื่อให้ค้นหาที่ไม่ใช่ camera2 ได้เร็วขึ้นใน camera-feature-combination-query (Ie97ee)
- สำหรับ
CameraControllerเหตุการณ์แตะเพื่อโฟกัสgetTapToFocusInfoState()API ใหม่จะแสดงตำแหน่งการแตะที่เกี่ยวข้องด้วยโดยการส่งคืนLiveDataของคลาสTapToFocusInfoขณะที่ APILiveData<Integer>ก่อนหน้าซึ่งส่งคืนgetTapToFocusState()จะเลิกใช้งานเพื่อรองรับ API ใหม่ (I238d2)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ระบบไม่ใช้การป้องกันภาพสั่นไหวในการแสดงตัวอย่างเมื่อเปิดใช้การป้องกันภาพสั่นไหวในการแสดงตัวอย่างด้วยส่วนขยาย (I24ad7)
- แก้ไข
CameraControllerเหตุการณ์สถานะโฟกัสที่ไม่รีเซ็ตกลับไปเป็นTAP_TO_FOCUS_NOT_STARTEDเมื่อ CameraX ยกเลิกเหตุการณ์โฟกัสโดยอัตโนมัติซึ่งเกิดขึ้นหลังจาก 5 วินาทีโดยค่าเริ่มต้น (I31954) - แก้ไขการหยุดแสดงตัวอย่างชั่วคราวเมื่อใช้การหน่วงเวลาชัตเตอร์เป็นศูนย์ (ZSL) หลังจากถ่ายภาพหลายครั้งเนื่องจากทรัพยากรรูปภาพที่ยังไม่ได้เผยแพร่ (Ic3c2a)
- แก้ไขปัญหาที่วิดีโอ UHD มีสีแดงในอุปกรณ์บางรุ่นเมื่อไปป์ไลน์เกี่ยวข้องกับ
OpenGL(Idcedc)
เวอร์ชัน 1.5.0-alpha05
15 มกราคม 2025
androidx.camera:camera-*:1.5.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
VideoCapture.getSelectedQuality()เพื่อดูคุณภาพที่เลือกตามQualitySelector(I70508, b/204288986) - เมื่อเรียกใช้การจับภาพด้วย
ImageCapture.OnImageCapturedCallbackAPI ตอนนี้คุณสามารถใช้ ImageInfo ที่ImageProxyที่ส่งคืนเพื่อดูว่ามีการเปิดแฟลชผ่านImageInfo.getFlashState()API ใหม่หรือไม่ (Id2c61, b/380527406) - เพิ่มการรองรับรูปแบบเอาต์พุต
OUTPUT_IMAGE_FORMAT_NV21สำหรับImageAnalysis(I484ab) - นำคำอธิบายประกอบเวอร์ชันทดลองของอาร์ติแฟกต์
featurecombinationquery(I4427f) ออก - ปรับช่วงอัตราส่วนการซูมที่อนุญาตสำหรับ
CameraControlตามลักษณะเฉพาะของส่วนขยายเมื่อเปิดใช้โหมดส่วนขยาย (I85af1)
การแก้ไขข้อบกพร่อง
- อัปเกรดเป็น
compileSdkเป็น 35 สำหรับการใช้ API ที่เกี่ยวข้องกับ Android 15 แอปที่ใช้ไลบรารี CameraX จะต้องอัปเกรดcompileSdkการตั้งค่าการกำหนดค่าด้วย (Ic80cd) - ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง
-Xjspecify-annotations=strict(นี่คือค่าเริ่มต้นที่เริ่มต้นด้วยคอมไพเลอร์ Kotlin เวอร์ชัน 2.1.0) (Idc6c6, b/326456246)
เวอร์ชัน 1.5.0-alpha04
11 ธันวาคม 2024
androidx.camera:camera-*:1.5.0-alpha04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha04 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- เปิดตัว
ImageCapture.Builder#setOutputFormatและImageCaptureCapabilities#getSupportedOutputFormatsเป็น API ที่เสถียร (Ieb04a) - เพิ่ม
VideoCapture.getResolutionInfo()เพื่อรับข้อมูลความละเอียดเมื่อVideoCaptureเชื่อมโยงกับวงจร (Icb478) - เปิดตัว
PreviewView.getScreenFlashและPreviewView.setScreenFlashOverlayColorเป็น API ที่เสถียร (I74fee)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาการจับภาพไม่สำเร็จในอุปกรณ์ Vivo 1610 ขณะถ่ายภาพด้วยแฟลชในที่มืด (I366f4)
- แก้ไขปัญหาไฟฉายปิดโดยไม่คาดคิดหลังจากจับภาพใน Redmi Note 6 Pro (I2e0e8, b/377144569)
- แก้ไขปัญหาในอุปกรณ์ Pixel Android 15 ที่โหมดกลางคืนในส่วนขยายถ่ายภาพนิ่งไม่สำเร็จจนกว่ากล้องจะโฟกัสวัตถุที่อยู่ใกล้เคียง (I228d4)
- แก้ไขปัญหาการทำงานผิดปกติของการจับภาพนิ่งเมื่อเปิดใช้ส่วนขยายและ
VideoCaptureเชื่อมโยงกัน (I5c745) - เปิดใช้การรองรับการจับภาพนิ่ง
UltraHDRสำหรับส่วนขยายหากอุปกรณ์รองรับ (I48300) - แก้ไขปัญหาการจับเวลาแฟลชสำหรับการจับภาพด้วยแฟลชพร้อม
CameraEffectการกำหนดเป้าหมายการจับภาพบนอุปกรณ์ TCL (I7698c)
เวอร์ชัน 1.5.0-alpha03
30 ตุลาคม 2024
androidx.camera:camera-*:1.5.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha03 มีการเปลี่ยนแปลงเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม API รูปแบบเอาต์พุตสำหรับ RAW และ RAW + JPEG
ImageCaptureโดยจะแสดงการตรวจสอบความสามารถของอุปกรณ์ในImageCaptureCapabilities#getSupportedOutputFormatsOUTPUT_FORMAT_RAWใช้เพื่อถ่ายภาพ RAW ซึ่งเป็นรูปแบบ DNG ของ Adobe และOUTPUT_FORMAT_RAW_JPEGใช้เพื่อถ่ายภาพ RAW และ JPEG พร้อมกันImageCapture#takePictureAPI ใหม่ใช้สำหรับการจับภาพพร้อมกัน จึงต้องระบุOutputFileOptions2 รายการ โดยรายการแรกใช้สำหรับรูปภาพ RAW และรายการที่ 2 ใช้สำหรับรูปภาพ JPEG (Ib0f3d)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาการแสดงตัวอย่างและวิดีโอที่สว่างไม่พอในอุปกรณ์ TCL เมื่อเปิดใช้
VideoCapture(Id7a64) - แก้ไขปัญหาที่การเรียกใช้
startFocusMeteringด้วยPreviewView.getMeteringPointFactoryไม่ได้พิกัดเซ็นเซอร์ที่ถูกต้องเมื่อเปิดใช้เอฟเฟกต์หรือเมื่อมีการเชื่อมโยงกรณีการใช้งาน 4 รายการ (การแชร์สตรีม) (I916c5, b/345993685) - แก้ไขปัญหาที่ระบบไม่ทริกเกอร์เหตุการณ์
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEเมื่อบันทึกวิดีโอและมีพื้นที่เก็บข้อมูลไม่เพียงพอ (I35779, b/356399842)
เวอร์ชัน 1.5.0-alpha02
2 ตุลาคม 2024
androidx.camera:camera-*:1.5.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha02 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- API ใหม่สำหรับการค้นหาฟีเจอร์กล้องที่อุปกรณ์รองรับ เช่น ตรวจสอบว่าเปิดใช้ HDR และ 60FPS พร้อมกันได้หรือไม่ ซึ่งประกอบด้วยอาร์ติแฟกต์ 2 รายการ ได้แก่ camera-feature-combination-query และ camera-feature-combination-query-play-services
โดยเป็น API
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupportedของ camera2 เวอร์ชันที่เข้ากันได้พร้อมข้อมูลเพิ่มเติมที่ได้รับจากบริการ Google Play
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาอัตราเฟรมเป้าหมาย
Preview/VideoCaptureในอุปกรณ์ระดับ LEGACY ระบบจะเขียนทับอัตราเฟรมเป้าหมายที่ตั้งค่าผ่าน APIsetTargetFrameRateหรือCamera2Interopเสมอเป็นค่าที่AeFpsRangeLegacyQuirkระบุ การแก้ไขนี้จะทำให้ไลบรารี CameraX ยึดตามค่าที่ตั้งค่าผ่านsetTargetFrameRateหรือCamera2InteropAPI (Ie2d32) - เพิ่มฟังก์ชันการทำงานของแฟลช/ไฟฉาย/3A สำหรับการจับภาพด้วย
CameraEffectรูปภาพที่ถ่ายด้วยCameraEffectควรมีกระบวนการก่อนและหลังการจับภาพเหมือนกัน (เช่น การทริกเกอร์แฟลช การรวม 3A ฯลฯ เมื่อมี) เช่นเดียวกับการจับภาพโดยไม่มีCameraEffect(I5ff30) - ยกเว้นขนาดเอาต์พุตที่มีปัญหาสำหรับ
ImageAnalysisในอุปกรณ์ Samsung SM-A057G เมื่อImageAnalysisใช้ความละเอียดที่มากกว่าหรือเท่ากับ 1920x1440 จะทำให้เกิดปัญหาตัวอย่างสีดำExcludedSupportedSizesQuirkกับอุปกรณ์ SM-A057G เพื่อหลีกเลี่ยงปัญหา (I63dfe, b/365877975) - แก้ไข
Preview/VideoCaptureปัญหาอัตราเฟรมเป้าหมายเมื่อเปิดใช้กลไกการแชร์สตรีมภายในเพื่อแชร์สตรีมไปยังPreviewและVideoCapture(I4fdac) - เปิดใช้การแก้ปัญหาชั่วคราวเพื่อแก้ไขปัญหาข้อมูลเมตาของรูปภาพ JPEG ที่ไม่ถูกต้องในอุปกรณ์ Samsung S10e และ S10+ การแก้ไขนี้ช่วยให้ CameraX บันทึกรูปภาพ JPEG ได้สำเร็จ หรือแสดงผลออบเจ็กต์ Bitmap ที่ถูกต้องเมื่อเรียกใช้ฟังก์ชัน
ImageProxy.toBitmap()ในอุปกรณ์เหล่านี้หากเกิดปัญหาข้อมูลเมตาของรูปภาพ JPEG ที่ไม่ถูกต้อง (Iae493, b/356428987) - ปิดใช้ส่วนขยายสำหรับกล้องหลังของ Samsung A52s ที่มีรหัสเป็น 0 เนื่องจากอาจเกิดข้อขัดข้องดั้งเดิมเมื่อถ่ายภาพ HDR และการกำหนดค่าเซสชันการจับภาพอาจล้มเหลวสำหรับโหมด BOKEH หรือ FACE_RETOUCH (I03ec9, b/364152642)
- แก้ไขปัญหาที่ระบบไม่ทริกเกอร์เหตุการณ์
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEเมื่อบันทึกวิดีโอและมีพื้นที่เก็บข้อมูลไม่เพียงพอ (Ia5b4f, b/356399842) - แก้ปัญหาที่ความพยายามในการบันทึกวิดีโอครั้งที่ 2 ไม่สำเร็จใน Oppo A5 (CPH1931) (I181d6)
เวอร์ชัน 1.5.0-alpha01
4 กันยายน 2024
androidx.camera:camera-*:1.5.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-alpha01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เราได้เปิดตัวอาร์ติแฟกต์ใหม่
camera-composeสำหรับ CameraX Viewfinder Compose Adapter ซึ่งจะแสดงสตรีมตัวอย่างจาก CameraXSurfaceRequestจากcamera-core(I8666e) - เพิ่ม Composable ใหม่
CameraXViewfinderซึ่งทำหน้าที่เป็น Composable ที่เป็นสำนวนซึ่งปรับSurfaceRequestของ CameraX ให้เหมาะกับ ComposableViewfinder(I4770f)
การเปลี่ยนแปลง API
- จัดเตรียม API เพื่อตั้งค่าการจัดองค์ประกอบสำหรับการจับภาพวิดีโอจากกล้อง 2 ตัวพร้อมกัน การตั้งค่าประกอบด้วยค่าอัลฟ่าสำหรับการผสม การชดเชยในพิกัด 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.2
26 มีนาคม 2025
androidx.camera:camera-*:1.4.2 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.2 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาการหยุดแสดงตัวอย่างชั่วคราวเมื่อใช้
ImageAnalysisกับสตรีมอื่นที่ใช้TEMPLATE_RECORDใน Samsung Galaxy M55 (Ic1a6a, b/395822788)
เวอร์ชัน 1.4.1
11 ธันวาคม 2024
androidx.camera:camera-*:1.4.1 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.1 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาในอุปกรณ์ Pixel Android 15 ที่โหมดกลางคืนในส่วนขยายถ่ายภาพนิ่งไม่สำเร็จจนกว่ากล้องจะโฟกัสวัตถุที่อยู่ใกล้เคียง (I228d4)
- แก้ไขปัญหา
ImageCapture#takePictureทำงานผิดปกติเมื่อเปิดใช้ส่วนขยายและVideoCaptureเชื่อมโยงกัน (I5c745)
เวอร์ชัน 1.4.0
30 ตุลาคม 2024
androidx.camera:camera-*:1.4.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงสำคัญตั้งแต่เวอร์ชัน 1.3.0
CameraX 1.4.0 มาพร้อมการอัปเดตที่น่าตื่นเต้นมากมาย นี่คือข้อมูลสรุป:
ฟีเจอร์เด่น: HDR 10 บิต:
- ถ่ายภาพและวิดีโอ HDR ที่น่าทึ่งได้อย่างง่ายดาย
- รองรับการเข้ารหัส HLG และ HEVC 10 บิต
- เพลิดเพลินกับการแสดงตัวอย่าง HDR 10 บิตและดูความสามารถของอุปกรณ์
- ใช้ได้กับ
UltraHDRรูปภาพและวิดีโอ HDR ในอุปกรณ์ที่เพิ่มขึ้นเรื่อยๆ
ฟีเจอร์เจ๋งๆ อื่นๆ
- ส่วนขยาย Kotlin: เพิ่มฟังก์ชันระงับ
takePictureและawaitInstance - เอฟเฟกต์แบบเรียลไทม์: ใช้เอฟเฟกต์ต่างๆ เช่น ลายน้ำและการไฮไลต์ออบเจ็กต์
- CameraController API: การควบคุมใหม่สำหรับการกำหนดค่าวิดีโอ
- การป้องกันภาพสั่นไหวเวอร์ชันตัวอย่าง: สอบถามความสามารถของอุปกรณ์และเปิดใช้การป้องกันภาพสั่นไหว
- การปรับปรุง VideoCapture: ควบคุมคุณภาพได้ละเอียดยิ่งขึ้นและเข้าถึงความละเอียดที่สูงขึ้น
- การผสานรวมส่วนขยาย CameraX: ผสานรวมกับฟีเจอร์
VideoCaptureและฟีเจอร์ใหม่ของImageCaptureได้อย่างราบรื่น - API เสียงชัตเตอร์: ตรวจสอบข้อกำหนดด้านเสียงชัตเตอร์ในภูมิภาคต่างๆ ได้อย่างง่ายดาย
- แฟลชหน้าจอ: ปรับปรุงรูปภาพในสภาวะแสงน้อยสำหรับกล้องหน้า
- Camera Extensions Metadata APIs: API ที่รองรับการปรับความแรงของส่วนขยายและรับการแจ้งเตือนเกี่ยวกับโหมดส่วนขยายปัจจุบันใน
ExtensionMode#AUTOดูการแก้ไขข้อบกพร่องเพิ่มเติมได้ในประกาศเบต้าและRC
เวอร์ชัน 1.4.0-rc04
16 ตุลาคม 2024
androidx.camera:camera-*:1.4.0-rc04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-rc04 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่การเรียกใช้
startFocusMeteringด้วยPreviewView.getMeteringPointFactoryไม่ได้พิกัดเซ็นเซอร์ที่ถูกต้องเมื่อเปิดใช้เอฟเฟกต์หรือเมื่อมีการเชื่อมโยงกรณีการใช้งาน 4 รายการ (การแชร์สตรีม) (I916c5, b/345993685)
เวอร์ชัน 1.4.0-rc03
2 ตุลาคม 2024
androidx.camera:camera-*:1.4.0-rc03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-rc03 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- เพิ่มฟังก์ชันการทำงานของแฟลช/ไฟฉาย/3A สำหรับการจับภาพด้วย
CameraEffectรูปภาพที่ถ่ายด้วยCameraEffectควรมีกระบวนการก่อนและหลังการจับภาพเหมือนกัน (เช่น การทริกเกอร์แฟลช การรวม 3A ฯลฯ เมื่อมี) เช่นเดียวกับการจับภาพโดยไม่มีCameraEffect(I5ff30) - เพิ่มประสิทธิภาพความลื่นไหลของการบีบเพื่อซูมใน
PreviewView(I04ffc) - แยก Ultra HDR ออกจากความสามารถในการแสดงผล 10 บิต เนื่องจากการรองรับ Ultra HDR ไม่จำเป็นต้องให้อุปกรณ์มีความสามารถในการแสดงผล 10 บิตอีกต่อไป (I96ff2, I0c3b3)
เวอร์ชัน 1.4.0-rc02
18 กันยายน 2024
androidx.camera:camera-*:1.4.0-rc02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-rc02 มีการเปลี่ยนแปลงเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อเรียกใช้
bindToLifecycleด้วยLifecycleOwnerที่ถูกทำลาย (I6e6d8) - เพิ่มภาพเคลื่อนไหวการมองเห็นใน
ScreenFlashViewสำหรับScreenFlash#applyซึ่งยังแก้ไขข้อบกพร่องเนื่องจากการเปลี่ยนแปลงความสว่างที่เสร็จสมบูรณ์แบบอะซิงโครนัสหลังจากผ่านไปสักระยะเวลาหนึ่งด้วย (I37cdb) - ปรับปรุงความราบรื่นของการซูมด้วยการลบล้างการตั้งค่าการซูมในเฟรมเวิร์กบนอุปกรณ์ที่รองรับ
เวอร์ชัน 1.4.0-rc01
7 สิงหาคม 2024
androidx.camera:camera-*:1.4.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-rc01 มีการเปลี่ยนแปลงเหล่านี้
ฟีเจอร์ใหม่
- เพิ่ม
CameraInfo.getCameraInfoเวอร์ชันทดลองเพื่อให้ข้อมูลกล้องที่เฉพาะเจาะจงโดยไม่ต้องผูกกรณีการใช้งานกับกล้อง (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สำหรับกรณีการใช้งานตัวอย่างเช่นเดียวกับVideoCaptureโดยจะรองรับโหมดมิเรอร์เปิดและปิดสำหรับสตรีมตัวอย่างผ่านOutputConfiguration.setMirrorModeจาก API 33 ขึ้นไป ส่วน API รุ่นเก่าจะไม่รองรับ (I821f4)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่แอปถ่ายภาพบน Samsung Tab A8 ไม่สำเร็จเมื่อ
ImageCaptureเลือก 1920x1080 ในส่วนPreview+VideoCapture+ImageCaptureUseCase(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.takePictureSuspend Function เพื่อให้เรียกใช้ในลักษณะของ Kotlin ได้ (I920be)
การเปลี่ยนแปลง API
- เพิ่ม API รูปแบบเอาต์พุตไปยัง
ImageCaptureและเพิ่มเมธอดgetSupportedOutputFormatsไปยังImageCaptureCapabilitiesเพื่อค้นหาความสามารถของอุปกรณ์ ค่ารูปแบบเอาต์พุตเริ่มต้นคือOUTPUT_FORMAT_JPEGซึ่งจะบันทึกภาพ SDR ในรูปแบบ JPEG เมื่ออุปกรณ์รองรับ Ultra HDR และตั้งค่ารูปแบบเอาต์พุตเป็นOUTPUT_FORMAT_JPEG_ULTRA_HDRCameraX จะบันทึกรูปภาพที่บีบอัด Ultra HDR โดยใช้รูปแบบรูปภาพ JPEG/R รูปแบบนี้เข้ากันได้แบบย้อนหลังกับรูปแบบ JPEG ของ SDR และรองรับการแสดงผล HDR ของเนื้อหา ซึ่งหมายความว่าในแอปหรืออุปกรณ์รุ่นเก่า รูปภาพจะปรากฏเป็น JPEG ปกติอย่างราบรื่น ส่วนในแอปและอุปกรณ์ที่ได้รับการอัปเดตให้รองรับรูปแบบนี้อย่างเต็มที่ รูปภาพจะปรากฏเป็น HDR (I5de50) - เพิ่ม
PhysicalCameraInfoในCameraInfoเพื่อค้นหาข้อมูลกล้องจริง และเพิ่มตัวตั้งค่า/ตัวรับรหัสกล้องจริงในCameraSelector(Ic5b90) - แทนที่
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCEDด้วยImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCEDค่าของค่าคงที่จะยังคงเหมือนเดิม ซึ่งใช้เพื่อรวมค่าคงที่ทั้งหมดไว้ในที่เดียว (I890bb) RetryPolicyAPI ใหม่ช่วยให้นักพัฒนาแอปปรับแต่งลักษณะการทำงานของการลองใหม่สำหรับการเริ่มต้น 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หนึ่งไปยังอีกUseCaseหนึ่งได้ เช่น การแปลงพิกัดของออบเจ็กต์ที่ตรวจพบในImageAnalysisเป็นภาพซ้อนทับPreviewView(I947ab) - ทำให้
camera-viewfinder-coreAPI ทั่วไปมากขึ้นเพื่อให้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ที่ตรงกันกับImageAnalysisUseCaseจะช่วยแก้ปัญหานี้ได้ (I81f72, b/330091012) - แก้ไขปัญหาที่คำขอ
takePictureที่อยู่ในคิวอาจทำงานไม่สำเร็จหากคำขอปัจจุบันล้มเหลว (Ie0801) - ตรวจสอบข้อมูล JPEG ที่ไม่ถูกต้องในอุปกรณ์ Vivo X60 และ X60 Pro ซึ่งจะช่วยแก้ไขปัญหาภาพที่มีขนาดใหญ่ผิดปกติในอุปกรณ์เหล่านี้ได้ (I82247, b/288828159)
- แก้ไขปัญหาข้อมูลเมตาของรูปภาพ JPEG ที่ไม่ถูกต้องในอุปกรณ์ Samsung A24 การแก้ไขนี้ช่วยให้ CameraX บันทึกรูปภาพ JPEG ได้สำเร็จ หรือแสดงผลออบเจ็กต์ Bitmap ที่ถูกต้องเมื่อเรียกใช้ฟังก์ชัน
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 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- อาร์ติแฟกต์ใหม่: camera-effects: ไลบรารีสำหรับใช้เอฟเฟกต์แบบเรียลไทม์กับเอาต์พุต CameraX ซึ่งรวมถึง
Preview,VideoCaptureและ/หรือImageCaptureอาร์ติแฟกต์นี้มีการติดตั้งใช้งาน OpenGL ของCameraEffectAPI ที่จัดการเอาต์พุตของกล้องได้อย่างมีประสิทธิภาพ OverlayEffect: สำหรับการวาดภาพซ้อนทับด้วย Canvas API ของ Android ซึ่งจะช่วยให้แอปใช้ลายน้ำหรือไฮไลต์ออบเจ็กต์ที่ตรวจพบบนเอาต์พุตของกล้องได้DynamicRangeAPI สำหรับกรณีการใช้งานตัวอย่าง: ตอนนี้คุณตั้งค่าช่วงไดนามิกในกรณีการใช้งานตัวอย่างได้แล้วโดยไม่ขึ้นอยู่กับกรณีการใช้งานวิดีโอ ซึ่งจะอนุญาตช่วงไดนามิก HDR เช่น HLG10 สำหรับการแสดงตัวอย่างเท่านั้น นอกจากนี้ยังมี API ใหม่ในCameraInfoเพื่อค้นหาช่วงไดนามิกที่กล้องแต่ละตัวรองรับ
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ
ScreenFlashUiCompleterเป็นScreenFlashListenerและย้ายScreenFlashUiCompleter#getExpirationTimeMillisไปยังพารามิเตอร์expirationTimeMillisของScreenFlash#apply(I13944) - เพิ่ม API ใหม่เพื่อให้ตั้งค่าช่วงไดนามิกในกรณีการใช้งานการแสดงตัวอย่าง และเพื่อค้นหาช่วงไดนามิกที่กล้องแต่ละตัวรองรับ ซึ่งจะช่วยให้ใช้ช่วงไดนามิก HDR เช่น HLG10 กับกรณีการใช้งานการแสดงตัวอย่างเพียงอย่างเดียวได้ โดยไม่จำเป็นต้องผูก
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)
การแก้ไขข้อบกพร่อง
- แก้ไขการรั่วไหลของหน่วยความจำซึ่งส่งผลให้กิจกรรมหรือ Fragment ไม่ได้รับการเผยแพร่เมื่อเปิดใช้ส่วนขยาย (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
- รองรับฟีเจอร์ส่วนขยายใหม่(ความคืบหน้าของกระบวนการหลังการดูและจับภาพ): เพิ่ม
ImageCapture#getImageCaptureCapabilities()API สำหรับแอปเพื่อค้นหาความสามารถของความคืบหน้าของกระบวนการหลังการดูและจับภาพ แอปสามารถเปิดใช้การวัดผลหลังการดูโฆษณาได้โดยใช้ImageCapture.Builder#setPostviewEnabled()คุณเลือกขนาดหลังการดูโฆษณาได้โดยใช้ImageCapture.Builder#setPostviewResolutionSelector()เมื่อเรียกใช้takePicture(),onPostviewBitmapAvailableและonCaptureProcessProgressedจะนำไปใช้ในOnImageSavedCallbackหรือOnImageCapturedCallbackเพื่อรับการแจ้งเตือนความคืบหน้าของโพสต์วิวและการประมวลผลได้หากรองรับ (I5cd88) - API สำหรับคำนวณการแปลงพิกัดจากเซ็นเซอร์ไปยังบัฟเฟอร์ปัจจุบัน โดยมีแฟล็กที่ระบุว่า Surface มีข้อมูลการวางแนวกล้องหรือไม่ (I59096)
- เปิดเผย API เพื่อค้นหา
PreviewCapabitlityในเวอร์ชันตัวอย่างUseCase(Ie5b6c) - เพิ่ม API เพื่อรองรับคุณภาพที่มากขึ้นสำหรับ
VideoCaptureRecorder.Builder#setVideoCapabilitiesSource(int)สามารถใช้กับVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESเพื่อสร้างอินสแตนซ์Recorderที่รองรับคุณภาพมากกว่าVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILEกรณีการใช้งานที่พบบ่อยคือเมื่อแอปพลิเคชันพยายามบันทึกวิดีโอ UHD ทุกครั้งที่ทำได้ แต่CamcorderProfileของอุปกรณ์ไม่มีการตั้งค่า UHD แม้ว่าตัวแปลงรหัสจะบันทึกวิดีโอ UHD ได้ก็ตาม (Iedbe2, b/263961771) - เพิ่มตัวรับ/ตัวตั้งค่ารูปแบบเอาต์พุต
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และแทนที่ด้วยResolutionSelectorResolutionSelectorเป็นวิธีที่ครอบคลุมกว่าในการเลือกความละเอียด และสอดคล้องกับ Camera-Core 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 สูงสุดด้วย#takePictureAPI (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ที่ตรงกันกับImageAnalysisUseCase จะช่วยแก้ปัญหานี้ได้ (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)
ต่อไปนี้คือผลลัพธ์อ้างอิงสำหรับสถานการณ์ต่างๆ
สี่
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: ประมาณ 430 มิลลิวินาทีถึง 60 มิลลิวินาที
- Samsung Galaxy S23 Ultra: ประมาณ 540 มิลลิวินาทีถึง 45 มิลลิวินาที
- Samsung A53 5G: ประมาณ 115 มิลลิวินาทีถึง 70 มิลลิวินาที
3
UseCases: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)ที่เลิกใช้งานแล้วออก (Id8e77) DynamicRangeคลาสแสดงช่วงไดนามิกของรูปภาพ ใช้เพื่อเลือกรูปแบบ High Dynamic Range เป็นเอาต์พุตของVideoCaptureถึงVideoCapture.Builder#setDynamicRange()(Ib0377)- เพิ่ม
isImageAnalysisSupportedAPI ลงใน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 ใหม่ช่วยให้บันทึกวิดีโอที่อัตราเฟรมอื่นๆ นอกเหนือจากค่าเริ่มต้นของอุปกรณ์ได้ คุณค้นหาอัตราเฟรมที่ใช้ได้สำหรับการบันทึกได้ผ่านCameraInfo#getSupportedFrameRates()API ใหม่
การเปลี่ยนแปลง API
- เปลี่ยนชื่อค่าคงที่
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONเป็นALLOWED_RESOLUTIONS_NORMAL/SLOWและเปลี่ยนชื่อฟังก์ชันตัวสร้างsetHighResolutionEnabledFlagเป็นsetAllowedResolutionMode(Iae817) CameraInfo#getSupportedFrameRateRanges()จะแสดงSetแทนListเพื่อแสดงให้เห็นว่าช่วงต่างๆ ไม่ได้เรียงตามลำดับ (I02f43)- เพิ่มเครื่องมือฟังข้อผิดพลาดลงใน
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เป็น Null (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 ตัวทำงานพร้อมกันได้ โดยมี {@link UseCase} อย่างมาก 2 รายการที่เชื่อมโยงกับกล้องแต่ละตัว ความละเอียดสูงสุดคือ 720p หรือ 1440p ดูรายละเอียดเพิ่มเติมได้ที่ลิงก์ต่อไปนี้ CameraManager#getConcurrentCameraIds()
- ขอแนะนำ
ResolutionSelectorAPI ใหม่ซึ่งครอบคลุมฟีเจอร์ต่อไปนี้- แอปพลิเคชันสามารถระบุกลยุทธ์ด้านสัดส่วนภาพและความละเอียดเพื่อเลือกความละเอียดที่ดีที่สุดตามความต้องการของตน
- พารามิเตอร์ขนาดและสัดส่วนภาพทั้งหมดจะแสดงในพิกัดของเซ็นเซอร์อุปกรณ์กล้อง
- แอปพลิเคชันสามารถใช้ตัวกรองความละเอียดที่กำหนดเองเพื่อจัดเรียงขนาดที่รองรับตามลำดับที่ต้องการ
- นอกจากนี้ แอปพลิเคชันยังเปิดใช้การจับภาพความละเอียดสูงเพื่อรับรูปภาพที่มีความละเอียดสูงขึ้นได้ด้วย อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจทำให้เวลาในการจับภาพช้าลง
- เพิ่ม
VideoCaptureAPI การมิเรอร์แล้วVideoCaptureจะไม่บันทึกวิดีโอแบบมิเรอร์โดยค่าเริ่มต้น อย่างไรก็ตาม ตัวอย่างกล้องจะปรับให้เหมือนภาพในกระจกในกล้องหน้าโดยค่าเริ่มต้นVideoCaptureAPI การมิเรอร์ช่วยให้จัดแนวกับการแสดงตัวอย่างกล้องได้เมื่อใช้กล้องหน้า มีMirrorMode,OFF,ONและON_FRONT_ONLYหากต้องการจัดแนวให้ตรงกับการแสดงตัวอย่างกล้อง ขอแนะนำให้ใช้ON_FRONT_ONLYซึ่งหมายความว่าระบบจะไม่ได้เปิดใช้การมิเรอร์สำหรับกล้องหลัง แต่จะเปิดใช้สำหรับกล้องหน้า
การเปลี่ยนแปลง API
- เปิดตัว
ResolutionSelectorAPI ใหม่ แอปพลิเคชันสามารถระบุกลยุทธ์สัดส่วนภาพและความละเอียดด้วยกฎการสำรองหรือตัวกรองความละเอียดที่กำหนดเองเพื่อให้ได้ผลลัพธ์ที่ต้องการ แอปพลิเคชันสามารถระบุ Flag เพื่อเปิดใช้การจับภาพความละเอียดสูงได้ ซึ่งจะช่วยให้ CameraX เลือกความละเอียดที่สูงขึ้นได้เมื่อถ่ายรูปภาพหรือวิดีโอ อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจทำให้เวลาในการจับภาพช้าลง (Ibed95) - ตอนนี้คุณสามารถค้นหาช่วง FPS ที่อัลกอริทึม AE รองรับได้ผ่าน
CameraInfo#getSupportedFrameRateRanges()(Iaa67f) - รวมชื่อของวิธีการอัตราเฟรมทั้งหมดให้ใช้ "FrameRate" แก้ไขข้อผิดพลาดใน Javadoc ใน
VideoCapture#getTargetFrameRate()(I83304) - เลิกใช้งาน
setTargetAspectRatioและsetTargetResolutionAPI เวอร์ชันเดิม โปรดใช้ResolutionSelectorAPI ใหม่แทน (I542c3) - เพิ่ม API สาธารณะสำหรับกล้องคู่พร้อมกัน ซึ่งรวมถึง
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)boolean isConcurrentCameraModeOn()และConcurrentCameraConfig,SingleCameraConfigและConcurrentCamera(Iab1c1)
- Make
ImageProcessor.Response#getOutputImageNonNull (Ib9c60) - เพิ่ม API การมิเรอร์
VideoCaptureซึ่งรวมถึงVideoCapture.Builder.setMirrorMode(int)และVideoCapture.getMirrorMode()API เหล่านี้มีประโยชน์สำหรับแอปพลิเคชันที่ต้องการให้การบันทึกวิดีโอสอดคล้องกับลักษณะการทำงานของการแสดงตัวอย่างกล้องทั่วไป กล่าวคือ การแสดงตัวอย่างกล้องหลังจะไม่กลับด้าน แต่การแสดงตัวอย่างกล้องหน้าจะกลับด้าน (I713b6, b/194634656) - เพิ่ม
setTargetFrameRate()API ในVideoCapture.BuilderและgetTargetFramerate()API ในVideoCapture(I109d4) - ทำให้
SurfaceOutputขยาย Closable และซ่อนตัวสร้างสาธารณะของ 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) - แก้ไขปัญหาที่การถ่ายภาพโดยใช้ไฟล์ในโฟลเดอร์สาธารณะของที่เก็บข้อมูลภายนอกจะล้มเหลวเสมอใน Android 10 ขึ้นไป โปรดทราบว่าใน Android 10 การถ่ายภาพโดยใช้ไฟล์ในโฟลเดอร์สาธารณะของที่เก็บข้อมูลภายนอกยังต้องตั้งค่า
requestLegacyExternalStorageเป็น true ในแท็กแอปพลิเคชันด้วย (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กับVideoCaptureUseCase และจะใช้เอฟเฟกต์ที่กำหนดเป้าหมายเป็นPREVIEW|VIDEO_CAPTUREกับสตรีมที่แชร์ก่อนที่จะคัดลอกไปยังสตรีมตัวอย่างและVideoCapture(Iee6f3)
การแก้ไขข้อบกพร่อง
- จากกล้อง
1.2.2: แก้ปัญหาที่ส่วนขยาย CameraX ทำงานไม่ถูกต้องเมื่อเปิดใช้ ProGuard ในอุปกรณ์บางอย่าง เช่น Pixel (I90aa2) - แก้ไข
PreviewViewข้อบกพร่องที่ว่าหากแอปจัดการการวางแนวหน้าจอด้วยตัวเอง ตัวอย่างอาจบิดเบี้ยวเมื่อหมุน โดยปัญหานี้จะเกิดขึ้นในอุปกรณ์บางรุ่นเท่านั้น โดยสามารถทำซ้ำได้ใน Pixel 4a, 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 ที่ก่อนหน้านี้ไม่รองรับด้วยการแชร์สตรีมเดียวไปยัง UseCase หลายรายการ
- ก่อนหน้านี้ เมื่อเชื่อมโยง "Preview, VideoCapture, ImageAnalysis" ในระดับฮาร์ดแวร์ของกล้องเป็น FULL และต่ำกว่า หรือเชื่อมโยง "Preview, VideoCapture, ImageCapture" ในระดับฮาร์ดแวร์เป็น LEGACY นั้น 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) - เพิ่ม
ImageProcessorAPI อินเทอร์เฟซนี้ใช้สำหรับแทรกเอฟเฟกต์หลังการประมวลผลลงในไปป์ไลน์ImageCapture(I575c6) - เพิ่ม API
Recorder.Builder.setAspectRatio()ซึ่งใช้ร่วมกับQualitySelectorเพื่อรองรับความละเอียดของวิดีโอได้มากขึ้น (I8a082) - เพิ่ม
Recorder.Builder#setTargetVideoEncodingBitRateเพื่อตั้งค่าการเข้ารหัสวิดีโอเป้าหมายBitRateและRecorder#getTargetVideoEncodingBitRateเพื่อรับอัตราบิตของการเข้ารหัสวิดีโอเป้าหมาย (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) - นำคลาส Metadata,
OnVideoSavedCallback,OutputFileOptionsและOutputFileResultsที่ไม่ได้ใช้แล้วออกหลังจากใช้ API การจับภาพวิดีโอใหม่ (I38cd8) - ใช้ API การจับภาพวิดีโอใหม่ ระบบจะแทนที่เมธอด
getVideoCaptureTargetSizeและsetVideoCaptureTargetSizeด้วยเมธอดgetVideoCaptureTargetQualityและsetVideoCaptureTargetQualityตามลำดับ เนื่องจากระบบไม่รองรับsetTargetResolutionอีกต่อไป (I2a1d5)
การแก้ไขข้อบกพร่อง
- นำ
core.VideoCaptureAPI ที่เลิกใช้งานแล้วออก (I531e0) - แก้ไขปัญหาที่ไม่ได้เรียกใช้
onErrorCallback เมื่อถ่ายภาพโดยไม่มีสิทธิ์เข้าถึงพื้นที่เก็บข้อมูล(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)
- แก้ไขปัญหาหน้าจอสีดำเมื่อใช้การติดตั้งใช้งาน
PreviewViewSurfaceViewในViewPager2ในส่วนของการแก้ไขPreviewViewจะใช้SurfaceViewซ้ำหากไม่มีการเปลี่ยนแปลงความละเอียดที่ขอ (Ib3f27) - รองรับการครอบตัดวิดีโอ (ฟีเจอร์ WYSIWYG) เมื่อใช้
ViewPortหรือCameraControllerAPI (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
- กล้องไลบรารีใหม่ - mlkit-vision ผสานรวม CameraX กับฟีเจอร์ ML Kit มากมายได้อย่างง่ายดาย ซึ่งรวมถึงการสแกนบาร์โค้ด การตรวจจับใบหน้า การตรวจจับข้อความ ฯลฯ โดยได้เพิ่ม
MLKitAnalyzerเป็น API ใหม่ - API ใหม่แบบทดลองที่ไม่มีการหน่วงเวลาชัตเตอร์ เพิ่มประสิทธิภาพไปป์ไลน์การจับภาพเพื่อให้มีเวลาในการตอบสนองที่ดีขึ้นในขณะที่ยังคงคุณภาพของรูปภาพไว้ได้ เมื่อตั้งค่าโหมดการจับภาพเป็น
CAPTURE_MODE_ZERO_SHUTTER_LAGคาดว่าจะมีการลดเวลาในการตอบสนองระหว่างการคลิกปุ่มชัตเตอร์กับการถ่ายภาพให้เหลือน้อยที่สุดเมื่อเทียบกับโหมดการจับภาพอื่นๆ ในอุปกรณ์ที่ไม่รองรับZERO_SHUTTER_LAGระบบจะเปลี่ยนไปใช้CAPTURE_MODE_MINIMIZE_LATENCYแทน - เลิกใช้งาน
android.camera.core.VideoCapture - เพิ่ม
setStreamUseCase()เป็นCamera2InteropAPI สาธารณะ - เพิ่มข้อกำหนดเกี่ยวกับระดับ API สำหรับ
setOutputImageRotationEnabled - เปลี่ยนชื่อ
ImageAnalysis.Analyzer#getTargetResolutionOverride()เป็นImageAnalysis.Analyzer#getDefaultTargetResolution()แล้ว - เพิ่ม API สำหรับตั้งค่าข้อมูลเมตาของตำแหน่งให้กับวิดีโอที่บันทึกไว้
- แก้ไขปัญหาเฟรมเรตต่ำเมื่อใช้
VideoCaptureและกรณีการใช้งานตัวอย่างที่มีสัดส่วนภาพ 16:9 - แก้ไขปัญหาภาพตัวอย่างสีดำที่เกิดขึ้นเมื่อเปิดใช้ส่วนขยาย BOKEH ในอุปกรณ์ Samsung บางรุ่นและผู้ใช้สลับกล้อง
- แก้ไขปัญหา
Preview/VideoCaptureการยืดของ Samsung J7 Prime (SM-G610M) และ J7 (SM-J710MN) ในอุปกรณ์ API ระดับ 27 - ปิดใช้การแก้ปัญหาชั่วคราวเพื่อพลิกภูมิภาค AF ในแนวนอนของกล้องหน้าใน Samsung Android T เนื่องจากปัญหาได้รับการแก้ไขแล้ว
เวอร์ชัน 1.2.0-rc01
24 ตุลาคม 2022
androidx.camera:camera-*:1.2.0-rc01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0-rc01 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
setStreamUseCaseAPI สำหรับOutputConfigurationผู้ใช้สามารถระบุ Use Case ของสตรีมสำหรับเซสชันสตรีมได้ โดยจะลบล้างตรรกะภายในของ CameraX เพื่อเลือก Use Case ของสตรีมเพื่อเพิ่มประสิทธิภาพตามความต้องการ (Ib1a95)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหา
Preview/VideoCaptureการยืดของ Samsung J7 Prime (SM-G610M) และ J7 (SM-J710MN) ในอุปกรณ์ 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 กับฟีเจอร์ ML Kit มากมายได้อย่างง่ายดาย ซึ่งรวมถึงการสแกนบาร์โค้ด การตรวจจับใบหน้า การตรวจจับข้อความ และอื่นๆ โปรดดูโค้ดตัวอย่างที่นี่ - API การชัตเตอร์แบบไร้ดีเลย์ เวอร์ชันทดลองใหม่ เพิ่มประสิทธิภาพไปป์ไลน์การจับภาพเพื่อให้มีเวลาในการตอบสนองที่ดีขึ้นในขณะที่ยังคงคุณภาพของรูปภาพไว้ได้ เมื่อตั้งค่าโหมดการจับภาพเป็น CAPTURE_MODE_ZERO_SHUTTER_LAG คาดว่าจะมีการลดเวลาในการตอบสนองระหว่างการคลิกปุ่มชัตเตอร์กับการถ่ายภาพให้เหลือน้อยที่สุด เมื่อเทียบกับโหมดการจับภาพอื่นๆ ในอุปกรณ์ที่ไม่รองรับ ZERO_SHUTTER_LAG ระบบจะเปลี่ยนไปใช้ CAPTURE_MODE_MINIMIZE_LATENCY แทน
ImageAnalysis.AnalyzerและMLKitAnalyzerเป็น API อย่างเป็นทางการ- 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) - 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)
การแก้ไขข้อบกพร่อง
- เพิ่มการหมดเวลาเริ่มต้นของการโฟกัสอัตโนมัติ 5000 มิลลิวินาที ซึ่งจะทำให้ส่วน AF เสร็จสมบูรณ์ด้วย
isFocusSuccessfulfalse หากไม่ได้ยกเลิกFocusMeteringActionและส่วน AF ไม่ได้รวมกันในระยะเวลาดังกล่าว (Ibc2e3) - แก้ไขปัญหาเพื่อถ่ายภาพด้วยตัวอย่างที่ไม่ได้เชื่อมโยง (I1d3a2, b/235119898)
- เปิดใช้การติดตั้งใช้งาน Extender ขั้นสูงและอัปเดตเวอร์ชันส่วนขยายอินเทอร์เฟซการรองรับ 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)
การแก้ไขข้อบกพร่อง
- แก้ไขเมธอด
ImageCapturetakePicture ซึ่งจะปิดไฟฉายในอุปกรณ์ที่รายงาน (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-Camera2, Camera-Core, Camera-Lifecycle และ Camera-Video เวอร์ชัน 1.1.0
เวอร์ชัน 1.1.0
29 มิถุนายน 2022
androidx.camera:camera-*:1.1.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0
- Landed View, Extension และ Video Capture เป็นเวอร์ชัน RC แรก ตั้งแต่เวอร์ชัน 1.1.0-beta01 เป็นต้นไป ไลบรารี CameraX ทั้งหมดจะใช้หมายเลขเวอร์ชันเดียวกัน ซึ่งจะช่วยให้นักพัฒนาแอปติดตามเวอร์ชันได้ง่ายขึ้นมาก และลดความซับซ้อนของเมทริกซ์ความเข้ากันได้ของเวอร์ชันขนาดใหญ่
- เปิดตัว API และฟีเจอร์สาธารณะใหม่ ซึ่งรวมถึง
- เพิ่มไลบรารีกล้องและวิดีโออย่างเป็นทางการเพื่อรองรับกรณีการใช้งานการจับภาพวิดีโอ
- ความสามารถในการแปลง YUV เป็น RGB และการหมุน (
ImageAnalysis.Builder.setOutputImageRotationEnabledและsetOutputImageFormat) - รองรับโหมดหลายหน้าต่างโดยอนุญาตให้แอปพลิเคชัน CameraX กลับมาใช้กล้องต่อเมื่อแอปอื่นขัดจังหวะการทำงานของกล้องและโฟกัสกลับมา
- ดูแลให้ CameraX ทำงานได้ดีในอุปกรณ์แบบพับได้ด้วยการแก้ไขปัญหาการแสดงตัวอย่างบางอย่าง
- เพิ่ม API
CameraStateที่จะแสดงผ่าน CameraInfo - เพิ่ม API
ProcessCameraProvider.getAvailableCameraInfos()เพื่อดึงข้อมูลเกี่ยวกับกล้องที่พร้อมใช้งานโดยตรง - รูปแบบ JPEG เอาต์พุตสำหรับ
ImageCapture#OnImageCapturedCallbackเมื่อเปิดใช้ส่วนขยาย - เพิ่ม API
isFocusMeteringSupportedในCameraInfoซึ่งช่วยให้แอปพลิเคชันตรวจสอบได้ว่ากล้องปัจจุบันรองรับFocusMeteringActionที่ระบุหรือไม่ - เปิดเผย
getResolutionInfoAPI เพื่อให้ข้อมูลความละเอียดสำหรับตัวอย่าง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() @ExperimentalCameraFilterAPI- API การชดเชยแสงทดลอง
- โปรโมต
UseCaseGroupAPI เวอร์ชันทดลองสำหรับ camera-core, camera-lifecycle และ camera-video เพิ่มViewPort#getLayoutDirection,ViewPort.Builder#setLayoutDirectionและViewPort.Builder#setScaleTypeสำหรับปรับแต่งวิวพอร์ต ExperimentalUseCaseGroupLifecycleเป็น API สาธารณะอย่างเป็นทางการ- การเปลี่ยนแปลง API ที่มีอยู่
Renamed MediaStoreOutputOptions.getCollectionเพื่อMediaStoreOutputOptions.getCollectionUri- เราได้เปลี่ยนชื่อ
ActiveRecordingเป็น "การบันทึก" เพื่อลดความซับซ้อน - เปลี่ยน
QualitySelectorCreator API เป็น API ที่อิงตามรายการ
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหา
YuvToJpegProcessorEOFExceptionเมื่อเปิดใช้โหมดส่วนขยายและตั้งค่าโหมด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)
การมีส่วนร่วมภายนอก
- อัปเดต API ของ :compose:ui:ui-test (updateApi) เนื่องจากการย้ายข้อมูล test-coroutines-lib (I3366d)
เวอร์ชัน 1.1.0-beta02
23 กุมภาพันธ์ 2022
androidx.camera:camera-*:1.1.0-beta02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.1.0-beta02 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มความสามารถในการระบุรหัสกล้องจริงผ่าน Camera2Interop (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)
- Fixed Preview จะมีเส้นสีแบบสลับหลังจากเริ่มบันทึกวิดีโอ 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 สาธารณะเพื่อกรองรายการ CameraInfo ตาม CameraSelector (I105d0)
เพิ่ม API setOutputImageRotationEnabled สำหรับการกำหนดค่า ImageAnalysis ผู้ใช้สามารถเปิดใช้การหมุนสำหรับบัฟเฟอร์รูปภาพ YUV/RGB ได้ องศาการหมุนเป็นการหมุนแบบสัมพัทธ์ที่คำนวณตามการหมุนของเซ็นเซอร์และการหมุนของเป้าหมายเพื่อให้รูปภาพอยู่ด้านหน้า
เพิ่ม API setOutputImageRotationEnabled สำหรับการกำหนดค่า ImageAnalysis ผู้ใช้สามารถเปิดใช้การหมุนสำหรับบัฟเฟอร์รูปภาพ YUV/RGB ได้ องศาการหมุนเป็นการหมุนแบบสัมพัทธ์ที่คำนวณตามการหมุนของเซ็นเซอร์และการหมุนของเป้าหมายเพื่อให้รูปภาพอยู่ด้านหน้า
เพิ่ม
getSensorToBufferTransformMatrixAPI ใน ImageInfo เมทริกซ์ที่แสดงผลคือการแมปจากพิกัดเซ็นเซอร์ไปยังพิกัดบัฟเฟอร์ ซึ่งก็คือจากค่าของCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEไปยัง(0, 0, image.getWidth, image.getHeight)คุณใช้เมทริกซ์เพื่อแมปพิกัดจาก {UseCase} หนึ่งไปยังอีก {UseCase} หนึ่งได้ เช่น การแมปพิกัดของใบหน้าที่ตรวจพบด้วย ImageAnalysis กับตัวอย่าง (I9ff1e)เพิ่ม API ใหม่ ImageCapture.Builder#setJpegQuality เพื่อให้เปลี่ยนคุณภาพการบีบอัดรูปภาพ 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 ซึ่งจะช่วยให้ผสานรวม camera-core เข้ากับแอปพลิเคชันที่มี 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 มีคอมมิตต่อไปนี้
ฟีเจอร์ใหม่
- เพิ่ม API setOutputImageFormat สำหรับการกำหนดค่าการวิเคราะห์รูปภาพ ผู้ใช้ สามารถเลือก 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, ขนาดสูงสุด และรายละเอียดเพิ่มเติมได้ที่ 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 ของรูปภาพที่บันทึกไว้หากตำแหน่งที่บันทึกคือไฟล์ (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)
- แก้ไขปัญหา
YuvToJpegProcessorEOFException เมื่อเปิดใช้โหมดส่วนขยายและตั้งค่าโหมด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 การชดเชยแสงทดลองสำหรับ camera-core (I08ee8)
- เพิ่ม API isFocusMeteringSupported ใน CameraInfo ซึ่ง ช่วยให้แอปพลิเคชันตรวจสอบได้ว่ากล้องปัจจุบันรองรับ FocusMeteringAction ที่ระบุหรือไม่ (Ib45ae, b/188606490)
- เปิดเผย API getResolutionInfo เพื่อให้ข้อมูลความละเอียดสำหรับ Preview, ImageCapture และ ImageAnalysis (I2b613, b/188600718)
- เลื่อนระดับ API ทดลองต่อไปนี้เป็น API อย่างเป็นทางการ CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler() (I2ade2)
- เปิดเผยอินเทอร์เฟซ CameraProvider เพื่อให้สิทธิ์เข้าถึงชุดกล้อง (I1a7b1)
- โปรโมต UseCaseGroup API เวอร์ชันทดลองสำหรับ camera-core, camera-lifecycle และ camera-video เพิ่ม
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) ExperimentalCameraFilterตอนนี้ API เหล่านี้พ้นระยะทดลอง และกลายเป็น API อย่างเป็นทางการแล้ว โดยสามารถใช้ได้โดยไม่ต้องมี OptIn ที่มีการอธิบายประกอบ (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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขการรั่วไหลของหน่วยความจำที่เกิดจากหลายเธรดที่เข้าถึงคอลเล็กชันเดียวกันพร้อมกัน หน่วยความจำรั่วอาจทำให้อินสแตนซ์ของ Preview เก็บ Activity หรือ Fragment ไว้ (I7b4b8)
- แทนที่คำอธิบายประกอบ
@Experimentalด้วย@RequiresOptInใน API เวอร์ชันทดลอง หากต้องการเรียกใช้ API เวอร์ชันทดลอง ให้ใช้androidx.annotation.OptInแทนandroidx.annotation.experimental.UseExperimentalที่เลิกใช้งานแล้ว (Iff226) - แก้ไข ImageCapture เมื่อเปิด/อัตโนมัติจะทำให้ภาพจางบน 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)
- แก้ไขการแสดงตัวอย่างที่ยืดใน PreviewView ของ Samsung A3 (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 ดังนั้นแทนที่จะเกิดข้อขัดข้อง คุณอาจเห็นว่ากรณีการใช้งานอื่นๆ หยุดทำงานหรือทำงานช้า เช่น ตัวอย่างหยุดทำงาน/ทำงานช้า (Ic12da, b/175851631)
- แก้ไข ExtensionsErrorListener เพื่อรายงานข้อผิดพลาดเมื่อมีการเชื่อมโยงเฉพาะ Preview หรือ ImageCapture (I5ae39)
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture โดยนำการตรวจสอบตำแหน่งที่บันทึกรูปภาพออกก่อนถ่ายรูป หลังจากทำการเปลี่ยนแปลงนี้ หากปลายทางการบันทึกไม่ถูกต้อง ระบบจะใช้เวลานานขึ้นในการตอบกลับว่าไม่สำเร็จ เนื่องจากระบบจะพยายามบันทึกรูปภาพหลังจากถ่ายรูป (I1fd4e, b/177061560)
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture ด้วย OutputFileOptions ประเภท "File" (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)
กล้อง - Camera2, กล้อง - Core และกล้อง - วงจรชีวิต เวอร์ชัน 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)
กล้อง - Camera2, กล้อง - Core และกล้อง - วงจรชีวิต เวอร์ชัน 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)
กล้อง - Camera2, กล้อง - Core และกล้อง - วงจรชีวิต เวอร์ชัน 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 รองรับการแสดงตัวอย่าง ImageCapture และการวิเคราะห์
- 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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไข ImageCapture เมื่อเปิด/อัตโนมัติจะทำให้ภาพจางบน 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 ดังนั้นแทนที่จะเกิดข้อขัดข้อง คุณอาจเห็นว่ากรณีการใช้งานอื่นๆ หยุดทำงานหรือทำงานช้า เช่น ตัวอย่างหยุดทำงาน/ทำงานช้า (Ic12da, b/175851631)
- แก้ไขการทดสอบ Robolectric ที่ล้มเหลวเมื่อใช้ setAvailableCamerasLimiter ใน CameraXConfig (Ice307)
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture โดยนำการตรวจสอบตำแหน่งที่บันทึกรูปภาพออกก่อนถ่ายรูป หลังจากทำการเปลี่ยนแปลงนี้ หากปลายทางการบันทึกไม่ถูกต้อง ระบบจะใช้เวลานานขึ้นในการตอบกลับว่าไม่สำเร็จ เนื่องจากระบบจะพยายามบันทึกรูปภาพหลังจากถ่ายรูป (I1fd4e, b/177061560)
- แก้ไขการถดถอยของประสิทธิภาพ ImageCapture ด้วย OutputFileOptions ประเภท "File" (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)
- เพิ่ม API setAvailableCamerasLimiter ที่เป็นเวอร์ชันทดลองลงใน 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-beta12
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)- เราเลิกใช้งานแอนนอเทชัน Experimental ในรูปแบบ androidx แล้ว เพื่อให้สอดคล้องกับ Kotlin โดยเราได้แทนที่ด้วย คำอธิบายประกอบ RequiresOptIn และอัปเดต Linter ที่ใช้ใน 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)
- การสร้าง UseCase ไม่จำเป็นต้องเริ่มต้น CameraX
ให้เสร็จสมบูรณ์ การกำหนดค่าเฉพาะการใช้งานทั้งหมดจะตั้งค่าใน
UseCase เมื่อแนบกับอินสแตนซ์กล้อง ซึ่งสำหรับ 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 มีคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รองรับ CONTROL_ZOOM_RATIO API สำหรับการซูมใน Android 11
ในอุปกรณ์ Android 11 ขึ้นไปที่มี CONTROL_ZOOM_RATIO_RANGE ที่ถูกต้อง
(I62cc6)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหา NumberFormatException ที่เกิดขึ้นเมื่อรหัสกล้องเป็นรหัสกล้องที่ไม่ใช่จำนวนเต็ม (Ib2228)
- การสร้าง UseCase ไม่จำเป็นต้องเริ่มต้น CameraX
ให้เสร็จสมบูรณ์ การกำหนดค่าเฉพาะการใช้งานทั้งหมดจะตั้งค่าใน
UseCase เมื่อแนบกับอินสแตนซ์กล้อง ซึ่งสำหรับ 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
- แก้ไขข้อบกพร่องที่วิวพอร์ตถูกทำเครื่องหมายเป็นไม่ใช่ Null ใน UseCaseGroup นักพัฒนาแอปควรสร้าง Viewport ได้โดยไม่ต้องตั้งค่า Viewport (Ie3d2e)
- เพิ่มอินเทอร์เฟซเวอร์ชันทดลองสำหรับ
ExposureCompensation(If96c7) - อนุญาตการหมุนเป้าหมายโดยพลการสำหรับตัวอย่าง ระบบจะคำนวณและส่งคืนข้อมูลการแปลงไปยังผู้ใช้แบบเรียลไทม์ผ่าน
TranformationInfoListenerการเรียกกลับใหม่ (I21470)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่แฟลชในอุปกรณ์บางเครื่องไม่ปิด ปัญหานี้เกิดขึ้นเมื่อตั้งค่าโหมดแฟลชเป็น
FLASH_MODE_ONเพื่อถ่ายภาพ และเปลี่ยนเป็นFLASH_MODE_OFFเมื่อแฟลชทำงาน อาการคล้ายกับการเปิดใช้โหมดไฟฉาย (Ib4451, b/162568128) - บังคับให้ PreviewView ใช้ TextureView หากเปิดใช้เอฟเฟกต์ส่วนขยาย และการติดตั้งใช้งานไลบรารีของผู้ให้บริการต้องดำเนินการพิเศษบนพื้นผิวเอาต์พุต (I0c3cc)
- แก้ไขการรั่วไหลของกิจกรรม/Fragment เมื่อมีการส่งบริบทของกิจกรรม/Fragment ไปยัง
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)
- DisplayOrientedMeteringPointFactory รับอินสแตนซ์ CameraInfo แทน CameraSelector เพื่อให้มีการแมปโดยตรงกับ กล้องที่โรงงานจะสร้างจุดให้ คลาสทั้งหมด ที่ใช้ DisplayOrientedMeteringPointFactory จะรับอินสแตนซ์ CameraInfo แทน CameraSelector ด้วย (I400c1)
- แก้ไขปัญหาการจัดกลุ่มขนาดสัดส่วนการแสดงผลความละเอียดอัตโนมัติที่ระบบเลือกขนาด 16:9 mod16 (864x480) เมื่อการตั้งค่าความละเอียดเป้าหมายเป็น 2016x1080 และมีขนาด 1920x1080 16:9 อื่นที่รองรับ (I53167, b/159363774)
- แก้ไขปัญหา CameraControl ที่ใช้งานไม่ได้เนื่องจาก Race Condition (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)
- การเริ่มต้นไม่ควรขัดข้องอีกต่อไปเมื่อใช้ Context
ที่ไม่ได้แสดงผลออบเจ็กต์ 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ให้เข้ากับสไตล์ของFITFITหมายความว่าสี่เหลี่ยมผืนผ้าครอบตัดที่ส่งคืนจะเป็นสี่เหลี่ยมผืนผ้าเซ็นเซอร์สูงสุดที่เป็นไปได้ (Ia73c3) - วิวพอร์ตจะกำหนดค่าสี่เหลี่ยมผืนผ้าครอบตัดของตัวอย่าง มีเพียงพื้นที่ที่ครอบคลุมโดยสี่เหลี่ยมผืนผ้าครอบตัดเท่านั้นที่ควรแสดงต่อผู้ใช้ปลายทาง (I142a4)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่การแสดงตัวอย่างยืดออกในอุปกรณ์ Android 5.0 รุ่นเดิม (I0c03a)
- แก้ไขปัญหาข้อยกเว้น
ConcurrentModificationExceptionเมื่อยกเลิกการเชื่อมโยงกรณีการใช้งาน (I371c0)
Camera-Camera2 เวอร์ชัน 1.0.0-beta06
24 มิถุนายน 2020
androidx.camera:camera-camera2:1.0.0-beta06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-beta06 มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มอินเทอร์เฟซเวอร์ชันทดลองสำหรับการกรองกล้องตามรหัสกล้อง และ CameraCharacteristics (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
- เพิ่มอินเทอร์เฟซเวอร์ชันทดลองสำหรับการกรองกล้องตามรหัสกล้อง และ CameraCharacteristics (I28f61)
การแก้ไขข้อบกพร่อง
- ตอนนี้กำหนดค่า CameraX ด้วย
ProcessCameraProvider#configureInstance()ก่อนโทรได้แล้วProcessCameraProvider#getInstance()ซึ่งช่วยให้ปรับแต่งCameraXConfigได้โดยไม่ต้องใช้CameraXConfig.Providerในคลาส Application ของแอป (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เป็น Null (Ife55e, b/157084254)
กล้อง - เวอร์ชันหลัก 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)
การแก้ไขข้อบกพร่อง
- อัปเดต Javadoc ของ
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)
- แปลงบันทึกข้อผิดพลาดที่แปลงแล้วซึ่งเกี่ยวข้องกับกรณีการใช้งานที่แยกออกมาเป็นบันทึกการแก้ไขข้อบกพร่องใน 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ที่การเรียกใช้ setAnalyzer/clearAnalyzer หลายครั้งส่งผลให้เครื่องมือวิเคราะห์ไม่ได้รับรูปภาพที่จะวิเคราะห์ (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()โดยไม่มีUseCaseจะทำให้เกิดข้อยกเว้นที่ส่งคืน ซึ่งจะป้องกันการดึงข้อมูล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 (Id4281, b/150802561) - ไม่จำเป็นต้องเรียงลำดับการขึ้นต่อกันของ CameraX อย่างชัดเจนภายใน
build.gradleอีกต่อไปเพื่อใช้การติดตั้งใช้งาน CameraX/Camera2 เริ่มต้น ในกรณีที่ต้องประกาศทรัพยากร Dependency ที่เข้มงวด ตอนนี้คุณสามารถรวมทรัพยากร Dependency ของ CameraX ทั้งหมดไว้ในไฟล์บิลด์ได้แล้ว (I46e88) - แก้ไข
IllegalArgumentExceptionปัญหาที่เกิดขึ้นในอุปกรณ์ที่มีขนาดการแสดงผลเล็กกว่า 640x480 (Ife3f2, b/150506192) - แก้ไข
bindToLifecycleเพื่อให้แก้ไข UseCase เฉพาะในกรณีที่ผูกสำเร็จเท่านั้น ก่อนหน้านี้เมื่อโทรหาbindToLifecycleระบบจะอัปเดต UseCase เพื่อทำการคำนวณความละเอียด ตอนนี้ไม่จำเป็นต้องอัปเดต UseCase เพื่อทำการคำนวณอีกต่อไป (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 (Id4281, b/150802561) - แก้ไข
bindToLifecycleเพื่อให้แก้ไข UseCase เฉพาะในกรณีที่ผูกสำเร็จเท่านั้น ก่อนหน้านี้เมื่อโทรหาbindToLifecycleระบบจะอัปเดต UseCase เพื่อทำการคำนวณความละเอียด ตอนนี้ไม่จำเป็นต้องอัปเดต UseCase เพื่อทำการคำนวณอีกต่อไป (I78d9e) - แก้ไขปัญหาที่ระบบไม่อัปเดตเซสชันการจับภาพของ
PreviewUse Case เมื่อพื้นผิวตัวอย่างเปลี่ยนไปหลังจากเรียกใช้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()จะยกเลิกไม่ได้ เพื่อป้องกันไม่ให้อุปกรณ์รุ่นเก่าขัดข้องเนื่องจาก การปล่อยพื้นผิวเร็วเกินไป ตอนนี้ระบบใช้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 โหมดแฟลชเพื่อให้มีค่าที่เป็นไปได้ (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เป็นตัวอย่างที่ชัดเจน (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ต้องใช้ExperimentalCamera2InteropmarkerClass
Camera-Core เวอร์ชัน 1.0.0-alpha09
22 มกราคม 2020
androidx.camera:camera-core:1.0.0-alpha09 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตต่อไปนี้
การเปลี่ยนแปลง API
- พารามิเตอร์
SurfaceOrientedMeteringPointFactoryuseCaseForSurfaceได้รับการ เปลี่ยนชื่อเป็นuseCaseForAspectRatioและมีการขยาย เอกสารอ้างอิง - เมธอด
FocusMeteringAction.Builder.from()จะถูกแทนที่ด้วยตัวสร้างFocusMeteringAction.Builder() - นำออกแล้ว
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)แอปพลิเคชันควรใช้ตัวสร้างที่ใช้พารามิเตอร์Displayและ ส่งการแสดงผลปัจจุบัน - การปรับปรุง Javadoc สำหรับ Focus และ Metering API เกี่ยวกับ
MeteringModeและ 3A Flags รวมถึงการใช้พารามิเตอร์Display - ขยายเอกสารอ้างอิงสำหรับ
setZoomRatioและsetLinearZoom
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาเมื่อปิดแล้วเปิดกล้อง ซึ่งส่งผลให้การตรวจสอบ "เงื่อนไขเบื้องต้น" ล้มเหลว
- แก้ไข
ConcurrentModificationExceptionที่อาจเกิดขึ้นเมื่อใช้ไฟฉาย และ 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อาจแสดงตัวอย่างสัดส่วนภาพไม่ถูกต้อง ซึ่งจะเกิดขึ้นหลังจากหยุดชั่วคราวหรือกลับมาทำงานต่อในอุปกรณ์บางรุ่นที่เต็ม เช่น 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 ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ฟีเจอร์นี้ในการเริ่มต้นได้ในส่วน camera-core ของหมายเหตุประจำรุ่น- ตอนนี้ฟังก์ชันการทำงานของ Camera2 Interop มีสถานะเป็นเวอร์ชันทดลองและย้ายไปอยู่ในแพ็กเกจแยกต่างหาก
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()ซึ่งจะแสดงผล ListenFuture ซึ่งให้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); }คุณเพิ่มผู้ฟังลงใน
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" ออกแล้ว แต่ให้สร้างกรณีการใช้งานโดยตรงและตั้งค่าตัวเลือกในเครื่องมือสร้างกรณีการใช้งานแต่ละรายการ เช่น
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()เราได้อัปเดต Use Case ของการแสดงตัวอย่างให้ยอมรับ Surface ที่แอปพลิเคชันสร้างและจัดการเพื่อให้เป็นไปตามแนวทางปฏิบัติแนะนำของ Android เราขอแนะนำให้ใช้
PreviewViewมุมมองคลาสที่ระบุไว้ในแพ็กเกจมุมมองกล้องpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)ดูเอกสารประกอบเกี่ยวกับการแนบพื้นผิวที่แอปจัดการ ในกรณีเหล่านี้ แอปจะจัดการวงจรของแพลตฟอร์ม
สำคัญ: การติดตั้งใช้งานเมธอด
ImageAnalysisAnalyzer ต้องเรียกใช้image.close()ในรูปภาพที่ได้รับเมื่อใช้รูปภาพเสร็จแล้ว มิฉะนั้น คุณอาจไม่ได้รับรูปภาพใหม่หรือกล้องอาจหยุดทำงาน ทั้งนี้ขึ้นอยู่กับการตั้งค่าแรงดันย้อนกลับ ดูรายละเอียดได้ในเอกสารอ้างอิงImageAnalysis ImageReaderModeเปลี่ยนเป็นกลยุทธ์การควบคุมปริมาณการรับส่งintdefแล้วImageProxy.getImage()มีการทำเครื่องหมายว่าเป็นการทดลอง แอปพลิเคชันควรใส่คำอธิบายประกอบการใช้งาน เช่น ผ่าน@androidx.camera.core.ExperimentalGetImageเราได้นำข้อกำหนดในการใส่คำอธิบายประกอบ
UIThreadสำหรับAnalyzerออกแล้วเพิ่มฟังก์ชัน
ImageAnalysis.clearAnalyzer()เพื่อนำเครื่องมือวิเคราะห์ออกเราได้เปลี่ยนชื่อผู้ฟังที่มีมากกว่า 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()ออกแล้ว ไฟฉายจะลบล้างฟังก์ชันการทำงานของแฟลช ดูรายละเอียดเพิ่มเติมได้ในเอกสารอ้างอิงฟิลด์
ImageCapture.Metadataจะแทนที่ด้วยตัวช่วยเข้าถึง get/set/isstartFocusMeteringและ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()ได้รับการเพิ่มลงใน API การกำหนดค่า Use Case ซึ่งจะแสดงสัดส่วนภาพที่เอาต์พุตของ Use Case กำหนดเป้าหมายไว้- วิธีการ
setTargetAspectRatio(Rational aspectRatio)ได้เปลี่ยนสำหรับ ImageCapture เป็นsetTargetAspectRatioCustom(Rational aspectRatio)เมื่อตั้งค่าแล้ว เอาต์พุต ImageCapture จะครอบตัดตามนั้น
Executor APIs
- ฟังก์ชันต่อไปนี้ยอมรับพารามิเตอร์ Executor ซึ่งช่วยให้แอปควบคุมได้ว่าฟังก์ชันจะทำงานบน Executor ใด
Preview.setOnPreviewOutputUpdateListener()API หากไม่มีตัวดำเนินการสำหรับฟังก์ชันนั้น ฟังก์ชันจะดำเนินการในเทรดหลักPreview.setOnPreviewOutputUpdateListenerFocusMeteringAction.Builder.setAutoFocusCallbackImageAnalysis.setAnalyzerImageCapture.takePictureCameraView.takePictureCameraView.startRecordingVideoCapture.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 และการแก้ไขข้อบกพร่อง
- สัดส่วนภาพ: สำหรับ Use Case แต่ละรายการ แอปพลิเคชันควรเรียกใช้เพียง
setTargetResolution()หรือsetTargetAspectRatio()อย่างใดอย่างหนึ่งเท่านั้น การเรียกใช้ทั้ง 2 รายการในเครื่องมือสร้างเดียวกันจะทำให้เกิดข้อผิดพลาด- โดยทั่วไป เราขอแนะนำให้ใช้
setTargetAspectRatio()ตามการออกแบบ UI ของแอปพลิเคชัน ความละเอียดที่เฉพาะเจาะจงจะขึ้นอยู่กับกรณีการใช้งาน เช่น การแสดงตัวอย่างจะมีความละเอียดใกล้เคียงกับความละเอียดของหน้าจอ และการจับภาพจะให้ภาพนิ่งความละเอียดสูง ดูข้อมูลเพิ่มเติมได้ที่ตารางความละเอียดอัตโนมัติ - ใช้
setTargetResolution()สำหรับกรณีที่เฉพาะเจาะจงมากขึ้น เช่น เมื่อต้องใช้ความละเอียดขั้นต่ำ (เพื่อประหยัดการคำนวณ) หรือความละเอียดสูงสุด (เพื่อประมวลผลรายละเอียด)
- โดยทั่วไป เราขอแนะนำให้ใช้
- Executor API: นำการเรียก
setCallbackHandler()ออกจาก API การกำหนดค่ากรณีการใช้งาน แต่แอปพลิเคชันสามารถตั้งค่า Executor เป็นพารามิเตอร์ใน API อื่นๆ ที่ตั้งค่าการเรียกกลับได้ - อัปเดตคำอธิบายประกอบค่า Null สำหรับฟังก์ชันต่างๆ
- แก้ไขปัญหาที่ทำให้เกิดข้อผิดพลาด
java.lang.IllegalStateException at Camera$StateCallback.onErrorเมื่อเปิดกล้อง - แก้ไขปัญหาที่ระบบจะเลือกความละเอียดที่มีขนาดเล็กเกินไป (น้อยกว่า 640x480) เมื่อแอปขอความละเอียดที่ใหญ่ขึ้นหรือความละเอียดเริ่มต้น ซึ่งส่งผลให้รูปภาพตัวอย่างเป็นบล็อกหรือเบลอ แอปพลิเคชันที่ต้องการความละเอียดต่ำกว่าสามารถขอความละเอียดดังกล่าวได้อย่างชัดเจน
- แก้ไขปัญหาที่กล้องจะแสดงหน้าจอสีดำ (เริ่มกล้องไม่สำเร็จ) หลังจากกลับจาก Intent ที่เปิดแอปพลิเคชันกล้องอื่น
- แก้ไขข้อบกพร่องที่ทำให้เกิดข้อผิดพลาดต่อไปนี้เมื่อเริ่มหรือหยุดแอปซ้ำๆ
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-Camera2 และ 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
- เปลี่ยนชื่อ
เพิ่ม
CameraControlAPI พร้อม API แตะเพื่อโฟกัสเพิ่ม 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 แล้ว และ Getter ที่เกี่ยวข้องอาจแสดงผลเป็น Null
แก้ไขปัญหาเมื่อทดสอบในโปรแกรมจำลองที่ไม่รองรับการตั้งค่า AF/AE/AWB
แก้ไขข้อบกพร่องที่ทำให้โปรแกรมขัดข้องเมื่อหมุนขณะวิเคราะห์รูปภาพ
แก้ไขข้อบกพร่องที่การแสดงตัวอย่างปรากฏเป็นสีดำเมื่อเริ่มต้น (ไม่มีข้อมูลกล้อง) หลังจากหมุนหรือสลับระหว่างกล้องหน้าและกล้องหลัง
นำการทดสอบสำหรับกรณีการใช้งานการวิเคราะห์รูปภาพพร้อมกันหลายรายการออก แอปพลิเคชันควรแนบเฉพาะกรณีการใช้งานการวิเคราะห์รูปภาพเดียวเพื่อให้มั่นใจถึงความเข้ากันได้
เพิ่มการทดสอบ Robolectric เริ่มต้นสำหรับกล้องปลอมในชุดทดสอบกล้อง (WIP)
นำการทดสอบ Camera2Inititalizer ออกเนื่องจากความครอบคลุมไม่ชัดเจน/ทำให้เข้าใจผิด
Camera-Camera2 และ 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 จะประนีประนอมเรื่องความละเอียด/สัดส่วนภาพตามความสามารถของอุปกรณ์ เพื่อเริ่มเซสชันการจับภาพเป็นเป้าหมายแรก ดังนั้นคำขอที่แน่นอนอาจไม่ได้รับการตอบสนอง ซึ่งอาจเกิดจากสาเหตุดังนี้
- อุปกรณ์ที่ไม่รองรับความละเอียดที่ขอ
- ปัญหาความเข้ากันได้ เช่น ในอุปกรณ์รุ่นเดิมที่ต้องใช้ความละเอียดบางอย่างเพื่อให้ทำงานได้อย่างถูกต้อง
- ในอุปกรณ์บางรุ่น บางรูปแบบจะใช้ได้เฉพาะในสัดส่วนภาพบางอย่างเท่านั้น
- ค่ากำหนดสำหรับ "nearest mod16" สำหรับการเข้ารหัส JPEG หรือวิดีโอ ดู
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
แม้ว่า CameraX จะสร้างและจัดการเซสชัน แต่คุณควรตรวจสอบขนาดรูปภาพที่ส่งคืนในเอาต์พุตของ Use Case ในโค้ดและปรับตามนั้นเสมอ
เราได้ทำการเปลี่ยนแปลงบางอย่างในการตั้งค่าความละเอียดและสัดส่วนภาพเพื่อให้ API ชัดเจนยิ่งขึ้น ดังนี้
- ตอนนี้ระบบจะถือว่ากรณีการใช้งานตัวอย่างมีสัดส่วนภาพเริ่มต้นเป็น 4:3 เมื่อไม่ได้ตั้งค่าใดๆ
- เมื่อ CameraX พิจารณาการเปลี่ยนแปลงความละเอียดและสัดส่วนภาพที่ขอภายในตามความสามารถของอุปกรณ์ จะพยายามรักษาสัดส่วนภาพเดิมก่อน (ตามที่กำหนดโดยการเรียก
setTargetAspectRatioหรือsetTargetResolution) - ระบบจะถือว่าความละเอียดเวอร์ชัน "Nearest mod16" มีสัดส่วนภาพเดียวกัน
โหมดไม่บล็อก ImageAnalysis
- ตอนนี้ลักษณะการทำงานของ
ImageReaderMode.ACQUIRE_LATEST_IMAGEจะไม่บล็อกแล้ว โดยจะดึงรูปภาพล่าสุดในคิว แต่จะทิ้งรูปภาพที่ไม่ได้ใช้ไปเรื่อยๆ เพื่อให้ไปป์ไลน์ของกล้องไม่ถูกบล็อก - โดยเครื่องมือวิเคราะห์จะเก็บรูปภาพเดียวไว้ได้โดยไม่มีกำหนดเวลาโดยไม่ทำให้ไปป์ไลน์หยุดทำงาน
- หากแอปพลิเคชันมีตัวดำเนินการที่บล็อกอยู่ กรณีการใช้งาน 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 - แก้ไขปัญหาที่อุปกรณ์ LEGACY กำหนดให้ใช้สัดส่วนการแสดงผลที่เฉพาะเจาะจงเป็นความละเอียด JPEG สูงสุด
- แก้ไขปัญหาเมื่อเรียกใช้แอปในเบื้องหลังขณะที่กล้องกำลังเปิด
- แก้ไขปัญหาใน API < 25 โดยนำข้อผิดพลาด
checkAndUpdateEglState: invalid current EGLDisplayออก - แก้ไขปัญหาเมื่อยกเลิกการเชื่อมโยงตัวอย่างหลังจากเปิดใช้และเริ่มส่วนขยาย
- ตอนนี้อาร์ติแฟกต์บิลด์สำหรับมุมมองกล้องและส่วนขยายกล้องเผยแพร่เป็นเวอร์ชันอัลฟ่าแล้ว
Camera-Camera2 และ 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 สำหรับ "เป้าหมาย" ในการเรียกใช้การกำหนดค่า setTarget
Camera-Core
- แก้ไขปัญหาการขัดข้องของพื้นผิวอินพุต/เอาต์พุตที่ไม่ได้กำหนดค่าเมื่อเปิด/ปิดอย่างรวดเร็วหรือผูก/ยกเลิกการผูก
- เปลี่ยนไปใช้การใช้งานฟิวเจอร์สใหม่
- ทดสอบการแก้ไขเพื่อการทดสอบที่แข็งแกร่งยิ่งขึ้น
- ตอนนี้การทดสอบการผสานรวมหลักจะแสดงเวลาที่ถ่ายรูปภาพ
- พัฒนาคลาสความเข้ากันได้ภายในสำหรับ Executor
- การจับภาพแอปทดสอบเวลาจะรอให้การจับภาพก่อนหน้าเสร็จสมบูรณ์และปรับปรุงความเสถียร
ส่วนขยาย
- เพิ่มการตรวจสอบการควบคุมเวอร์ชัน
- การทดสอบเพิ่มเติม - การเรียกกลับของเหตุการณ์ส่วนขยาย
- การปรับปรุงรูปภาพและข้อมูลเมตาที่สอดคล้องกันภายใน
- การแก้ไขการสลับโหมดในแอปทดสอบ
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 มีคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาการหารด้วย 0 เมื่อใช้โปรแกรมจำลอง
- แก้ไขข้อผิดพลาด NullPointerException/Surface Abandoned ที่เกิดขึ้นในอุปกรณ์บางเครื่องเมื่อถ่ายรูปอย่างรวดเร็วขณะยกเลิกการเชื่อมโยงและเชื่อมโยงใหม่ในกรณีการใช้งานอย่างรวดเร็ว
- แก้ไขปัญหาภายในเพื่อให้แน่ใจว่าการอัปเดตคำขอจับภาพจะมีผลกับทุกแพลตฟอร์มอย่างสอดคล้องกัน
- การปรับปรุงความเสถียรเมื่อรีสตาร์ท Use Case ในอินสแตนซ์แอปใหม่
- การเปลี่ยนแปลงสถาปัตยกรรมภายในเพื่อเตรียมพร้อมรองรับ Executor ใน API
- การชี้แจงเพิ่มเติมเกี่ยวกับ Javadoc ในคลาส CameraX และการจัดการวงจร
- เพิ่มการทดสอบแบบมีเครื่องควบคุมสำหรับแอปทดสอบประสิทธิภาพ Antelope
- ไม่จำเป็นต้องใช้ "-keepattributes Signature" ในการกำหนดค่า Proguard ของแอป
Camera-Camera2 และ 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 มีคอมมิตเหล่านี้
Camera-Lifecycle เวอร์ชัน 1.0.0-beta11
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
Camera-Lifecycle เวอร์ชัน 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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- การเริ่มต้นไม่ควรขัดข้องอีกต่อไปเมื่อใช้ Context
ที่ไม่ได้แสดงผลออบเจ็กต์ Application จาก
Context.getApplicationContext()(I3d3c9, b/160817073)
Camera-Lifecycle เวอร์ชัน 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 ด้วย ProcessCameraProvider#configureInstance() ก่อนเรียกใช้ ProcessCameraProvider#getInstance() ซึ่งจะช่วยให้ปรับแต่ง CameraXConfig ได้โดยไม่ต้องใช้ CameraXConfig.Provider ในคลาส Application ของแอป (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 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขการถดถอยจากเบต้า 03 ที่การเรียก
bindToLifecycle()โดยไม่มีUseCaseจะทำให้เกิดข้อยกเว้นที่ส่งคืน ซึ่งจะป้องกันการดึงข้อมูล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, unbind และ unbindAll (I990d2)
Camera-Lifecycle เวอร์ชัน 1.0.0-alpha03
22 มกราคม 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้
อัปเดต
- การแก้ไขและการอัปเดตต่างๆ เพื่อรองรับการเปลี่ยนแปลงของ Camera Core และ Camera2
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 ของ camera-lifecycle มีคอมมิตต่อไปนี้
หมายเหตุเกี่ยวกับ API
- ระบบจะเพิ่มอาร์ติแฟกต์วงจรของกล้อง ซึ่งมี
LifeCycleCameraProviderอินเทอร์เฟซ และการติดตั้งใช้งานที่เรียกว่าProcessCameraProviderซึ่งมีฟังก์ชันหลายอย่างของคลาส CameraX ก่อนหน้าในส่วนหลัก และรับได้ผ่านเมธอดgetInstance() - แอปควรมีไลบรารีวงจรกล้องเพื่อใช้ CameraX
- ดูหมายเหตุในส่วน camera-core เพื่อดูวิธีเริ่มต้น CameraX โดยใช้
ProcessCameraProvider
ส่วนขยายกล้องและมุมมองกล้องเวอร์ชัน 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)- เปลี่ยนชื่อ
ExtensionsManager#getInstanceAPI เป็นgetInstanceAsyncเนื่องจากจะแสดงผลListenableFutureคำต่อท้าย Async ของชื่อฟังก์ชันจะแสดงอย่างชัดเจนว่าเป็นฟังก์ชันแบบไม่พร้อมกัน (I279d2) - นำพารามิเตอร์ความละเอียดออกจาก
ExtensionsManager#getEstimatedCaptureLatencyRangeAPI เนื่องจากผู้ใช้ไม่ทราบว่าImageCaptureรองรับขนาดใดบ้าง และไม่สามารถแยกแยะได้ว่าข้อมูลเวลาในการตอบสนองที่แสดงนั้นเป็นขนาดเอาต์พุตการจับภาพสูงสุดหรือพารามิเตอร์ความละเอียดของอินพุต (I74bb2) - ย้ายพารามิเตอร์
CameraProviderของฟังก์ชันExtensionsManagerไปยัง APIgetInstance()เพื่อให้ผู้ใช้ไม่ต้องป้อนพารามิเตอร์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 สาธารณะเพื่อกรองรายการ CameraInfo ตาม 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 ซึ่งจะช่วยให้ผสานรวม camera-core เข้ากับแอปพลิเคชันที่มี 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: ตัวรับ/ตัวตั้งค่าสำหรับสัดส่วนภาพเป้าหมาย ความละเอียดเป้าหมาย โหมดการจับภาพ CameraControl และตัวดำเนินการที่กำหนดเอง (Iea8f2)
- เพิ่มคลาส RotationReceiver ที่รับการเปลี่ยนแปลงการหมุนของ Surface ใช้เพื่อตั้งค่าการหมุนเป้าหมายเมื่ออุปกรณ์อยู่ในโหมดแนวตั้ง/แนวนอนแบบคงที่ (Ib278f)
- เปิดเผย API สาธารณะ getEstimatedCaptureLatencyRange ใหม่ในคลาส ExtensionsManager (I6a8ec)
- เลิกใช้งาน ExtensionsErrorListener แล้ว ปัจจุบันอินเทอร์เฟซนี้ใช้เพื่อตรวจสอบว่ามี Preview หรือ ImageCapture หรือไม่เมื่อเปิดใช้โหมดส่วนขยาย CameraX จะเพิ่ม Preview หรือ ImageCapture พิเศษโดยอัตโนมัติเพื่อให้ฟังก์ชันส่วนขยายทำงานได้ดี หลังจากนั้น ระบบจะไม่รายงานข้อผิดพลาดผ่านอินเทอร์เฟซนี้ (I47d9e)
- เปิดเผย API สาธารณะใหม่ของ ExtensionsManager getInstance, isExtensionAvailable และ getExtensionEnabledCameraSelector รวมถึงเลิกใช้งานคลาส
<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
- ตอนนี้ ExperimentalCameraFilter API ได้พ้นระยะทดลอง และกลายเป็น API อย่างเป็นทางการแล้ว โดยสามารถใช้ได้โดยไม่ต้องมี OptIn ที่มีการอธิบายประกอบ (I4bc94)
- เพิ่มยูทิลิตีที่แปลงพิกัดระหว่างกรณีการใช้งาน ตัวอย่างการใช้งาน: แปลงพิกัดที่ตรวจพบในกรณีการใช้งาน 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) - แก้ไขปัญหาการยืด PreviewView ใน 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)
การแก้ไขข้อบกพร่อง
- ปักหมุดการขึ้นต่อกันของมุมมองกล้องเพื่อใช้สิ่งประดิษฐ์ 1.0.0 การขึ้นอยู่กับ camera-view จะไม่ทำให้การแก้ปัญหาการขึ้นต่อกันของ Gradle อัปเกรด camera-core, camera-camera2 และ camera-lifecycle เป็นอาร์ติแฟกต์ 1.1.0 ล่าสุดโดยอัตโนมัติอีกต่อไป แม้ว่า camera-view จะยังคง เข้ากันได้กับอาร์ติแฟกต์เหล่านั้นหากตั้งค่าไว้อย่างชัดเจนให้ใช้ 1.1.0 (Ic8fa1, b/181599852)
- แก้ไขการแสดงตัวอย่างที่ยืดใน PreviewView ของ Samsung A3 (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
- เพิ่มตัวรับ 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 มีคอมมิตเหล่านี้
เปิดตัวเพื่อรองรับอาร์ติแฟกต์ไลบรารีกล้องอื่นๆ
ส่วนขยายกล้องและมุมมองกล้องเวอร์ชัน 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 วิธีนี้ใช้สําหรับการปรับแต่งการหมุนตัวอย่างเมื่อต้องการหมุนที่ไม่ใช่การหมุนจอแสดงผล เช่น จอแสดงผลระยะไกล หากต้องการจัดการการหมุนเวียนตัวอย่างที่ไม่ใช่โฆษณา Display ในตอนนี้ ให้ตั้งค่าการหมุนเวียนที่ต้องการด้วยPreview#setTargetRotation()และPreviewView#getViewPort(targetRotation)ที่เพิ่มเข้ามาใหม่ (Ib62cc) - เปลี่ยนชื่อ
createSurfaceProvider()เป็นgetSurfaceProvider()แล้ว เมธอดจะแสดงอินสแตนซ์เดียวกันของ Preview.SurfaceProvider เสมอ (Iff83c)
การแก้ไขข้อบกพร่อง
- บังคับให้ PreviewView ใช้ TextureView หากเปิดใช้เอฟเฟกต์ส่วนขยาย และการติดตั้งใช้งานไลบรารีของผู้ให้บริการต้องดำเนินการพิเศษบนพื้นผิวเอาต์พุต (I0c3cc)
- อนุญาตการหมุนเป้าหมายโดยพลการสำหรับตัวอย่าง ระบบจะคำนวณและส่งคืนข้อมูลการแปลงไปยังผู้ใช้แบบเรียลไทม์ผ่าน
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()จะใช้ Context เป็นพารามิเตอร์แทนที่จะมี 0 อาร์กิวเมนต์ (Ife754) การเริ่มต้นไม่ควรขัดข้องอีกต่อไปเมื่อใช้ Context ที่ไม่แสดงผลออบเจ็กต์ 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 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- เพิ่มอินเทอร์เฟซเวอร์ชันทดลองสำหรับการกรองกล้องตามรหัสกล้อง และ CameraCharacteristics (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 หลังจากเชื่อมโยงได้ไม่นาน การเชื่อมโยงวงจรขององค์ประกอบในสถานะ 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)
Camera-Extensions เวอร์ชัน 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#getPreviewStreamStateAPI ซึ่ง ช่วยให้แอปสังเกตได้ว่าตัวอย่างกำลังสตรีมอยู่หรือไม่ เมื่อ 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ปัญหาหน้าจอสีดำเมื่อปัดออกPreviewFragment แล้วปัดกลับเข้าไปใน ViewPager2 นอกจากนี้ เรายังแก้ไขปัญหาเมื่อremoveView(previewview)แล้วaddView(previewView)ด้วย (Iab555, b/149877652, b/147354615) - อัปเดต
CameraView#takePicture()API เพื่ออนุญาตให้บันทึกรูปภาพไปยังUriและOutputStreamอัปเดตแอปทดสอบเพื่อใช้Uriเป็นตัวอย่างที่ชัดเจน (Ia2459, b/153607583) - คุณตั้งค่าประเภทการปรับขนาดของ PreviewView จากเลย์เอาต์ XML ได้โดยการตั้งค่าแอตทริบิวต์
ScaleType(I08565, b/153015659) - นำ
CameraView.ScaleTypeออกแล้ว แต่ให้ใช้PreviewView.ScaleTypeเพื่อตั้งค่า/รับประเภทการปรับขนาดด้วย CameraView แทน (Ia8974, b/153014831) - กำหนดสีพื้นหลังให้กับ
PreviewViewโดยค่าเริ่มต้นหากยังไม่มี ซึ่งจะป้องกันไม่ให้เนื้อหาที่อยู่เบื้องหลังปรากฏก่อนที่สตรีมตัวอย่างจะเริ่ม (I09fad)
Camera-Extensions เวอร์ชัน 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 มีคอมมิตต่อไปนี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ทราบก่อนหน้านี้ซึ่งการใช้งาน
PreviewViewsurfaceView ทำงานได้ไม่ดีในอุปกรณ์บางรุ่น และทำให้แอปขัดข้องหลังจากกลับมาแสดงตัวอย่าง (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ไม่ถูกต้องเมื่อหยุดวงจรของหน้าต่างที่SurfaceViewอยู่ เมื่อรีสตาร์ท ระบบจะเปิดกล้องอีกครั้งและอาจพยายามแสดงตัวอย่างต่อก่อนที่พื้นผิวของSurfaceViewจะถูกต้องอีกครั้ง ในตอนนี้ คุณควรใช้ImplementationMode.TEXTURE_VIEW
การเปลี่ยนแปลง API
- เปลี่ยนชื่อ
PreviewView.setImplementationMode()เป็นPreviewView.setPreferredImplementationMode()แล้ว - เปลี่ยนชื่อ
PreviewView.getImplementationMode()เป็นPreviewView.getPreferredImplementationMode()แล้ว - แทนที่
PreviewView.getSurfaceProvider()ด้วยPreviewView.createSurfaceProvider(CameraInfo)ซึ่งใช้อินสแตนซ์CameraInfoที่อนุญาตให้เป็น Null เพื่อเพิ่มประสิทธิภาพการแสดงตัวอย่างโดยใช้ImplementationMode.SURFACE_VIEWทุกครั้งที่ทำได้ หากส่งอินสแตนซ์เป็น Null หรือตั้งค่าโหมดการติดตั้งใช้งานที่ต้องการเป็นImplementationMode.TEXTURE_VIEWระบบจะใช้ImplementationMode.TEXTURE_VIEWภายใน โค้ดตัวอย่างต่อไปนี้แสดงวิธีใช้กรณีการใช้งานการแสดงตัวอย่างที่เคยใช้กับ 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()จะยกเลิกไม่ได้ เพื่อป้องกันไม่ให้อุปกรณ์รุ่นเก่าขัดข้องเนื่องจาก การปล่อยพื้นผิวเร็วเกินไป ตอนนี้ระบบใช้SurfaceRequest.Resultออบเจ็กต์ เพื่อติดตามวิธีที่SurfaceRequestใช้Surfaceที่ระบุ (I7854b) - เปลี่ยนชื่อ
SurfaceRequest.setSurface(Surface)เป็นSurfaceRequest.provideSurface(Surface)และSurfaceRequest.setWillNotComplete()เป็นSurfaceRequest.willNotProvideSurface()(I224fe) - แก้ไขการเริ่มต้นตัวแปรแอปที่เปิดใช้ ProGuard โดยการเก็บรักษา
แฟล็กที่ตั้งค่าผู้ให้บริการ
CameraXConfigเริ่มต้น (I2d6c1)
Camera-Extensions เวอร์ชัน 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
- การติดตั้งใช้งาน
PreviewViewของTextureViewจะตั้งค่าขนาดของTextureViewเป็นขนาดเอาต์พุตของเซ็นเซอร์กล้องก่อนที่จะปรับขนาดให้เต็มPreviewViewหลัก หากต้องการให้ตัวอย่างกล้องครอบคลุมทั้งส่วนของ UI (เช่น ทั้งหน้าจอ) คุณไม่ควรตั้งค่าขนาดของPreviewViewเป็นค่าคงที่ หรือให้ครอบคลุมเนื้อหา (โดยใช้แอตทริบิวต์ "wrap_content" เป็นต้น) ซึ่งอาจส่งผลให้ตัวอย่างกล้องครอบคลุมเฉพาะส่วนของPreviewView(หากขนาดเอาต์พุตของเซ็นเซอร์กล้องมีขนาดเล็กกว่า) แต่คุณควรตั้งค่าPreviewViewให้มีขนาดใหญ่เท่ากับองค์ประกอบหลัก (เช่น ใช้แอตทริบิวต์ "match_parent") (1204869)
การแก้ไขข้อบกพร่อง
- อัปเดต
ImageCaptureเพื่ออนุญาตให้บันทึกรูปภาพไปยังUriและOutputStreamรวมวิธีการtakePictureที่โอเวอร์โหลดไว้เป็นหนึ่งเดียว อัปเดตแอปทดสอบเพื่อใช้Uriเป็นตัวอย่างที่ชัดเจน (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 และ Camera2
Camera-View เวอร์ชัน 1.0.0-alpha06
22 มกราคม 2020
androidx.camera:camera-view:1.0.0-alpha06 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha06 มีคอมมิตเหล่านี้
อัปเดต
- การแก้ไขและการอัปเดตต่างๆ เพื่อรองรับการเปลี่ยนแปลงของ Camera Core และ Camera2
ส่วนขยายกล้อง เวอร์ชัน 1.0.0-alpha05
18 ธันวาคม 2019
androidx.camera:camera-extensions:1.0.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha05 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- อัปเดตให้ตรงกับ 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 ของ camera-extensions มีคอมมิตเหล่านี้
การเปลี่ยนแปลง API
ปัจจุบันการตรวจสอบความพร้อมใช้งานและการเปิดใช้ส่วนขยายจะใช้
CameraSelectorเป็นพารามิเตอร์อินพุต โดยต้องเป็นCameraSelectorเดียวกันกับที่ใช้ผูกกรณีการใช้งานval 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เพื่อเชื่อมต่อกรณีการใช้งานเวอร์ชันพรีวิวได้อย่างง่ายดายpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)ตอนนี้ "
ZoomLevel" เปลี่ยนเป็น "ZoomRatio" ในการตั้งชื่อ API แล้วพารามิเตอร์ของเมธอดบางรายการมีการเปลี่ยนแปลงค่า Null
ส่วนขยายกล้องและมุมมองกล้องเวอร์ชัน 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 เปิดตัวแล้ว โดยมี
คอมมิตที่รวมอยู่ใน camera-extensions: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 เปิดตัวแล้ว
โดยมี
คอมมิตที่รวมอยู่ใน camera-extensions:1.0.0-alpha01
และคอมมิตที่รวมอยู่ใน
camera-view:1.0.0-alpha01
- ไลบรารีใหม่สำหรับส่วนขยายกล้องในอนาคตเพื่อเข้าถึงเอฟเฟ็กต์ในอุปกรณ์ที่รองรับ ไลบรารีนี้ยังอยู่ระหว่างการพัฒนา
- คลาส Camera View ใหม่ ไลบรารีนี้ยังอยู่ระหว่างการพัฒนา