CameraX

CameraX เป็นส่วนเสริมของ Jetpack ที่ช่วยให้เพิ่มความสามารถของกล้องลงในแอปได้ง่ายขึ้น ไลบรารีนี้มีการแก้ไขความเข้ากันได้และวิธีแก้ปัญหาหลายอย่าง เพื่อช่วยให้ประสบการณ์ของนักพัฒนาแอปสอดคล้องกันในอุปกรณ์หลายๆ รุ่น

ตารางนี้แสดงอาร์ติแฟกต์ทั้งหมดในกลุ่ม androidx.camera

อาร์ติแฟกต์ รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
camera-camera2 1.4.2 - 1.5.0-beta02 -
camera-core 1.4.2 - 1.5.0-beta02 -
camera-compose - - 1.5.0-beta02 -
camera-effects 1.4.2 - 1.5.0-beta02 -
ส่วนขยายกล้อง 1.4.2 - 1.5.0-beta02 -
camera-feature-combination-query - - - 1.5.0-alpha06
camera-feature-combination-query-play-services - - - 1.5.0-alpha06
วงจรกล้อง 1.4.2 - 1.5.0-beta02 -
camera-mlkit-vision 1.4.2 - 1.5.0-beta02 -
มุมมองกล้อง 1.4.2 - 1.5.0-beta02 -
ช่องมองภาพของกล้อง - - 1.3.0-beta02 1.4.0-alpha07
กล้อง - วิดีโอ 1.4.2 - 1.5.0-beta02 -
ไลบรารีนี้ได้รับการอัปเดตล่าสุดเมื่อวันที่ 16 กรกฎาคม 2025

การทดสอบอุปกรณ์

เราทดสอบ CameraX ในอุปกรณ์หลายรุ่นในห้องทดลอง หากต้องการดูรายการอุปกรณ์ที่อยู่ในห้องทดลองในขณะนี้ โปรดดูอุปกรณ์ที่ผ่านการทดสอบในห้องทดลองของ CameraX

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ใน CameraX คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมได้ที่ที่เก็บ Maven ของ Google

เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle สำหรับแอปหรือโมดูลของคุณ

Groovy

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.5.0-beta02"
  // The following line is optional, as the core library is included indirectly by camera-camera2
  implementation "androidx.camera:camera-core:${camerax_version}"
  implementation "androidx.camera:camera-camera2:${camerax_version}"
  // If you want to additionally use the CameraX Lifecycle library
  implementation "androidx.camera:camera-lifecycle:${camerax_version}"
  // If you want to additionally use the CameraX VideoCapture library
  implementation "androidx.camera:camera-video:${camerax_version}"
  // If you want to additionally use the CameraX View class
  implementation "androidx.camera:camera-view:${camerax_version}"
  // If you want to additionally add CameraX ML Kit Vision Integration
  implementation "androidx.camera:camera-mlkit-vision:${camerax_version}"
  // If you want to additionally use the CameraX Extensions library
  implementation "androidx.camera:camera-extensions:${camerax_version}"
}

Kotlin

dependencies {
    // CameraX core library using the camera2 implementation
    val camerax_version = "1.5.0-beta02"
    // 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

  • เปลี่ยนชื่อ ViewfinderImplementationMode Enums เพื่อให้สะท้อนการใช้งานพื้นฐานได้ดียิ่งขึ้น และเพิ่มค่าคงที่ที่แก้ไขแล้วสำหรับ TransformationInfo.sourceRotation (Ic6149)
  • เพิ่ม ZoomGestureDetector.ZoomEvent เพื่อห่อหุ้มสถานะของท่าทางการซูม (I84cdf)

กล้องเวอร์ชัน 1.5

เวอร์ชัน 1.5.0-beta02

16 กรกฎาคม 2025

androidx.camera:camera-*:1.5.0-beta02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.5.0-beta02 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่ม API ใหม่เพื่อตั้งค่าหรือค้นหากลุ่มฟีเจอร์คุณภาพสูงได้อย่างแม่นยำและเป็นธรรมชาติมากขึ้น เนื่องจากฟีเจอร์เหล่านี้อาจไม่รองรับการใช้งานร่วมกันในอุปกรณ์บางรุ่น ตอนนี้ SessionConfig มี API ใหม่เพื่อระบุกลุ่มฟีเจอร์เป็น "ต้องระบุ" หรือ "แนะนำ" CameraInfo.isFeatureGroupSupported API ช่วยให้ทราบว่าระบบรองรับกลุ่มฟีเจอร์หรือไม่ก่อนที่จะเชื่อมโยง SessionConfig SessionConfig ยังช่วยให้ตั้งค่า Listener เพื่อทราบว่าฟีเจอร์ใดที่เลือกในที่สุดเมื่อผูกการกำหนดค่าเซสชันแล้ว (Ie4d60)
  • เพิ่ม API ใหม่ SessoinConfig.Builder.setFrameRateRange(Range<Integer>) และ CameraInfo.getSupportedFrameRateRanges(SessionConfig) ซึ่งช่วยให้นักพัฒนาแอปค้นหาอัตราเฟรมที่รองรับที่รับประกันซึ่งจำกัดโดย SessionConfig ที่เฉพาะเจาะจง แล้วจึงใช้อัตราเฟรมกับ SessionConfig (Ieacf7)
  • เปิดตัว SessionConfig API ใหม่ ซึ่งมีการแยกส่วนที่ดีขึ้นสำหรับการกำหนดค่า Use Case, พารามิเตอร์เซสชัน, CameraEffect, ViewPort และอื่นๆ การเชื่อมโยง SessionConfig กับ LifecycleOwner จะเปิดเซสชันกล้อง กำหนดค่าโดยใช้ Use Case และพารามิเตอร์เซสชันที่ระบุ และใช้ CameraEffect และ ViewPort ที่กำหนด เมื่ออัปเดต SessionConfig ใหม่เป็น LifecycleOwner เดียวกัน คุณเพียงแค่ต้องเชื่อมโยง Sessionconfig ใหม่โดยไม่ต้องเรียกใช้การเลิกเชื่อมโยงหรือ unbindAll ก่อน (Iedfc3)
  • เพิ่ม API ใหม่เพื่อบันทึกวิดีโอความเร็วสูง/สโลว์โมชัน ดูรายละเอียดเพิ่มเติมได้ที่ HighSpeedVideoSessionConfig API (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 จะทำให้ SurfaceRequest ของ CameraX ปัจจุบันใช้งานไม่ได้ เพื่อให้ CameraX ใช้ Surface ใหม่ได้ (I79432)
  • แก้ไขปัญหาใน Android 10/11 ที่ EXTERNAL CameraXViewfinder อาจดูยืดออกหรือผิดเพี้ยนเนื่องจากมีการดำเนินการเปลี่ยนรูปแบบ (เช่น การปรับขนาดหรือการแปล) เร็วเกินไป ตอนนี้ระบบจะรอให้สร้าง Surface ก่อนที่จะใช้การเปลี่ยนรูปแบบเหล่านี้ในระยะเลย์เอาต์ เพื่อให้มั่นใจว่าเอาต์พุตถูกต้อง (Icc77c)
  • ตอนนี้ Composable CameraXViewfinder ทำงานร่วมกับ Pager ของ Compose ได้อย่างถูกต้องแล้ว การเปลี่ยนแปลงนี้ช่วยให้มั่นใจได้ว่าสามารถรีเซ็ต Composable ได้สำเร็จโดยการใช้onReset Callback ของ 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 ขณะที่ API LiveData<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.OnImageCapturedCallback API ตอนนี้คุณสามารถใช้ 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#getSupportedOutputFormats OUTPUT_FORMAT_RAW ใช้เพื่อถ่ายภาพ RAW ซึ่งเป็นรูปแบบ DNG ของ Adobe และ OUTPUT_FORMAT_RAW_JPEG ใช้เพื่อถ่ายภาพ RAW และ JPEG พร้อมกัน ImageCapture#takePicture API ใหม่ใช้สำหรับการจับภาพพร้อมกัน จึงต้องระบุ OutputFileOptions 2 รายการ โดยรายการแรกสำหรับรูปภาพ 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 ระบบจะเขียนทับอัตราเฟรมเป้าหมายที่ตั้งค่าผ่าน API setTargetFrameRate หรือ Camera2Interop เสมอเป็นค่าที่ AeFpsRangeLegacyQuirk ระบุ การแก้ไขนี้จะทำให้ไลบรารี CameraX ยึดตามค่าที่ตั้งค่าผ่าน setTargetFrameRate หรือ Camera2Interop API (Ie2d32)
  • เพิ่มฟังก์ชันการทำงานของแฟลช/ไฟฉาย/3A สำหรับการจับภาพด้วย CameraEffect รูปภาพที่ถ่ายด้วย CameraEffect ควรมีการประมวลผลก่อนและหลังการถ่ายภาพเหมือนกับการถ่ายภาพที่ไม่มี CameraEffect (เช่น การทริกเกอร์แฟลช การรวม 3A ฯลฯ เมื่อเกี่ยวข้อง) (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 ซึ่งจะแสดงสตรีมตัวอย่างจาก CameraX SurfaceRequest จาก camera-core (I8666e)
  • เพิ่ม Composable ใหม่ CameraXViewfinder ซึ่งทำหน้าที่เป็น Composable ที่เป็นสำนวนซึ่งปรับ SurfaceRequest ของ CameraX ให้เหมาะกับ Composable Viewfinder (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 ควรมีการประมวลผลก่อนและหลังการถ่ายภาพเหมือนกับการถ่ายภาพที่ไม่มี CameraEffect (เช่น การทริกเกอร์แฟลช การรวม 3A ฯลฯ เมื่อเกี่ยวข้อง) (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 + ImageCapture UseCase (I5a463, b/336925549)
  • การบันทึกอย่างต่อเนื่องที่แก้ไขแล้วอาจบันทึกต่อไม่ได้หลังจากเปลี่ยนกล้อง (Icb0a1)

เวอร์ชัน 1.4.0-beta01

14 พฤษภาคม 2024

androidx.camera:camera-*:1.4.0-beta01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-beta01 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่ม ZoomGestureDetector.ZoomEvent เพื่อห่อหุ้มสถานะของท่าทางการซูม (I84cdf)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องที่ยังคงทำให้การจับภาพและแตะเพื่อโฟกัสไม่ใช้ค่า FPS/โหมดการป้องกันภาพสั่นของคำขอที่ทำซ้ำ ซึ่งอาจสร้างเซสชันการจับภาพใหม่และทำให้เกิดปัญหาด้านเวลาในการตอบสนองหรือการหยุดแสดงตัวอย่างในอุปกรณ์บางรุ่น (I7dc0b)
  • แก้ไขข้อบกพร่องที่ทำให้เลือกความละเอียดสูงไม่ได้เมื่อเปิดใช้ CameraEffect ในอุปกรณ์บางเครื่อง (เช่น 4000x3000 ใน Samsung A32 5G) (Ie3ed3, b/337336152)
  • แก้ไขข้อขัดข้องเมื่อถ่ายภาพด้วยการแสดงตัวอย่าง ImageCapture และ VideoCapture(UHD) ใน Pixel 4XL API29 (I5b288)
  • รองรับอุปกรณ์เสมือน: บริบทที่ส่งไปยัง ProcessCameraProvider จะเก็บรักษารหัสอุปกรณ์ไว้เพื่อให้มั่นใจว่าฟังก์ชันการทำงานในสภาพแวดล้อมของอุปกรณ์เสมือนจะยังคงอยู่ (I5ba48)

เวอร์ชัน 1.4.0-alpha05

17 เมษายน 2024

androidx.camera:camera-*:1.4.0-alpha05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha05 มีการเปลี่ยนแปลงเหล่านี้

ฟีเจอร์ใหม่

  • แปลง ProcessCameraProvider เป็นการใช้งาน Kotlin (I46d4f)
  • เพิ่มImageCapture.takePictureฟังก์ชันระงับเพื่อให้เรียกใช้ในลักษณะของ Kotlin ได้ (I920be)

การเปลี่ยนแปลง API

  • เพิ่ม API รูปแบบเอาต์พุตไปยัง ImageCapture และเพิ่มเมธอด getSupportedOutputFormats ไปยัง ImageCaptureCapabilities เพื่อค้นหาความสามารถของอุปกรณ์ ค่ารูปแบบเอาต์พุตเริ่มต้นคือ OUTPUT_FORMAT_JPEG ซึ่งจะบันทึกภาพ SDR ในรูปแบบ JPEG เมื่ออุปกรณ์รองรับ Ultra HDR และตั้งค่ารูปแบบเอาต์พุตเป็น OUTPUT_FORMAT_JPEG_ULTRA_HDR CameraX จะบันทึกรูปภาพที่บีบอัด 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)
  • RetryPolicy API ใหม่ช่วยให้นักพัฒนาแอปปรับแต่งลักษณะการทำงานของการลองใหม่สำหรับการเริ่มต้น CameraX ได้ (I36dd2)
  • เปิดใช้การสร้างออบเจ็กต์ ImageCaptureLatencyEstimate เพื่อช่วยในการทดสอบ (Iaba99)
  • เพิ่ม ImageAnalysis#COORDINATE_SYSTEM_SENSOR เมื่อใช้ฟังก์ชันนี้ MlKitAnalyzer จะแสดงพิกัดในระบบพิกัดเซ็นเซอร์กล้อง (I3ec61)
  • เปิดเผย API ข้อมูลเมตาของส่วนขยาย อินเทอร์เฟซ CameraExtensionsInfo และ CameraExtensionsControl ใหม่ช่วยให้แอปพลิเคชันสามารถตรวจสอบและปรับการตั้งค่าความแข็งแรงของส่วนขยายได้ แอปพลิเคชันสามารถรับอินสแตนซ์ CameraExtensionsInfo หรือ CameraExtensionsControl ผ่านเมธอด ExtensionsManager#getCameraExtensionsInfo() หรือ ExtensionsManager#getCameraExtensionsControl() ที่เพิ่งเพิ่มเข้ามาใหม่ (I28e1a)
  • เพิ่ม ProcessCameraProvider.awaitInstance ซึ่งเป็นเวอร์ชันที่ระงับของ ProcessCameraProvider.getInstance (Ib22b9)
  • เพิ่ม PreviewView#getSensorToViewTransform() API เมทริกซ์แสดงการแปลงจากพิกัดเซ็นเซอร์กล้องเป็นพิกัดของ PreviewView ซึ่งใช้เพื่อแปลงพิกัดจาก UseCase หนึ่งไปยังอีก UseCase หนึ่งได้ เช่น การแปลงพิกัดของออบเจ็กต์ที่ตรวจพบใน ImageAnalysis เป็นภาพซ้อนทับ PreviewView (I947ab)
  • ทำให้ camera-viewfinder-core API ทั่วไปมากขึ้นเพื่อให้ camera-viewfinder และ camera-viewfinder-compose ใช้ได้ (I1e295)
  • เพิ่มฟังก์ชัน getSurface ลงใน ViewfinderSurfaceRequest (I781a0)
  • ใช้ camera-viewfinder-core ใน camera-viewfinder และเลิกใช้งาน ViewfinderSurfaceRequest และ CameraViewfinder (I6198c)
  • เพิ่ม ZoomGestureDetector ที่ตีความท่าทางการปรับขนาดซึ่งกำหนดค่ามาโดยเฉพาะสำหรับกิจกรรมการบีบนิ้วเพื่อซูม (Ifafbf)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการเลือกความละเอียดของ ImageAnalysis ที่เกี่ยวข้องกับการตั้งค่าความละเอียดเป้าหมายเริ่มต้นของเครื่องมือวิเคราะห์ โดยระบบจะเก็บความละเอียดเป้าหมายเป็น 640x480 อย่างไม่ถูกต้อง แม้ว่าแอปพลิเคชันจะตั้งค่าความละเอียดเริ่มต้นของเครื่องมือวิเคราะห์เป็นค่าอื่นก็ตาม หากแอปพลิเคชันพบปัญหานี้ (1.3.0 ~ 1.3.2) และอัปเกรดเพื่อใช้เวอร์ชันที่ใหม่กว่าซึ่งมีวิธีแก้ปัญหาไม่ได้ การตั้งค่า ResolutionSelector โดยตรงด้วยความละเอียดที่ต้องการและ AspectRatioStrategy ที่ตรงกันกับ ImageAnalysis UseCase จะช่วยแก้ปัญหานี้ได้ (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 ของ CameraEffect API ที่จัดการเอาต์พุตของกล้องได้อย่างมีประสิทธิภาพ
  • OverlayEffect: สำหรับการวาดภาพซ้อนทับด้วย Canvas API ของ Android ซึ่งจะช่วยให้แอปใช้ลายน้ำหรือไฮไลต์ออบเจ็กต์ที่ตรวจพบบนเอาต์พุตของกล้องได้
  • DynamicRange API สำหรับกรณีการใช้งานตัวอย่าง: ตอนนี้คุณตั้งค่าช่วงไดนามิกในกรณีการใช้งานตัวอย่างได้แล้วโดยไม่ขึ้นอยู่กับกรณีการใช้งานวิดีโอ ซึ่งจะช่วยให้ใช้ช่วงไดนามิก 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 เพื่อรับการแจ้งเตือนความคืบหน้าของ Postview และกระบวนการได้หากรองรับ (I5cd88)
  • API สำหรับคำนวณการแปลงพิกัดจากเซ็นเซอร์ไปยังบัฟเฟอร์ปัจจุบัน โดยมีแฟล็กที่ระบุว่า Surface มีข้อมูลการวางแนวกล้องหรือไม่ (I59096)
  • เปิดเผย API เพื่อค้นหา PreviewCapabitlity ในเวอร์ชันตัวอย่าง UseCase (Ie5b6c)
  • เพิ่ม API เพื่อรองรับคุณภาพที่มากขึ้นสำหรับ VideoCapture Recorder.Builder#setVideoCapabilitiesSource(int) สามารถใช้กับ VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES เพื่อสร้างอินสแตนซ์ Recorder ที่รองรับคุณภาพมากกว่า VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE กรณีการใช้งานที่พบบ่อยคือเมื่อแอปพลิเคชันพยายามบันทึกวิดีโอ UHD ทุกครั้งที่ทำได้ แต่ CamcorderProfile ของอุปกรณ์ไม่มีการตั้งค่า UHD แม้ว่าตัวแปลงรหัสจะบันทึกวิดีโอ UHD ได้ก็ตาม (Iedbe2, b/263961771)
  • เพิ่มตัวรับ/ตัวตั้งค่ารูปแบบเอาต์พุต ImageAnalysis ลงใน CameraController (I9a96c, b/308240643)

การแก้ไขข้อบกพร่อง

  • จากกล้อง 1.3.1: ปรับปรุงProcessCameraProvider#bindToLifecycle()ประสิทธิภาพ การเปลี่ยนแปลงที่สำคัญคือการเพิ่มประสิทธิภาพกระบวนการระบุชุดขนาดที่เหมาะสมที่สุดสำหรับ UseCases ผลลัพธ์ที่เหมาะสมที่สุดจะแตกต่างกันไปตามการผสมผสาน UseCase ที่เฉพาะเจาะจงและจำนวนขนาดเอาต์พุตที่รองรับสำหรับอุปกรณ์เป้าหมาย (I454f2)
  • อนุญาตให้ใช้ VideoCapture เมื่อเปิดใช้ส่วนขยาย (I91f32)
  • แก้ไขปัญหาภาพ JPEG ที่ถ่ายขนาดใหญ่ในอุปกรณ์ Samsung A71 และ M51 รูปภาพ JPEG ที่บันทึกไว้มีข้อมูลการเพิ่ม 0 ที่ซ้ำซ้อนในส่วนข้อมูลที่บีบอัด JFIF ซึ่งจะทำให้รูปภาพที่ถ่ายมีขนาดไฟล์ใหญ่มาก ระบบจะนำข้อมูลการเพิ่ม 0 ที่ซ้ำซ้อนออกเพื่อให้รูปภาพที่ถ่ายมีขนาดไฟล์ภาพตามปกติ (I01afc, b/288828159)
  • ปิดใช้การรองรับ ImageAnalysis ใน Pixel เพื่อหลีกเลี่ยงข้อบกพร่องใน Pixel ที่แสดงขนาดที่รองรับ ImageAnalysis ที่ไม่ว่างโดยไม่ตั้งใจ (I7ec31)
  • แก้ไขปัญหาด้านประสิทธิภาพที่การโหลด CPU และการใช้พลังงานเพิ่มขึ้นเมื่อเปิดใช้ส่วนขยาย (Ibdccb)
  • เพิ่ม Snapdragon 480 ลงใน CameraUseInconsistentTimebaseQuirk การแก้ไขนี้จะช่วยแก้ปัญหาใน Android 12 สำหรับอุปกรณ์ที่ใช้ชิปเซ็ตนี้ ซึ่งเสียงในไฟล์บันทึกจะช้ากว่าเวลาที่อุปกรณ์อยู่ในสถานะระงับ (I58010)

เวอร์ชัน 1.4.0-alpha02

18 ตุลาคม 2023

androidx.camera:camera-*:1.4.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha02 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เปลี่ยนชื่อ API เป็น setCameraOpenRetryMaxTimeoutInMillisWhileResuming และเปลี่ยนชื่ออาร์กิวเมนต์ (I72370)
  • เพิ่ม API เพื่อค้นหาความสามารถของอุปกรณ์และเปิดใช้การป้องกันภาพสั่นไหวของวิดีโอ/ตัวอย่าง (I87544)
  • ระบุ API เพื่อปรับแต่งระยะหมดเวลาสูงสุดของการลองเปิดกล้องอีกครั้ง (I0c642)
  • เปิดตัว ProcessCameraProvider.shutdownAsync เป็น API สำหรับการทดสอบแบบสาธารณะเพื่อให้ใช้ผู้ให้บริการกล้องของกระบวนการในชุดทดสอบได้ ซึ่งอาจต้องเริ่มต้น CameraX ในรูปแบบต่างๆ ระหว่างการทดสอบ (I9eca7)
  • เพิ่ม API สำหรับกำหนดค่าช่วงไดนามิก อัตราเฟรม และโหมดมิเรอร์ของการจับภาพวิดีโอ (Ifb8f7)
  • เลิกใช้งาน OutputSize และแทนที่ด้วย ResolutionSelector ResolutionSelector เป็นวิธีที่ครอบคลุมกว่าในการเลือกความละเอียด และสอดคล้องกับ API หลักของกล้อง (I93abd, b/286801438)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาตัวอย่างสีดำใน Samsung Galaxy S23 Ultra 5G เมื่อเปิดใช้โบเก้ของส่วนขยายหรือการรีทัชใบหน้าด้วย ImageAnalysis ในกล้องหลัง (I2e8b1)
  • แก้ไขปัญหาการแสดงตัวอย่างและVideoCaptureยืดบน Moto E5 Play (73dce2)

เวอร์ชัน 1.4.0-alpha01

20 กันยายน 2023

androidx.camera:camera-*:1.4.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha01 มีคอมมิตต่อไปนี้

การเปลี่ยนแปลง API

  • เพิ่ม API ใหม่เพื่อเข้าถึงข้อมูลแอมพลิจูดของเสียงขณะบันทึก (Id4925)

การแก้ไขข้อบกพร่อง

  • ปรับปรุงความเสถียรของส่วนขยายโดยตรวจสอบว่าเหตุการณ์การเริ่มต้นและการเลิกเริ่มต้นทริกเกอร์ตามลำดับที่ถูกต้อง (Ib3b8e)
  • แก้ไขการกำหนดค่าเซสชันการจับภาพไม่สำเร็จเนื่องจากเกินชุดค่าผสมของพื้นผิวที่รองรับเนื่องจากการเพิ่มพื้นผิวที่ทำซ้ำเพิ่มเติมภายใน (Id718c)
  • แก้ไขปัญหาภาพ JPEG ขนาดใหญ่ที่ถ่ายในอุปกรณ์ Vivo S16 รูปภาพ JPEG ที่บันทึกไว้มีข้อมูลการเพิ่ม 0 ที่ซ้ำซ้อนในส่วนข้อมูลที่บีบอัด JFIF ซึ่งจะทำให้รูปภาพที่ถ่ายมีขนาดไฟล์ใหญ่ ระบบจะนำข้อมูลการเพิ่ม 0 ที่ซ้ำซ้อนออกเพื่อให้รูปภาพที่ถ่ายมีขนาดไฟล์ภาพตามปกติ (I79505, b/299069235)
  • แก้ไขปัญหาที่ImageAnalysisผูกกับImageCaptureและตัวอย่างไม่ได้เมื่อเปิดใช้โหมดส่วนขยายบางโหมดในอุปกรณ์บางเครื่อง การแก้ไขจะแสดงค่าที่ถูกต้องเมื่อแอปค้นหาImageAnalysisความพร้อมจำหน่ายผ่านExtensionsManager#isImageAnalysisSupported() (I7d538)
  • อัปเดต JavaDoc ให้ตรงกับลักษณะการทำงาน #setZoomRatio, #setLinearZoom และ #enableTorch จะรอจนกว่ากล้องจะพร้อมแทนที่จะดำเนินการให้เสร็จสมบูรณ์ทันที นอกจากนี้ ยังได้เพิ่มข้อมูลเกี่ยวกับวิธีรับ FOV สูงสุดด้วย #takePicture API (I23588)

เวอร์ชัน 1.3

เวอร์ชัน 1.3.4

12 มิถุนายน 2024

androidx.camera:camera-*:1.3.4 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.4 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่ getZoomRatio แสดงค่าที่ลดลงอย่างไม่ถูกต้องเมื่อใช้สัดส่วนการซูมที่เพิ่มขึ้น (I4aa0d, b/317543616)
  • แก้ไขการจับภาพนิ่ง/แตะเพื่อโฟกัสที่ไม่ได้ใช้ค่า FPS/โหมดการป้องกันภาพสั่นของคำขอที่ทำซ้ำ ซึ่งอาจสร้างเซสชันการจับภาพใหม่และทำให้เกิดปัญหาด้านเวลาในการตอบสนองหรือการหยุดแสดงตัวอย่างในอุปกรณ์บางรุ่น (I7dc0b)
  • แก้ไขปัญหาที่ระบบตั้งค่าอัตราเฟรมให้ต่ำลงเมื่อโทร setTargetFrameRate ด้วย FRAME_RATE_RANGE_UNSPECIFIED (I78c61)

เวอร์ชัน 1.3.3

17 เมษายน 2024

androidx.camera:camera-*:1.3.3 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.3 มีการเปลี่ยนแปลงเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการเลือกความละเอียดของ ImageAnalysis ที่เกี่ยวข้องกับการตั้งค่าความละเอียดเป้าหมายเริ่มต้นของเครื่องมือวิเคราะห์ โดยระบบจะเก็บความละเอียดเป้าหมายเป็น 640x480 อย่างไม่ถูกต้อง แม้ว่าแอปพลิเคชันจะตั้งค่าความละเอียดเริ่มต้นของเครื่องมือวิเคราะห์เป็นค่าอื่นก็ตาม หากแอปพลิเคชันพบปัญหานี้ (1.3.0 ~ 1.3.2) และอัปเกรดเพื่อใช้เวอร์ชันที่ใหม่กว่าซึ่งมีวิธีแก้ปัญหาไม่ได้ การตั้งค่า ResolutionSelector โดยตรงด้วยความละเอียดที่ต้องการและ AspectRatioStrategy ที่ตรงกันกับ ImageAnalysis UseCase จะช่วยแก้ปัญหานี้ได้ (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 มิลลิวินาที
  • 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

เวอร์ชัน 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)
  • เพิ่ม isImageAnalysisSupported API ลงใน ExtensionsManager ซึ่งแอปสามารถระบุได้ว่า ImageAnalysis กรณีการใช้งานสามารถเชื่อมโยงกับตัวอย่างและ ImageCapture ได้หรือไม่เมื่อเปิดใช้ส่วนขยาย (I1bc63)
  • VideoCapabilities คลาสใหม่ที่ได้จาก Recorder สามารถใช้เพื่อค้นหาช่วงไดนามิกและคุณภาพที่รองรับสำหรับการบันทึกวิดีโอบนอุปกรณ์ได้ เรากำลังจะเลิกใช้งานเมธอด getSupportedQualities() และ isQualitySupported() ของ QualitySelector โปรดใช้วิธีการ getSupportedQualities() และ isQualitySupported() ของ VideoCapabilities แทน (I04014)
  • CameraController#setVideoCaptureTargetQuality() เปลี่ยนชื่อเป็น setVideoCaptureQualitySelector และรับอาร์กิวเมนต์ QualitySelector ซึ่งช่วยให้ตั้งค่าคุณภาพวิดีโอได้ยืดหยุ่นมากขึ้น CameraController#getVideoCaptureTargetQuality() จะเปลี่ยนเป็น getVideoCaptureQualitySelector ตามนั้น (I520ed)
  • นำคำอธิบายประกอบเวอร์ชันทดลองสำหรับฟีเจอร์วิดีโอออกแล้ว ตอนนี้ฟีเจอร์วิดีโอเสถียรแล้ว (I1a113)

การแก้ไขข้อบกพร่อง

  • ใช้ไฟฉายเป็นแฟลชในรุ่น Samsung SM-A320 เพื่อปรับปรุงความเร็วและคุณภาพของรูปภาพที่ถ่ายในสภาวะแสงน้อย (I6a022, b/286190938)
  • เพิ่มการรองรับรูปแบบ ImageFormat.JPEG สำหรับ ImageProxy.toBitmap() หากถอดรหัสอาร์เรย์ไบต์ JPEG ไม่ได้ ระบบจะแสดง UnsupportedOperationException (I81958, b/282057603)

เวอร์ชัน 1.3.0-alpha07

24 พฤษภาคม 2023

androidx.camera:camera-*:1.3.0-alpha07 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha07 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • VideoCapture.Builder# setTargetFrameRate(Range) API ใหม่ช่วยให้บันทึกวิดีโอที่อัตราเฟรมอื่นๆ นอกเหนือจากค่าเริ่มต้นของอุปกรณ์ได้ คุณค้นหาอัตราเฟรมที่ใช้ได้สำหรับการบันทึกได้ผ่าน 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 และเลิกใช้งาน API ImageAnalysis.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()
  • ขอแนะนำ ResolutionSelector API ใหม่ซึ่งครอบคลุมฟีเจอร์ต่อไปนี้
    • แอปพลิเคชันสามารถระบุกลยุทธ์ด้านสัดส่วนภาพและความละเอียดเพื่อเลือกความละเอียดที่ดีที่สุดตามความต้องการของตนได้
    • พารามิเตอร์ขนาดและสัดส่วนภาพทั้งหมดจะแสดงในพิกัดของเซ็นเซอร์อุปกรณ์กล้อง
    • แอปพลิเคชันสามารถใช้ตัวกรองความละเอียดที่กำหนดเองเพื่อจัดเรียงขนาดที่รองรับตามลำดับที่ต้องการ
    • นอกจากนี้ แอปพลิเคชันยังเปิดใช้การจับภาพความละเอียดสูงเพื่อรับรูปภาพที่มีความละเอียดสูงขึ้นได้ด้วย อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจทำให้เวลาในการจับภาพช้าลง
    • เพิ่ม API การมิเรอร์ VideoCapture แล้ว VideoCapture จะไม่บันทึกวิดีโอแบบมิเรอร์โดยค่าเริ่มต้น อย่างไรก็ตาม ตัวอย่างกล้องจะปรับให้เหมือนภาพในกระจกในกล้องหน้าโดยค่าเริ่มต้น VideoCapture API การมิเรอร์ช่วยให้จัดแนวกับการแสดงตัวอย่างกล้องได้เมื่อใช้กล้องหน้า มี MirrorMode, OFF, ON และ ON_FRONT_ONLY หากต้องการจัดแนวให้ตรงกับการแสดงตัวอย่างกล้อง ขอแนะนำให้ใช้ ON_FRONT_ONLY ซึ่งหมายความว่าระบบจะไม่ได้เปิดใช้การมิเรอร์สำหรับกล้องหลัง แต่จะเปิดใช้สำหรับกล้องหน้า

การเปลี่ยนแปลง API

  • เปิดตัว ResolutionSelector API ใหม่ แอปพลิเคชันสามารถระบุกลยุทธ์สัดส่วนภาพและความละเอียดด้วยกฎการสำรองหรือตัวกรองความละเอียดที่กำหนดเองเพื่อให้ได้ผลลัพธ์ที่ต้องการ แอปพลิเคชันสามารถระบุ Flag เพื่อเปิดใช้การจับภาพความละเอียดสูงได้ ซึ่งจะช่วยให้ CameraX เลือกความละเอียดที่สูงขึ้นได้เมื่อถ่ายรูปภาพหรือวิดีโอ อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจทำให้เวลาในการจับภาพช้าลง (Ibed95)
  • ตอนนี้คุณสามารถค้นหาช่วง FPS ที่อัลกอริทึม AE รองรับได้ผ่าน CameraInfo#getSupportedFrameRateRanges() (Iaa67f)
  • รวมชื่อของวิธีการอัตราเฟรมทั้งหมดให้ใช้ "FrameRate" แก้ไขข้อผิดพลาดของ Javadoc ใน VideoCapture#getTargetFrameRate() (I83304)
  • เลิกใช้งาน setTargetAspectRatio และ setTargetResolution API เดิม โปรดใช้ ResolutionSelector API ใหม่แทน (I542c3)
  • เพิ่ม API สาธารณะสำหรับกล้องคู่พร้อมกัน ซึ่งรวมถึง
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() และ ConcurrentCameraConfig, SingleCameraConfig และ ConcurrentCamera (Iab1c1)
  • Make ImageProcessor.Response#getOutputImage NonNull (Ib9c60)
  • เพิ่ม API การมิเรอร์ VideoCapture ซึ่งรวมถึง VideoCapture.Builder.setMirrorMode(int) และ VideoCapture.getMirrorMode() API เหล่านี้มีประโยชน์สำหรับแอปพลิเคชันที่ต้องการให้การบันทึกวิดีโอสอดคล้องกับลักษณะการทำงานของพรีวิวกล้องทั่วไป กล่าวคือ พรีวิวกล้องหลังจะไม่กลับด้าน แต่พรีวิวกล้องหน้าจะกลับด้าน (I713b6, b/194634656)
  • เพิ่ม setTargetFrameRate() API ใน VideoCapture.Builder และ getTargetFramerate() API ใน VideoCapture (I109d4)
  • ทำให้ SurfaceOutput ขยาย 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 กับ VideoCapture UseCase และจะใช้เอฟเฟกต์ที่กำหนดเป้าหมายเป็น 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)
  • เพิ่ม ImageProcessor API อินเทอร์เฟซนี้ใช้สำหรับแทรกเอฟเฟ็กต์หลังการประมวลผลลงในไปป์ไลน์ 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.VideoCapture API ที่เลิกใช้งานแล้วออก (I531e0)
  • แก้ไขปัญหาที่ไม่ได้เรียกใช้onError Callback เมื่อถ่ายภาพโดยไม่มีสิทธิ์เข้าถึงพื้นที่เก็บข้อมูล(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)
  • แก้ไขปัญหาหน้าจอสีดำเมื่อใช้การติดตั้งใช้งาน PreviewView SurfaceView ใน ViewPager2 ในส่วนของการแก้ไข PreviewView จะใช้ SurfaceView ซ้ำหากไม่มีการเปลี่ยนแปลงความละเอียดที่ขอ (Ib3f27)
  • รองรับการครอบตัดวิดีโอ (ฟีเจอร์ WYSIWYG) เมื่อใช้ ViewPort หรือ CameraController API (Ifbba8, b/201085351)
  • แก้ไขปัญหาการบันทึกวิดีโอที่ถ่ายด้วยกล้องหน้าไม่สำเร็จใน Huawei P40 lite (I87c57, b/250807400)

เวอร์ชัน 1.2

เวอร์ชัน 1.2.3

24 พฤษภาคม 2023

androidx.camera:camera-*:1.2.3 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.3 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่ VideoCapture ใช้กับกล้องหน้าในอุปกรณ์บางรุ่นไม่ได้ เช่น ใน Samsung Galaxy S23 และ Xiaomi 2107113SG (Ibec7e, b/270656244)

เวอร์ชัน 1.2.2

22 มีนาคม 2023

androidx.camera:camera-*:1.2.2 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.2 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่ส่วนขยาย CameraX ทำงานไม่ถูกต้องเมื่อเปิดใช้ ProGuard ในอุปกรณ์บางรุ่น เช่น Pixel (I90aa2)

เวอร์ชัน 1.2.1

25 มกราคม 2023

androidx.camera:camera-*:1.2.1 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.1 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาภาพ JPEG เสียหากเขียนข้อมูลตำแหน่ง Exif ในอุปกรณ์ Samsung Android 12 บางรุ่น (b/263289024)

เวอร์ชัน 1.2.0

7 ธันวาคม 2022

androidx.camera:camera-*:1.2.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0

  • กล้องไลบรารีใหม่ - 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() เป็น Camera2Interop API สาธารณะ
  • เพิ่มข้อกำหนดเกี่ยวกับระดับ 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

  • เพิ่ม setStreamUseCase API สำหรับ 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 เสร็จสมบูรณ์ด้วย isFocusSuccessful false หากไม่ได้ยกเลิก 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)

การแก้ไขข้อบกพร่อง

  • แก้ไขเมธอด ImageCapture takePicture ซึ่งจะปิดไฟฉายในอุปกรณ์ที่รายงาน (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 ทำงานได้ดีในอุปกรณ์แบบพับได้ด้วยการแก้ไขปัญหาการแสดงตัวอย่างบางอย่าง
  • เพิ่ม CameraState API ที่จะแสดงผ่าน CameraInfo
  • เพิ่ม API ProcessCameraProvider.getAvailableCameraInfos() เพื่อดึงข้อมูลเกี่ยวกับกล้องที่พร้อมใช้งานโดยตรง
  • รูปแบบ JPEG เอาต์พุตสำหรับ ImageCapture#OnImageCapturedCallback เมื่อเปิดใช้ส่วนขยาย
  • เพิ่ม API isFocusMeteringSupported ใน CameraInfo ซึ่งช่วยให้แอปพลิเคชันตรวจสอบได้ว่ากล้องปัจจุบันรองรับ FocusMeteringAction ที่ระบุหรือไม่
  • เปิดเผย getResolutionInfo API เพื่อให้ข้อมูลความละเอียดสำหรับตัวอย่าง ImageCapture และ ImageAnalysis
  • เพิ่ม API ใหม่ ImageCapture.Builder#setJpegQuality เพื่อให้เปลี่ยนคุณภาพการบีบอัดรูปภาพ JPEG เอาต์พุตได้เมื่อถ่ายรูป
  • เพิ่ม CameraSelector#filter ลงใน API สาธารณะเพื่อกรองรายการ CameraInfos ตาม CameraSelector
  • เพิ่ม Camera2CameraControl.clearCaptureRequestOptions สำหรับล้างตัวเลือกคำขอแคปเจอร์ที่มีอยู่
  • เพิ่ม API เวอร์ชันทดลองสำหรับการใช้ CameraController กับไลบรารีการประมวลผลรูปภาพภายนอก เช่น MLKit
  • เพิ่ม API เวอร์ชันทดลอง CameraInfo#getCameraSelector() ซึ่งจะแสดง CameraSelector ที่ไม่ซ้ำกันสำหรับกล้อง
  • เลื่อนระดับ API ทดลองหลายรายการให้เป็น API สาธารณะอย่างเป็นทางการ
  • แทนที่คำอธิบายประกอบ @Experimental ด้วย @RequiresOptIn ใน API เวอร์ชันทดลอง หากต้องการเรียกใช้ API เวอร์ชันทดลอง ให้ใช้ androidx.annotation.OptIn แทน androidx.annotation.experimental.UseExperimental ที่เลิกใช้งานแล้ว
  • เลื่อนระดับ API ที่เป็นเวอร์ชันทดลองต่อไปนี้ให้เป็น API อย่างเป็นทางการ: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler()
  • @ExperimentalCameraFilter API
  • API การชดเชยแสงทดลอง
  • โปรโมต UseCaseGroup API เวอร์ชันทดลองสำหรับ camera-core, camera-lifecycle และ camera-video เพิ่ม ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection และ ViewPort.Builder#setScaleType สำหรับปรับแต่งวิวพอร์ต
  • ExperimentalUseCaseGroupLifecycle เป็น API สาธารณะอย่างเป็นทางการ
  • การเปลี่ยนแปลง API ที่มีอยู่
  • Renamed MediaStoreOutputOptions.getCollection เพื่อ MediaStoreOutputOptions.getCollectionUri
  • เราได้เปลี่ยนชื่อ ActiveRecording เป็น "การบันทึก" เพื่อลดความซับซ้อน
  • เปลี่ยน QualitySelector Creator API เป็น API ที่อิงตามรายการ

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหา YuvToJpegProcessor EOFException เมื่อเปิดใช้โหมดส่วนขยายและตั้งค่าโหมด ImageCapture#CAPTURE_MODE_MAX_QUALITY
  • กำหนดค่าตัวแปลงรหัสแบบคงที่ล้มเหลวเนื่องจากระบบกำลังปิดการบันทึกวิดีโอ
  • แก้ไขสัดส่วนภาพของตัวอย่าง/วิดีโอที่ยืดออกเมื่อบันทึกที่ความละเอียด FHD
  • แก้ไขปัญหาเสียง/วิดีโอไม่ตรงกันหลังจากหยุดชั่วคราวและเล่นต่อในอุปกรณ์บางเครื่อง
  • แก้ไขปัญหาที่แฟลชทำงานระหว่างการแตะเพื่อโฟกัส (startFocusAndMetering) เมื่อโหมดแฟลชเป็น auto หรือ always_on ในสภาพแวดล้อมที่มีแสงน้อย

เวอร์ชัน 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 ได้ องศาการหมุนเป็นการหมุนแบบสัมพัทธ์ที่คำนวณตามการหมุนของเซ็นเซอร์และการหมุนของเป้าหมายเพื่อให้รูปภาพอยู่ด้านหน้า

    เพิ่ม getSensorToBufferTransformMatrix API ใน 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)
  • แก้ไขปัญหา YuvToJpegProcessor EOFException เมื่อเปิดใช้โหมดส่วนขยายและตั้งค่าโหมด ImageCapture#CAPTURE_MODE_MAX_QUALITY (I538bd, b/192017012)

เวอร์ชัน 1.1.0-alpha06

30 มิถุนายน 2021

androidx.camera:camera-camera2:1.1.0-alpha06 androidx.camera:camera-core:1.1.0-alpha06 และ androidx.camera:camera-lifecycle:1.1.0-alpha06 ออกอากาศแล้ว เวอร์ชัน 1.1.0-alpha06 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • โปรโมต API การชดเชยแสงทดลองสำหรับ 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 รองรับPreview, ImageCapture และ Analysis
  • CameraX จัดการวงจรของกล้องภายใน API ที่ใช้งานง่าย
  • CameraX มีเป้าหมายที่จะมอบเลเยอร์ความเข้ากันได้ซึ่งจะช่วยแก้ไขปัญหาต่างๆ ในระบบนิเวศของกล้อง Android

ปัญหาที่ทราบ

เวอร์ชัน 1.0.0-rc05

21 เมษายน 2021

androidx.camera:camera-camera2:1.0.0-rc05 androidx.camera:camera-core:1.0.0-rc05 และ androidx.camera:camera-lifecycle:1.0.0-rc05 ออกอากาศแล้ว เวอร์ชัน 1.0.0-rc05 มีคอมมิตต่อไปนี้

การแก้ไขข้อบกพร่อง

  • แก้ไข 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 และ Lifecycle เวอร์ชัน 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่ - รองรับ API CONTROL_ZOOM_RATIO ของ 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-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 ให้เข้ากับสไตล์ของ FIT FITหมายความว่าสี่เหลี่ยมผืนผ้าครอบตัดที่ส่งคืนจะเป็นสี่เหลี่ยมผืนผ้าเซ็นเซอร์สูงสุดที่เป็นไปได้ (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)

Camera-Core เวอร์ชัน 1.0.0-beta05

10 มิถุนายน 2020

androidx.camera:camera-core:1.0.0-beta05 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-beta05 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • แก้ไขข้อขัดข้องเมื่อเริ่มต้นแอปขณะเริ่มต้น CameraX ในขณะที่โทรศัพท์อยู่ในโหมดห้ามรบกวน ระบบจะตั้งค่า InitializationException ที่มี CameraUnavailableException เป็น ListenableFuture ของผลการเริ่มต้นแทนที่จะทำให้แอปพลิเคชันขัดข้อง (I9909a, b/149413835)

การแก้ไขข้อบกพร่อง

  • อัปเดต 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)
  • แปลงบันทึกข้อผิดพลาดที่แปลงแล้วซึ่งเกี่ยวข้องกับ Use Case ที่แยกออกมาเป็นบันทึกการแก้ไขข้อบกพร่องใน Camera2CameraImpl (I1a565, b/154422490)
  • แก้ไขปัญหาที่บางครั้งรูปภาพที่ถ่ายมืดเกินไปแม้ว่าจะเปิดแฟลชแล้วก็ตาม (I5d9fa, b/149729613)
  • แก้ไขข้อบกพร่องที่บัฟเฟอร์ใน ImageProxy จาก ImageCapture ไม่ได้กรอไปข้างหน้า (I0c455, b/153249512)
  • แก้ไขปัญหาที่การเชื่อมโยง ImageCapture เท่านั้น (1) ถ่ายภาพด้วย MAX_QUALITY ไม่สำเร็จ (2) สร้างคุณภาพของรูปภาพไม่ดีเนื่องจากการเปิดรับแสงอัตโนมัติไม่ทำงาน (I17782, b/145326998)
  • ปรับปรุงความน่าเชื่อถือของการเปิดกล้องอีกครั้งเมื่อกระบวนการอื่นหรือเส้นทางโค้ดขโมยกล้องทำให้ CameraX ถูกตัดการเชื่อมต่อ (I1fbc3, b/153714651)

Camera-Core เวอร์ชัน 1.0.0-beta04

27 พฤษภาคม 2020

androidx.camera:camera-core:1.0.0-beta04 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-beta04 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่ม API เวอร์ชันทดลอง CameraXConfig.Builder#setSchedulerHandler() สำหรับการตั้งค่าตัวแฮนเดิลที่สแต็กกล้อง CameraX ใช้ภายใน API ใหม่นี้พร้อมกับ CameraXConfig.Builder#setCameraExecutor() จะช่วยให้ควบคุมเธรดที่สแต็กกล้อง CameraX ใช้ได้อย่างเต็มที่ (I7bf32, b/121160431)

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องใน ImageAnalysis เมื่อมีการเข้าถึง ImageProxy หลังจากปิด ImageReaderProxy แล้ว นอกจากนี้ ยังทำให้ImageProxyทั้งหมดที่Analyzerได้รับต้องปิดก่อนที่ImageReaderProxyจะปิด (I4b299, b/145956416, b/154155377, b/156357269)
  • นำพารามิเตอร์ CameraInfo ออกจาก PreviewView#createSurfaceProvider() แล้ว ตอนนี้ PreviewView จะเรียกข้อมูลจาก SurfaceRequest ภายใน (If18f0, b/154652477)
  • แก้ไขการเริ่มต้นอัตโนมัติเมื่อใช้แอปในอุปกรณ์ที่ใช้ภาษาจำลอง (I3bef3, b/154767663)
  • แก้ไขปัญหาที่บางครั้งรูปภาพที่ถ่ายมืดเกินไปแม้ว่าจะเปิดแฟลชแล้วก็ตาม (I5d9fa, b/149729613)
  • แก้ไขปัญหาเกี่ยวกับ ImageAnalysis ที่การเรียกใช้ 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 Orientation (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 Orientation (Id4281, b/150802561)
  • แก้ไข bindToLifecycle เพื่อให้แก้ไข UseCase เฉพาะในกรณีที่ผูกสำเร็จเท่านั้น ก่อนหน้านี้เมื่อโทรหา bindToLifecycle ระบบจะอัปเดต UseCase เพื่อทำการคำนวณความละเอียด ตอนนี้ไม่จำเป็นต้องอัปเดต UseCase เพื่อทำการคำนวณอีกต่อไป (I78d9e)
  • แก้ไขปัญหาที่ระบบไม่อัปเดตเซสชันการจับภาพของPreview Use 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 ต้องใช้ ExperimentalCamera2Interop markerClass

Camera-Core เวอร์ชัน 1.0.0-alpha09

22 มกราคม 2020

androidx.camera:camera-core:1.0.0-alpha09 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตต่อไปนี้

การเปลี่ยนแปลง API

  • พารามิเตอร์ SurfaceOrientedMeteringPointFactory useCaseForSurface ได้รับการ เปลี่ยนชื่อเป็น useCaseForAspectRatio และมีการขยาย เอกสารอ้างอิง
  • เมธอด FocusMeteringAction.Builder.from() จะถูกแทนที่ด้วยตัวสร้าง FocusMeteringAction.Builder()
  • นำออกแล้ว DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float) แอปพลิเคชันควรใช้ตัวสร้างที่ใช้พารามิเตอร์ Display และ ส่งการแสดงผลปัจจุบัน
  • การปรับปรุง Javadoc สำหรับ Focus API และ 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 ID

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)
    
  • ดูเอกสารประกอบเกี่ยวกับการแนบพื้นผิวที่แอปจัดการ ในกรณีเหล่านี้ แอปจะจัดการวงจรของแพลตฟอร์ม

  • สำคัญ: การติดตั้งใช้งานเมธอด ImageAnalysis Analyzer ต้องเรียกใช้ 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/is

  • startFocusMetering และ cancelFocusMetering จะแสดงผล ListenableFutures ซึ่งแสดงถึงการดำเนินการแบบอะซิงโครนัสของการเรียก

  • MeteringPoints ตอนนี้ทำหน้าที่เป็นแฮนเดิลในการวัดการใช้งาน และผลิตโดยโรงงาน แอปควรใช้โรงงานที่มีอยู่แทนโรงงานที่กำหนดเอง

ปัญหาที่แก้ไขแล้ว

  • แก้ไขปัญหาเมื่อถ่ายรูปขณะกลับมาทำงานต่อ (หลังจากหยุดชั่วคราวและมีรูปภาพที่รอการประมวลผล)
  • ปัญหาที่ทราบ: CameraControl.enableTorch() ใช้งานได้ แต่ ListenableFuture<Void> ที่แสดงผลจะเป็น complete(success) อนาคตที่ใกล้ที่สุดเสมอ แม้ว่าจะไม่มีแฟลชก็ตาม เวอร์ชันในอนาคตจะแก้ไขปัญหานี้ให้เป็นลักษณะการทำงานสุดท้าย นั่นคือ เมื่อไม่มีหน่วยแฟลช enableTorch(true) จะล้มเหลวทันที (จะไม่ส่งคำขอไปยัง CaptureSession) และ TorchState จะยังคงปิดอยู่
  • ปัญหาที่ทราบ: startFocusAndMetering และ cancelFocusAndMetering เริ่มและยกเลิกการวัดแสงโฟกัส แต่จะแสดงผล completed (success) Future ทันทีซึ่งไม่ได้แสดงลักษณะการทำงานตามที่ระบุไว้ในเอกสาร FocusMeteringResult จาก ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() เป็นผลการค้นหาปลอมซึ่ง isFocusSuccessful() และเป็น "เท็จ" เสมอ ซึ่งแตกต่างจากลักษณะการทำงานที่ตั้งใจไว้และระบุไว้ในเอกสาร
  • ปัญหาที่ทราบ: เรากำลังพัฒนาโรงงานจุดวัดสำหรับการใช้งานกับ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.setOnPreviewOutputUpdateListener
    • FocusMeteringAction.Builder.setAutoFocusCallback
    • ImageAnalysis.setAnalyzer
    • ImageCapture.takePicture
    • CameraView.takePicture
    • CameraView.startRecording
    • VideoCapture.startRecording

เพิ่ม CameraInfo พร้อม API ตรวจสอบว่ามีแฟลชและ 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
  • เพิ่ม CameraControl API พร้อม 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 มีความชัดเจนมากขึ้น ดังนี้

  • ตอนนี้ระบบจะถือว่า Use Case ของการแสดงตัวอย่างมีสัดส่วนการแสดงผลเริ่มต้นเป็น 4:3 เมื่อไม่ได้ตั้งค่าใดๆ
  • เมื่อ CameraX พิจารณาการเปลี่ยนแปลงความละเอียดและสัดส่วนการแสดงผลที่ขอภายในตามความสามารถของอุปกรณ์ ระบบจะพยายามรักษาสัดส่วนการแสดงผลเดิมไว้ก่อน (ตามที่กำหนดโดยการเรียก setTargetAspectRatio หรือ setTargetResolution)
  • ระบบจะถือว่าความละเอียดเวอร์ชัน "Nearest mod16" มีสัดส่วนภาพเดียวกัน

โหมดการวิเคราะห์รูปภาพแบบไม่บล็อก

  • ตอนนี้ลักษณะการทำงานของ 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-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 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • แก้ไขการถดถอยจาก beta03 ที่การเรียก 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#getInstance API เป็น getInstanceAsync เนื่องจากจะแสดงผล ListenableFuture คำต่อท้าย Async ของชื่อฟังก์ชันจะแสดงอย่างชัดเจนว่าเป็นฟังก์ชันแบบไม่พร้อมกัน (I279d2)
  • นำพารามิเตอร์ความละเอียดออกจาก ExtensionsManager#getEstimatedCaptureLatencyRange API เนื่องจากผู้ใช้ไม่ทราบว่าขนาดใดบ้างที่รองรับสำหรับกรณีการใช้งาน ImageCapture และไม่สามารถแยกแยะได้ว่าข้อมูลเวลาในการตอบสนองที่แสดงเป็นขนาดเอาต์พุตการจับภาพสูงสุดหรือพารามิเตอร์ความละเอียดของอินพุต (I74bb2)
  • ย้ายพารามิเตอร์ CameraProvider ของฟังก์ชัน ExtensionsManager ไปยัง API getInstance() เพื่อให้ผู้ใช้ไม่ต้องป้อนพารามิเตอร์ 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

  • เลื่อนระดับ Viewport 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

การแก้ไขข้อบกพร่อง

  • ปักหมุดการอ้างอิงมุมมองกล้องเพื่อใช้สิ่งประดิษฐ์ 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-View เวอร์ชัน 1.0.0-alpha17

23 กันยายน 2020

androidx.camera:camera-view:1.0.0-alpha17 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha17 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

ส่วนขยายกล้อง เวอร์ชัน 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 ที่มี Lifecycle เปลี่ยนเป็นสถานะ DESTROYED หลังจากเชื่อมโยงไม่นาน Binding Lifecycles ในสถานะ DESTROYED จะไม่พยายามเปิดกล้อง (I7c2b8)
  • ตอนนี้คุณสามารถดู PreviewView StreamState ผ่าน CameraView.getPreviewStreamState() (I21a2b) ได้แล้ว

ส่วนขยายกล้อง เวอร์ชัน 1.0.0-alpha12

10 มิถุนายน 2020

androidx.camera:camera-extensions:1.0.0-alpha12 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha12 มีคอมมิตต่อไปนี้

การแก้ไขข้อบกพร่อง

  • แก้ไขข้อขัดข้องเมื่อเริ่มต้นแอปขณะเริ่มต้น CameraX ในขณะที่โทรศัพท์อยู่ในโหมดห้ามรบกวน ระบบจะตั้งค่า InitializationException ที่มี CameraUnavailableException เป็น ListenableFuture ของผลการเริ่มต้นแทนที่จะทำให้แอปพลิเคชันขัดข้อง (I9909a, b/149413835)

Camera-View เวอร์ชัน 1.0.0-alpha12

10 มิถุนายน 2020

androidx.camera:camera-view:1.0.0-alpha12 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha12 มีคอมมิตต่อไปนี้

การแก้ไขข้อบกพร่อง

  • เพิ่ม PreviewView#getBitmap() API ซึ่งจะแสดงการแทนเนื้อหาเป็นบิตแมปที่แสดงบนพื้นผิวตัวอย่าง (I9b500, b/157659818)

ส่วนขยายกล้อง เวอร์ชัน 1.0.0-alpha11

27 พฤษภาคม 2020

androidx.camera:camera-extensions:1.0.0-alpha11 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha11 มีคอมมิตเหล่านี้

Camera-View เวอร์ชัน 1.0.0-alpha12

10 มิถุนายน 2020

androidx.camera:camera-view:1.0.0-alpha12 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha12 มีคอมมิตต่อไปนี้

ฟีเจอร์ใหม่

การเปลี่ยนแปลง API

การแก้ไขข้อบกพร่อง

  • เพิ่ม PreviewView#getBitmap() API ซึ่งจะแสดงการแทนเนื้อหาเป็นบิตแมปที่แสดงบนพื้นผิวตัวอย่าง (I9b500, b/157659818)

Camera-View เวอร์ชัน 1.0.0-alpha11

27 พฤษภาคม 2020

androidx.camera:camera-view:1.0.0-alpha11 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha11 มีคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • เพิ่ม PreviewView#getPreviewStreamState API ซึ่ง อนุญาตให้แอปสังเกตได้ว่ามีการสตรีมตัวอย่างหรือไม่ เมื่อ PreviewView อยู่ในโหมด TEXTURE_VIEW สถานะ STREAMING จะรับประกันว่ารูปภาพตัวอย่างจะมองเห็นได้ด้วย (Ic0906, b/154652477)
  • เพิ่ม PreviewView#setDeviceRotationForRemoteDisplayMode() API เพื่อให้การหมุนอุปกรณ์สำหรับการคำนวณการเปลี่ยนรูป หากแอปพลิเคชันทำงานในโหมดจอแสดงผลระยะไกล (I59b95, b/153514525)

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาการบิดเบี้ยวของตัวอย่างในFULL/LIMITED/LEVEL_3ที่ใช้ Android 7.0 และต่ำกว่า บังคับใช้โหมด ImplementationMode#TEXTURE_VIEW เมื่อ Android เป็นเวอร์ชัน 7.0 หรือต่ำกว่า (I83e30, b/155085307)
  • นำพารามิเตอร์ CameraInfo ออกจาก PreviewView#createSurfaceProvider() แล้ว ตอนนี้ PreviewView จะเรียกข้อมูลจาก SurfaceRequest ภายใน (If18f0, b/154652477)
  • แก้ไขสัดส่วนการแสดงผลเริ่มต้นของ VideoCapture ให้เป็น 16:9 ใน CameraView (Ie6a7b, b/153237864)
  • แก้ไขPreviewViewปัญหาหน้าจอสีดำเมื่อปัดออกPreview Fragment แล้วปัดกลับเข้าไปใน 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)

ส่วนขยายกล้อง เวอร์ชัน 1.0.0-alpha10

15 เมษายน 2020

androidx.camera:camera-extensions:1.0.0-alpha10 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้

การแก้ไขข้อบกพร่อง

  • การแก้ไขเพื่อรองรับการเปิดตัว Camera-Core

Camera-View เวอร์ชัน 1.0.0-alpha10

15 เมษายน 2020

androidx.camera:camera-view:1.0.0-alpha010 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha010 มีคอมมิตต่อไปนี้

การแก้ไขข้อบกพร่อง

  • แก้ไขปัญหาที่ทราบก่อนหน้านี้ซึ่งการใช้งาน SurfaceView ของ PreviewView ทำงานได้ไม่ดีในอุปกรณ์บางรุ่น และทำให้แอปขัดข้องหลังจากกลับมาแสดงตัวอย่าง (I5ed6b)

ส่วนขยายกล้อง เวอร์ชัน 1.0.0-alpha09

1 เมษายน 2020

androidx.camera:camera-extensions:1.0.0-alpha09 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตต่อไปนี้

การแก้ไขข้อบกพร่อง

  • อัปเดตเพื่อรองรับการแก้ไขข้อบกพร่องในอาร์ติแฟกต์ camera-camera2:1.0.0-beta02, camera-core:1.0.0-beta02 และ camera-lifecycle:1.0.0-beta02

Camera-View เวอร์ชัน 1.0.0-alpha09

1 เมษายน 2020 androidx.camera:camera-view:1.0.0-alpha09 เปิดตัว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตต่อไปนี้

ปัญหาที่ทราบ

  • การใช้ ImplementationMode.SURFACE_VIEW กับ PreviewView อาจทำงานได้ไม่ดีในอุปกรณ์บางรุ่น เนื่องจาก SurfaceView ที่ใช้สำหรับแสดงตัวอย่างจะทำให้พื้นผิวของ SurfaceView ไม่ถูกต้องเมื่อหยุดวงจรของหน้าต่างที่ 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

  • ตอนนี้การติดตั้งใช้งาน TextureView ของ PreviewView จะตั้งค่าขนาดของ 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 ใหม่ ไลบรารีนี้ยังอยู่ระหว่างการพัฒนา