กล้องถ่ายรูป X

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

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

อาร์ติแฟกต์ รุ่นที่เสถียร ตัวเลือกถอนการอ้างสิทธิ์ รุ่นเบต้า รุ่นอัลฟ่า
กล้อง 2 1.3.4 1.4.0-Rc01 - -
แกนกล้อง 1.3.4 1.4.0-Rc01 - -
เอฟเฟกต์กล้อง - 1.4.0-Rc01 - -
ส่วนขยายกล้อง 1.3.4 1.4.0-Rc01 - -
วงจรกล้อง 1.3.4 1.4.0-Rc01 - -
Camera-MLkit-Vis - 1.4.0-Rc01 - -
มุมมองกล้อง 1.3.4 1.4.0-Rc01 - -
ช่องมองภาพของกล้อง - - 1.3.0-เบต้า02 1.4.0-alpha07
กล้องวิดีโอ 1.3.4 1.4.0-Rc01 - -
ไลบรารีนี้ได้รับการอัปเดตล่าสุดเมื่อวันที่ 7 สิงหาคม 2024

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

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

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

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

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

ดึงดูด

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.4.0-rc01"
  // 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.4.0-rc01"
    // The following line is optional, as the core library is included indirectly by camera-camera2
    implementation("androidx.camera:camera-core:${camerax_version}")
    implementation("androidx.camera:camera-camera2:${camerax_version}")
    // If you want to additionally use the CameraX Lifecycle library
    implementation("androidx.camera:camera-lifecycle:${camerax_version}")
    // If you want to additionally use the CameraX VideoCapture library
    implementation("androidx.camera:camera-video:${camerax_version}")
    // If you want to additionally use the CameraX View class
    implementation("androidx.camera:camera-view:${camerax_version}")
    // If you want to additionally add CameraX ML Kit Vision Integration
    implementation("androidx.camera:camera-mlkit-vision:${camerax_version}")
    // If you want to additionally use the CameraX Extensions library
    implementation("androidx.camera:camera-extensions:${camerax_version}")
}

ความคิดเห็น

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

สร้างรายการใหม่

ดูเอกสารประกอบเกี่ยวกับเครื่องมือติดตามปัญหา เพื่อดูข้อมูลเพิ่มเติม

ช่องมองภาพของกล้อง Compose เวอร์ชัน 1.0

เวอร์ชัน 1.0.0-alpha02

12 มิถุนายน 2024

ปล่อย androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 แล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้

เวอร์ชัน 1.0.0-alpha01

14 พฤษภาคม 2024

ปล่อย androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • คลังใหม่ ไลบรารีนี้เปิดตัว Compose ในตัวช่องมองภาพแบบ Composable ซึ่งสามารถใช้กับ CameraX และ Camera2 ช่องมองภาพแบบประกอบได้รองรับสัดส่วนภาพที่แตกต่างกันและการจัดการกิจกรรมการสัมผัส

ช่องมองภาพของกล้อง เวอร์ชัน 1.4

เวอร์ชัน 1.4.0-alpha07

12 มิถุนายน 2024

ปล่อย androidx.camera:camera-viewfinder:1.4.0-alpha07 และ androidx.camera:camera-viewfinder-core:1.4.0-alpha07 แล้ว เวอร์ชัน 1.4.0-alpha07 มีคอมมิตเหล่านี้

เวอร์ชัน 1.4.0-alpha06

14 พฤษภาคม 2024

ปล่อย androidx.camera:camera-viewfinder:1.4.0-alpha06 และ androidx.camera:camera-viewfinder-core:1.4.0-alpha06 แล้ว เวอร์ชัน 1.4.0-alpha06 มีคอมมิตเหล่านี้

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

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

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

เวอร์ชัน 1.4.0-rc01

7 สิงหาคม 2024

ปล่อย androidx.camera:camera-*:1.4.0-rc01 แล้ว เวอร์ชัน 1.4.0-rc01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่ม CameraInfo.getCameraInfo เวอร์ชันทดลองเพื่อให้ข้อมูลที่เจาะจงของกล้องโดยไม่ต้องเชื่อมโยง Use Case กับกล้อง (I550d1)

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

  • เพิ่ม API ของ PreviewView.getScreenFlash และ PreviewView.setScreenFlashOverlayColor สำหรับกรณีที่ไม่ได้เพิ่ม ScreenFlashView ไว้อย่างชัดแจ้ง (I43945)

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

  • แก้ปัญหาการรับแสงและการย้อมสีเมื่อจับภาพโดยใช้แฟลชภายใต้แสงน้อยโดยผูกกรณีการใช้งาน VideoCapture (Ic9814)
  • แก้ไขปัญหาที่รบกวนคำขอ takePicture ที่เปิดใช้ส่วนขยายอาจรับผลลัพธ์ไม่ได้ และคำขอ takePicture ถัดไปอาจใช้ไม่ได้อีกต่อไป (Iae78f)
  • แก้ไขปัญหาหน่วยความจำรั่วไหลที่เกิดขึ้นเมื่อเปิดใช้ส่วนขยาย (Iab276)
  • แก้ปัญหาส่วนขยาย CameraX ทำงานผิดปกติในอุปกรณ์ เช่น Pixel 7/8 และ Samsung Galaxy S24 Series ปัญหานี้เกิดจากปัญหา Conversion Camera2OutputConfigImpl ในโหมดเผยแพร่ ซึ่งเกิดขึ้นหลังจากอัปเกรด AGP เป็น 8.5.1 และเปิดใช้การลดขนาด (I99598, b/354824993)

เวอร์ชัน 1.4.0-beta02

12 มิถุนายน 2024

ปล่อย androidx.camera:camera-*:1.4.0-beta02 แล้ว เวอร์ชัน 1.4.0-beta02 มีสัญญาผูกมัดเหล่านี้

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

  • เพิ่ม setMirrorMode สำหรับ Use Case ของตัวอย่าง เช่นเดียวกับ VideoCapture ซึ่งจะรองรับการเปิดและปิดโหมดมิเรอร์สำหรับสตรีมตัวอย่างผ่าน OutputConfiguration.setMirrorMode จาก API 33 ขึ้นไป สำหรับ API รุ่นเก่า จะไม่มีการดำเนินการ (I821F4)

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

  • แก้ไขปัญหาที่แอปถ่ายภาพบน Samsung Tab A8 ไม่สำเร็จเมื่อ ImageCapture เลือก 1920x1080 ภายใต้ Preview + VideoCapture + ImageCapture UseCase ร่วมกัน (I5a463, b/336925549)
  • การบันทึกถาวรแบบแก้ไขแล้วอาจบันทึกต่อไม่ได้หลังจากเปลี่ยนกล้อง (Icb0a1)

เวอร์ชัน 1.4.0-beta01

14 พฤษภาคม 2024

ปล่อย androidx.camera:camera-*:1.4.0-beta01 แล้ว เวอร์ชัน 1.4.0-beta01 มีคอมมิตเหล่านี้

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

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

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

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

เวอร์ชัน 1.4.0-alpha05

17 เมษายน 2024

ปล่อย androidx.camera:camera-*:1.4.0-alpha05 แล้ว เวอร์ชัน 1.4.0-alpha05 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • แปลง ProcessCameraProvider เป็นการติดตั้งใช้งาน Kotlin แล้ว (I46d4f)
  • เพิ่มฟังก์ชันการระงับ ImageCapture.takePicture เพื่อให้สามารถเรียกใช้ในแบบ Kotlin-idiomatic (I920be)

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

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

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

  • แก้ไขแล้ว ImageAnalysis' ปัญหาการเลือกความละเอียดที่เกี่ยวข้องกับการตั้งค่าความละเอียดเป้าหมายเริ่มต้นของตัววิเคราะห์: ความละเอียดเป้าหมายถูกเก็บไว้เป็น 640x480 อย่างไม่ถูกต้อง แม้ว่าแอปพลิเคชันจะตั้งค่าความละเอียดเริ่มต้นของโปรแกรมวิเคราะห์เป็นอย่างอื่นก็ตาม หากแอปพลิเคชันพบปัญหานี้ (1.3.0 ~ 1.3.2) และไม่สามารถอัปเกรดไปใช้รุ่นที่ใหม่กว่าซึ่งมีโซลูชันนี้ได้ การตั้งค่า ResolutionSelector โดยตรงด้วยความละเอียดที่ต้องการ และ AspectRatioStrategy ที่ตรงกันกับ UseCase ของ ImageAnalysis สามารถช่วยแก้ปัญหานี้ได้ (I81f72, b/330091012)
  • แก้ไขปัญหาที่คำขอ takePicture อยู่ในคิวอาจเรียกใช้ไม่ได้ หากคำขอปัจจุบันล้มเหลว (Ie0801)
  • ใช้การตรวจสอบข้อมูล JPEG ที่ไม่ถูกต้องกับอุปกรณ์ Vivo X60 และ X60 Pro วิธีนี้จะแก้ไขปัญหาเกี่ยวกับรูปภาพขนาดใหญ่ผิดปกติในอุปกรณ์เหล่านี้ (I82247, b/288828159)
  • แก้ไขปัญหาข้อมูลเมตาของรูปภาพ JPEG ที่ไม่ถูกต้องในอุปกรณ์ Samsung A24 วิธีแก้ไขทำให้ CameraX บันทึกรูปภาพ JPEG ได้สำเร็จ หรือสามารถแสดงผลออบเจ็กต์บิตแมปที่ถูกต้องเมื่อเรียกใช้ฟังก์ชัน ImageProxy.toBitmap() ในอุปกรณ์ Samsung A24 (I8d6eb, b/309005680)
  • ใช้การตรวจสอบข้อมูล JPEG ที่ไม่ถูกต้องกับอุปกรณ์ Samsung ทุกเครื่องหากรูปภาพที่จับภาพนั้นมีขนาดใหญ่กว่า 10 MB วิธีนี้สามารถแก้ไขปัญหาปัญหาใหญ่ผิดปกติบนอุปกรณ์ Samsung ได้ (Ic2a65, b/288828159)
  • นำการรองรับ ImageAnalysis ออกจากส่วนขยาย CameraX เป็นจำนวนมากของ OEM การใช้งานส่วนขยายทำงานได้ไม่ดีกับ ImageAnalysis และอาจทำให้เกิดปัญหาที่ไม่สอดคล้องกัน (I2d926)

เวอร์ชัน 1.4.0-alpha04

24 มกราคม 2024

ปล่อย androidx.camera:camera-*:1.4.0-alpha04 แล้ว เวอร์ชัน 1.4.0-alpha04 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • อาร์ติแฟกต์ใหม่: เอฟเฟกต์กล้อง: ไลบรารีสำหรับใช้เอฟเฟกต์แบบเรียลไทม์กับเอาต์พุต CameraX ซึ่งรวมถึง Preview, VideoCapture และ/หรือ ImageCapture อาร์ติแฟกต์นี้มีการใช้ OpenGL ของ CameraEffect API ที่จัดการเอาต์พุตของกล้องอย่างมีประสิทธิภาพ
  • OverlayEffect: สำหรับการวาดภาพซ้อนทับด้วย Canvas API ของ Android การดำเนินการนี้ช่วยให้แอปใช้ลายน้ำหรือไฮไลต์วัตถุที่ตรวจพบในเอาต์พุตของกล้องได้
  • DynamicRange API สำหรับกรณีการใช้งานตัวอย่าง: ตอนนี้คุณสามารถตั้งค่าช่วงไดนามิกในกรณีการใช้งานตัวอย่างได้ โดยไม่ขึ้นอยู่กับกรณีการใช้งานวิดีโอ ซึ่งจะช่วยเพิ่มช่วงไดนามิกแบบ HDR เช่น HLG10 สำหรับการแสดงตัวอย่างเพียงอย่างเดียว นอกจากนี้ API ใหม่ยังมีใน CameraInfo เพื่อค้นหาช่วงไดนามิกที่กล้องแต่ละตัวรองรับ

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

  • เปลี่ยนชื่อ ScreenFlashUiCompleter เป็น ScreenFlashListener และย้าย ScreenFlashUiCompleter#getExpirationTimeMillis ไปยังพารามิเตอร์ expirationTimeMillis ของ ScreenFlash#apply แล้ว (I13944)
  • เพิ่ม API ใหม่เพื่ออนุญาตให้ตั้งค่าช่วงไดนามิกใน Use Case ของตัวอย่าง และค้นหาช่วงไดนามิกที่กล้องแต่ละตัวรองรับ วิธีนี้ช่วยให้สามารถใช้ช่วงไดนามิกของ HDR เช่น HLG10 กับ Use Case ของตัวอย่างเพียงอย่างเดียว โดยไม่ต้องผูก VideoCapture พร้อมกันอีกต่อไป (If25e3)
  • เปลี่ยนชื่อ getMirroring() เป็น isMirroring() (I47063) แล้ว
  • เพิ่มการรองรับเวลาในการตอบสนองโดยประมาณของการจับภาพแบบเรียลไทม์ใน CameraX ส่วนขยายกล้องช่วยให้แอปพลิเคชันใช้ API ที่ระบุระยะเวลาโดยประมาณในการจับภาพได้ ค่าประมาณดังกล่าวพิจารณาจากสภาพแวดล้อมปัจจุบัน สถานะของกล้อง และรวมเวลาที่ใช้ในการประมวลผลคำขอจับภาพหลายเฟรม ตลอดจนเวลาเพิ่มเติมสำหรับบัฟเฟอร์ที่ประมวลผลการเข้ารหัสหากจำเป็น (I05c3a)
  • เปลี่ยนชื่อ ScreenFlashUiControl เป็น ScreenFlash, ScreenFlashUiControl#applyScreenFlashUi เป็น ScreenFlash#apply, ScreenFlashUiControl#clearScreenFlashUi เป็น ScreenFlash#clear และเพิ่มเมธอด getScreenFlashUiApplyTimeoutSeconds แทนการแสดง SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS โดยตรง (Iccdd0)

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

  • แก้ไขการรั่วไหลของหน่วยความจำที่ส่งผลให้ระบบไม่เผยแพร่กิจกรรมหรือส่วนย่อยเมื่อเปิดใช้ส่วนขยาย (I14215)
  • แก้ไขปัญหาที่ getZoomRatio แสดงผลค่าที่ลดลงอย่างไม่ถูกต้องเมื่อใช้อัตราส่วนการซูมที่เพิ่มขึ้น (I4aa0d, b/317543616)
  • ระบบจะเรียกใช้เหตุการณ์ ImageCapture#ScreenFlash#clear ทันทีเมื่อเลิกผูก ImageCapture หรือปิดกล้อง รวมถึงแก้ไขข้อบกพร่องที่ไม่มีการเรียกใช้เนื่องจากการบันทึกในสถานการณ์เหล่านี้ไม่สมบูรณ์ (If99f9)
  • แก้ไขข้อขัดข้องที่เกิดขึ้นเมื่อหยุดวงจรก่อนที่คำขอ takePicture จะเสร็จสมบูรณ์ (Idf017, b/306202751)
  • แก้ไขปัญหาที่การแสดงตัวอย่างจากกล้องกลายเป็นสีดำเมื่อเปิดใช้ส่วนขยายในอุปกรณ์บางเครื่อง (I1ffd0)
  • แก้ไขระยะเวลาการบันทึกวิดีโอที่ไม่ถูกต้องในอุปกรณ์ที่ใช้ Snapdragon 778G SoC (If6aa7, b/316057919)

เวอร์ชัน 1.4.0-alpha03

13 ธันวาคม 2023

ปล่อย androidx.camera:camera-*:1.4.0-alpha03 แล้ว เวอร์ชัน 1.4.0-alpha03 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่ม CameraInfo.mustPlayShutterSound เพื่อให้ข้อมูลว่าต้องเล่นเสียงชัตเตอร์ตามข้อจำกัดระดับภูมิภาคหรือไม่ (Ifda84)
  • เพิ่ม OnImageCapturedCallback.onCaptureStarted และ OnImageSavedCallback.onCaptureStarted สำหรับการแจ้งเตือนเมื่อกล้องเริ่มแสดงเฟรม ขอแนะนำให้เล่นเสียงชัตเตอร์หรือภาพเคลื่อนไหวชัตเตอร์ ณ จุดนี้ (Ic49b3)
  • เพิ่มการรองรับฟีเจอร์แฟลชหน้าจอใน CameraX สำหรับการจับภาพจากกล้องหน้า CameraX จะดูแลการจัดการ API ทางเฟรมเวิร์ก และซิงค์ช่วงเวลากับการเปลี่ยนแปลง UI ของแอปพลิเคชันตามที่จำเป็น (เช่น ทริกเกอร์ค่าจับภาพล่วงหน้า AE หลังจากเปลี่ยนสี/ความสว่างของหน้าจอแอป) แอปเพียงแค่ต้องเพิ่มการใช้งานด้าน UI ของตนในอินเทอร์เฟซ ScreenFlashUiControl ที่ให้ไว้กับ CameraX (I8ae84)
  • เพิ่มการรองรับการใช้งานด้าน UI ของหน้าจอใน CameraX แอปจะสามารถติดตั้งใช้งาน ImageCapture.ScreenFlashUiControl พื้นฐานจาก PreviewView หรือ ScreenFlashView ที่เพิ่มเข้ามาใหม่ ซึ่งจะเพิ่มมุมมองซ้อนทับแบบโมโนและเพิ่มความสว่างของหน้าจอสูงสุดระหว่างการจับภาพด้วยแฟลชหน้าจอ (I1810e)

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

  • รองรับฟีเจอร์ส่วนขยายใหม่(มุมมองภายหลังและความคืบหน้าของกระบวนการบันทึก): เพิ่ม API ของ ImageCapture#getImageCaptureCapabilities() สำหรับแอปเพื่อค้นหาความสามารถของมุมมองหลังการถ่ายทำและการเรียกกลับเกี่ยวกับความคืบหน้าของกระบวนการ แอปจะเปิดใช้มุมมองโพสต์ได้โดยใช้ ImageCapture.Builder#setPostviewEnabled() เลือกขนาดมุมมองโพสต์ได้โดยใช้ ImageCapture.Builder#setPostviewResolutionSelector() เมื่อเรียกใช้ takePicture() คุณสามารถใช้ onPostviewBitmapAvailable และ onCaptureProcessProgressed ใน OnImageSavedCallback หรือ OnImageCapturedCallback เพื่อรับการแจ้งเตือนหลังการประมวลผลและการแจ้งเตือนความคืบหน้าของกระบวนการได้หากรองรับ (I5cd88)
  • API สำหรับคำนวณการแปลงพิกัดจากเซ็นเซอร์ไปยังบัฟเฟอร์ปัจจุบันพร้อมธงระบุว่า Surface มีข้อมูลการวางแนวกล้องหรือไม่ (I59096)
  • แสดง API เพื่อค้นหา PreviewCapabitlity ในหน้าตัวอย่าง UseCase (Ie5b6c)
  • เพิ่ม API เพื่อรองรับคุณภาพเพิ่มเติมสำหรับ VideoCapture คุณสามารถใช้ Recorder.Builder#setVideoCapabilitiesSource(int) กับ VIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES เพื่อสร้างอินสแตนซ์ Recorder ซึ่งรองรับคุณภาพมากกว่า VIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE กรณีการใช้งานที่พบบ่อยคือเมื่อแอปพลิเคชันพยายามบันทึกวิดีโอ UHD เมื่อใดก็ตามที่ทำได้ แต่ CamcorderProfile ของอุปกรณ์ไม่มีการตั้งค่า UHD แม้ว่าตัวแปลงรหัสจะสามารถบันทึกวิดีโอ UHD ก็ตาม (Iedbe2, b/263961771)
  • เพิ่ม Getter/setter รูปแบบเอาต์พุต ImageAnalysis ไปยัง CameraController (I9a96c, b/308240643)

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

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

เวอร์ชัน 1.4.0-alpha02

18 ตุลาคม 2023

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

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

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

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

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

เวอร์ชัน 1.4.0-alpha01

20 กันยายน 2023

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

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

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

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

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

เวอร์ชัน 1.3

เวอร์ชัน 1.3.4

12 มิถุนายน 2024

ปล่อย androidx.camera:camera-*:1.3.4 แล้ว เวอร์ชัน 1.3.4 มีคอมมิตเหล่านี้

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

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

เวอร์ชัน 1.3.3

17 เมษายน 2024

ปล่อย androidx.camera:camera-*:1.3.3 แล้ว เวอร์ชัน 1.3.3 มีคอมมิตเหล่านี้

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

  • แก้ไขแล้ว ImageAnalysis' ปัญหาการเลือกความละเอียดที่เกี่ยวข้องกับการตั้งค่าความละเอียดเป้าหมายเริ่มต้นของตัววิเคราะห์: ความละเอียดเป้าหมายถูกเก็บไว้เป็น 640x480 อย่างไม่ถูกต้อง แม้ว่าแอปพลิเคชันจะตั้งค่าความละเอียดเริ่มต้นของโปรแกรมวิเคราะห์เป็นอย่างอื่นก็ตาม หากแอปพลิเคชันพบปัญหานี้ (1.3.0 ~ 1.3.2) และไม่สามารถอัปเกรดไปใช้รุ่นที่ใหม่กว่าซึ่งมีโซลูชันนี้ได้ การตั้งค่า ResolutionSelector โดยตรงด้วยความละเอียดที่ต้องการ และ AspectRatioStrategy ที่ตรงกับ UseCase ของ ImageAnalysis ช่วยแก้ปัญหานี้ได้ (I81f72, b/330091012)

เวอร์ชัน 1.3.2

6 มีนาคม 2024

ปล่อย androidx.camera:camera-*:1.3.2 แล้ว เวอร์ชัน 1.3.2 มีคอมมิตเหล่านี้

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

  • แก้ไขปัญหาข้อมูลเมตา JPEG ในอุปกรณ์ Samsung A24 ตอนนี้ CameraX บันทึกรูปภาพได้อย่างแม่นยำ และฟังก์ชัน ImageProxy.toBitmap() จะแสดงออบเจ็กต์บิตแมปที่ถูกต้อง (I8d6eb, b/309005680)
  • นำตัวเลือกความละเอียด 9280x6944 ในอุปกรณ์ Redmi Note 9 Pro ออกแล้วเนื่องจากปัญหาต่างๆ (Ia23da)

เวอร์ชัน 1.3.1

13 ธันวาคม 2023

ปล่อย androidx.camera:camera-*:1.3.1 แล้ว เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้

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

ปรับปรุงประสิทธิภาพ ProcessCameraProvider#bindToLifecycle() การเปลี่ยนแปลงที่สำคัญคือการเพิ่มประสิทธิภาพกระบวนการระบุชุดค่าผสมขนาดที่เหมาะสมที่สุดสำหรับ UseCases ผลลัพธ์ที่ดีที่สุดจะแตกต่างกันไปตามชุดค่าผสม UseCase เฉพาะ และจำนวนขนาดเอาต์พุตที่รองรับสำหรับอุปกรณ์เป้าหมาย (I454f2)

ต่อไปนี้คือผลลัพธ์การอ้างอิงบางส่วนสำหรับสถานการณ์ต่างๆ

  • 4 UseCases: Preview + ImageCapture + ImageAnalysis + VideoCapture

    • Google Pixel 7: ประมาณ 430 ถึง 60 มิลลิวินาที
    • Samsung Galaxy S23 Ultra: ประมาณ 540 ถึง 45 มิลลิวินาที
    • Samsung A53 5G: ประมาณ 115 ถึง 70 มิลลิวินาที
  • UseCases จำนวน 3 รายการ: Preview + ImageCapture + ImageAnalysis

    • Google Pixel 7: ประมาณ 9 ถึง 7 มิลลิวินาที
    • Samsung Galaxy S23 Ultra: ประมาณ 6 ถึง 5 มิลลิวินาที
    • Samsung A53 5G: ประมาณ 32 ถึง 12 มิลลิวินาที
  • เพิ่ม Snapdragon 480 ใน CameraUseInconsistentTimebaseQuirk แล้ว การดำเนินการนี้จะแก้ไขปัญหาใน Android 12 สำหรับอุปกรณ์ที่ใช้ชิปเซ็ตนี้ซึ่งมีการชดเชยเสียงในการบันทึกตามระยะเวลาที่อุปกรณ์อยู่ในสถานะถูกระงับ (I58010)

เวอร์ชัน 1.3.0

18 ตุลาคม 2023

ปล่อย androidx.camera:camera-*:1.3.0 แล้ว เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้

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

เวอร์ชัน 1.3.0-rc02

20 กันยายน 2023

ปล่อย androidx.camera:camera-*:1.3.0-rc02 แล้ว เวอร์ชัน 1.3.0-rc02 มีคอมมิตเหล่านี้

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

  • ปรับปรุงความเสถียรของส่วนขยายด้วยการตรวจสอบว่ามีการทริกเกอร์เหตุการณ์การเริ่มต้นและการยกเลิกเริ่มต้นตามลำดับที่ถูกต้อง การดำเนินการนี้แก้ไขปัญหาการแสดงตัวอย่างสีดำเมื่อสลับโหมดส่วนขยายหรือเปลี่ยนกล้อง (Iddaac)
  • แก้ไขปัญหาการเชื่อมโยง ImageAnalysis กับ ImageCapture เข้าด้วยกันไม่ได้ และการแสดงตัวอย่างเมื่อเปิดใช้โหมดส่วนขยายบางโหมดในอุปกรณ์บางเครื่อง การแก้ไขจะแสดงค่าที่ถูกต้องเมื่อแอปค้นหาความพร้อมใช้งานของ ImageAnalysis ผ่าน ExtensionsManager#isImageAnalysisSupported() (I7d538)
  • แก้ปัญหาภาพและเสียงที่บันทึกไว้ไม่ตรงกันเมื่อเปิดใช้โหมดมิเรอร์ใน Xiaomi Poco X3 NFC (I20b4C)

เวอร์ชัน 1.3.0-rc01

23 สิงหาคม 2023

ปล่อย androidx.camera:camera-*:1.3.0-rc01 แล้ว เวอร์ชัน 1.3.0-rc01 มีคอมมิตเหล่านี้

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

  • เพิ่ม PendingRecording.asPersistentRecording เพื่อให้สามารถบันทึกอย่างต่อเนื่องในขณะที่ VideoCapture ของโปรแกรมอัดเสียงแนบอยู่นั้นถูกย้อนกลับ (I517c6)

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

  • แก้ไขข้อขัดข้องเมื่อมีการแชร์สตรีมกับทั้ง VideoCapture และเวอร์ชันตัวอย่าง และแก้ปัญหาหน้าจอสีดำในอุปกรณ์รุ่นเดิมเมื่อเปิดใช้การแชร์สตรีม
  • แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung S7 (SM-G930T, SM-G930V) รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ทำให้รูปภาพที่จับภาพมีขนาดไฟล์ใหญ่ ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I407b0, b/288828159)
  • แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung S22 (SM-S901B, SM-S901B/DS) และ S22+ (SM-S906B) รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ซึ่งจะทำให้รูปภาพที่บันทึกไว้มีขนาดไฟล์ใหญ่ประมาณ 13 MB ในอุปกรณ์ S22 SM-S901B/DS ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I73be9, b/288828159)
  • แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung A5, A52, A70 และ A72 รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ทำให้รูปภาพที่จับภาพมีขนาดไฟล์ใหญ่มาก (เช่น ประมาณ 32 MB หรือ 96 MB) ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I97c4d, b/288828159)
  • แก้ไขข้อขัดข้องของระบบเมื่อถ่ายภาพโดยเปิดใช้ส่วนขยาย (I698f5)

เวอร์ชัน 1.3.0-beta02

26 กรกฎาคม 2023

ปล่อย androidx.camera:camera-*:1.3.0-beta02 แล้ว เวอร์ชัน 1.3.0-beta02 มีการคอมมิตเหล่านี้

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

  • ใช้ไฟฉายเป็นแฟลชสำหรับ Pixel 4 และเวอร์ชัน 5 เพื่อปรับปรุงคุณภาพการจับภาพในที่แสงน้อย (I56ff5, b/280221967)
  • แก้ไขปัญหารูปภาพ JPEG ขนาดใหญ่ที่จับภาพได้ในอุปกรณ์ Samsung A5 (2017) รูปภาพ JPEG ที่บันทึกมีข้อมูลระยะห่างจากขอบของ 0 ซ้ำซ้อนในกลุ่มข้อมูลที่บีบอัดโดย JFIF ซึ่งจะทำให้รูปภาพที่จับภาพมีขนาดไฟล์ประมาณ 32 MB ระบบจะนำข้อมูลระยะห่างจากขอบของ 0 ที่ซ้ำซ้อนออกเพื่อทำให้รูปภาพที่จับภาพมีขนาดไฟล์รูปภาพปกติ (I29837, b/288828159)
  • การแก้ไขการลองอีกครั้งไม่ทริกเกอร์อย่างถูกต้องในกรณีที่จับภาพไม่สำเร็จในอุปกรณ์ที่เป็นปัญหาที่กล่าวถึงใน CaptureFailedRetryQuirk (I7b589)

เวอร์ชัน 1.3.0-beta01

21 มิถุนายน 2023

ปล่อย androidx.camera:camera-*:1.3.0-beta01 แล้ว เวอร์ชัน 1.3.0-beta01 มีการคอมมิตเหล่านี้

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

  • เปลี่ยนชื่อฟังก์ชัน ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) เป็น setAllowedResolutionMode และเปลี่ยนชื่อค่าคงที่ ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON เป็น PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE แล้ว (If84e8)
  • นำ API ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) และ VideoCapture.setTargetRotationDegrees(int) ที่เลิกใช้งานแล้วออก (รหัส 8e77)
  • คลาส DynamicRange แสดงถึงช่วงแบบไดนามิกของรูปภาพ ซึ่งใช้เพื่อเลือกรูปแบบ High Dynamic Range เป็นเอาต์พุต VideoCapture ถึง VideoCapture.Builder#setDynamicRange() ได้ (Ib0377)
  • เพิ่ม isImageAnalysisSupported API ใน ExtensionsManager ซึ่งแอปตรวจสอบได้ว่ากรณีการใช้งาน ImageAnalysis เชื่อมโยงกับเวอร์ชันตัวอย่างและ ImageCapture ได้หรือไม่เมื่อเปิดใช้ส่วนขยาย (I1bc63)
  • คลาส VideoCapabilities ใหม่ที่ได้รับจาก Recorder สามารถใช้เพื่อค้นหาช่วงไดนามิกและคุณภาพที่รองรับสำหรับการบันทึกวิดีโอในอุปกรณ์ เมธอด getSupportedQualities() และ isQualitySupported() ของ QualitySelector ถูกเลิกใช้งานแล้ว โปรดใช้เมธอด getSupportedQualities() และ isQualitySupported() ของ VideoCapabilities แทน (I04014)
  • CameraController#setVideoCaptureTargetQuality() เปลี่ยนชื่อเป็น setVideoCaptureQualitySelector และใช้อาร์กิวเมนต์ QualitySelector ซึ่งทำให้มีความยืดหยุ่นมากขึ้นสำหรับการตั้งค่าคุณภาพวิดีโอ CameraController#getVideoCaptureTargetQuality() ก็จะเปลี่ยนเป็น getVideoCaptureQualitySelector ด้วยเช่นกัน (I520ed)
  • นำคำอธิบายประกอบเวอร์ชันทดลองสำหรับฟีเจอร์วิดีโอออกแล้ว ขณะนี้ฟีเจอร์ของวิดีโอมีความเสถียรแล้ว (I1a113)

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

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

เวอร์ชัน 1.3.0-alpha07

24 พฤษภาคม 2023

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

ฟีเจอร์ใหม่

  • VideoCapture.Builder# setTargetFrameRate(Range) API ใหม่ช่วยให้บันทึกวิดีโอที่อัตราเฟรมอื่นนอกจากค่าเริ่มต้นของอุปกรณ์ได้ คุณจะค้นหาอัตราเฟรมที่พร้อมใช้งานสำหรับการบันทึกได้ผ่าน API ของ CameraInfo#getSupportedFrameRates() ใหม่

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

  • เปลี่ยนชื่อค่าคงที่ ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON เป็น ALLOWED_RESOLUTIONS_NORMAL/SLOW และเปลี่ยนชื่อฟังก์ชัน setHighResolutionEnabledFlag ของเครื่องมือสร้างเป็น setAllowedResolutionMode แล้ว (Iae817)
  • ตอนนี้ CameraInfo#getSupportedFrameRateRanges() จะแสดงผล Set แทนที่จะเป็น List เพื่อแสดงว่าช่วงไม่มีการจัดเรียง (I02f43)
  • เพิ่ม Listener ข้อผิดพลาดใน CameraEffect เพื่อจัดการข้อผิดพลาดที่กู้คืนไม่ได้ (Ice471)
  • เพิ่มเครื่องมือสร้างสาธารณะใน ResolutionInfo เพื่อการทดสอบที่ดียิ่งขึ้น (If6d1c)
  • ระบุ API UseCase.snapToSurfaceRotation(int) เพื่อแทนที่การใช้งาน setTargetRotationDegrees และเลิกใช้งาน 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 เป็นค่าว่าง (Idf124, b/282025204)
  • แก้ไขปัญหาที่ Preview.setSurfaceProvider(null) ไม่หยุดการแสดงตัวอย่างในส่วนขยายชั่วคราว (Ia903e)
  • แก้ไขปัญหาที่มีการโยน ConcurrentModificationException ระหว่างการเปิดกล้องเมื่อมีการผูก VideoCapture แล้ว (Ic8ac4)

เวอร์ชัน 1.3.0-alpha06

19 เมษายน 2023

ปล่อย androidx.camera:camera-*:1.3.0-alpha06 แล้ว เวอร์ชัน 1.3.0-alpha06 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • กล้องพร้อมกันเป็นฟีเจอร์ใหม่จาก Android 11 ซึ่งรองรับการสตรีมอุปกรณ์กล้องพร้อมกัน เช่น ทำให้อุปกรณ์ทำงานทั้งกล้องหน้าและกล้องหลังพร้อมกันได้ ปัจจุบัน CameraX รองรับเฉพาะกล้องแบบใช้พร้อมกัน 2 ตัว ซึ่งช่วยให้กล้อง 2 ตัวทำงานพร้อมกันได้ โดยมี {@link UseCase} ไม่เกิน 2 ตัวสำหรับแต่ละกล้อง ความละเอียดสูงสุดคือ 720p หรือ 1440p ดูรายละเอียดเพิ่มเติมในลิงก์ต่อไปนี้ที่ cameraManager#getConcurrentcameraIds()
  • ขอแนะนำ ResolutionSelector API ใหม่ซึ่งครอบคลุมฟีเจอร์ต่อไปนี้
    • แอปพลิเคชันสามารถระบุสัดส่วนภาพและกลยุทธ์ความละเอียดเพื่อเลือกความละเอียดที่ดีที่สุดให้ตรงตามความต้องการได้
    • พารามิเตอร์ขนาดและสัดส่วนภาพทั้งหมดจะแสดงในพิกัดของเซ็นเซอร์ของอุปกรณ์กล้อง
    • แอปพลิเคชันสามารถใช้ตัวกรองความละเอียดที่กำหนดเองเพื่อจัดเรียงขนาดที่รองรับตามลำดับที่ต้องการได้
    • แอปพลิเคชันยังเปิดใช้การจับภาพความละเอียดสูงเพื่อรับรูปภาพที่มีความละเอียดสูงขึ้นได้ด้วย อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจส่งผลให้เวลาในการจับภาพช้าลง
    • เพิ่ม API การมิเรอร์ VideoCapture รายการแล้ว วิดีโอที่บันทึกโดย VideoCapture จะไม่มิเรอร์โดยค่าเริ่มต้น แต่การแสดงตัวอย่างจากกล้องจะมิเรอร์อยู่ในกล้องหน้าโดยค่าเริ่มต้น API การมิเรอร์ VideoCapture ช่วยให้ปรับให้สอดคล้องกับการแสดงตัวอย่างของกล้องเมื่อใช้กล้องหน้าได้ มี MirrorMode, OFF, ON และ ON_FRONT_ONLY 3 รายการ หากต้องการปรับให้สอดคล้องกับการแสดงตัวอย่างของกล้อง ขอแนะนำให้ใช้ ON_FRONT_ONLY ซึ่งหมายความว่ากล้องหลังไม่ได้เปิดใช้มิเรอร์ แต่มีการเปิดใช้การมิเรอร์สำหรับกล้องหน้า

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

  • เปิดเผย API ใหม่ของ ResolutionSelector แอปพลิเคชันสามารถระบุสัดส่วนภาพและกลยุทธ์ความละเอียดได้ด้วยกฎการสำรองหรือตัวกรองความละเอียดที่กำหนดเอง เพื่อให้ได้ผลลัพธ์ที่ต้องการ แอปพลิเคชันสามารถระบุธงเพื่อเปิดใช้งานการจับภาพความละเอียดสูง วิธีนี้จะช่วยให้ CameraX เลือกความละเอียดที่สูงขึ้นเมื่อถ่ายรูปหรือวิดีโอ อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจส่งผลให้เวลาในการจับภาพช้าลง (Ibed95)
  • ตอนนี้คุณค้นหาช่วง FPS ที่อัลกอริทึม AE รองรับได้ผ่าน CameraInfo#getSupportedFrameRateRanges() (Iaa67f)
  • รวมชื่อของเมธอดอัตราเฟรมทั้งหมดไว้ในการใช้ "FrameRate" แก้ไขข้อผิดพลาดของ Javadoc ใน VideoCapture#getTargetFrameRate() (I83304)
  • เลิกใช้งาน setTargetAspectRatio และ setTargetResolution API เดิมแล้ว โปรดใช้ ResolutionSelector API ใหม่แทน (I542c3)
  • เพิ่ม API สาธารณะสำหรับกล้องคู่ที่ใช้งานพร้อมกัน รวมถึง
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() และ ConcurrentCameraConfig, SingleCameraConfig และ ConcurrentCamera (Iab1c1)
  • สร้าง ImageProcessor.Response#getOutputImage NonNull (Ib9c60)
  • เพิ่ม API การมิเรอร์ VideoCapture รายการ ซึ่งรวมถึง VideoCapture.Builder.setMirrorMode(int) และ VideoCapture.getMirrorMode() API มีประโยชน์สำหรับแอปพลิเคชันที่ต้องใช้การบันทึกวิดีโอให้สอดคล้องกับลักษณะการทำงานของการแสดงตัวอย่างจากกล้องทั่วไป เช่น ตัวอย่างจากกล้องหลังไม่มิเรอร์ แต่ตัวอย่างจากกล้องหน้าจะมิเรอร์ (I713b6, b/194634656)
  • เพิ่ม setTargetFrameRate() API ใน VideoCapture.Builder และ getTargetFramerate() API ใน VideoCapture (I109d4)
  • กำหนดให้ SurfaceOutput สามารถปิดได้และซ่อนเครื่องมือสร้างสาธารณะของ SurfaceOutput.Event (I60ea8)
  • เพิ่ม Recording.mute เพื่อปิดเสียงหรือเปิดเสียงบันทึกที่อยู่ระหว่างดำเนินการแบบไดนามิก RecordingStats จะมี AudioStats.AUDIO_STATE_MUTED เมื่อมีการปิดเสียงการบันทึกที่อยู่ระหว่างการประมวลผลอย่างชัดแจ้ง (Ie17fc)
  • กำหนดให้พารามิเตอร์ #setEffects() รายการไม่เป็นค่าว่าง เพิ่ม #clearEffects() API เพื่อล้างเอฟเฟกต์ แอปควรเรียก #clearEffects() เพื่อนำเอฟเฟกต์ออก (I4b4d9)
  • เพิ่มตัวสร้างตัวที่ 2 สำหรับ ViewfinderSurfaceRequest.Builder เพื่อใช้เครื่องมือสร้างสำหรับตัวสร้างการคัดลอก (I621a7)

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

  • แก้ไขปัญหาที่แอปเรียกใช้ Extensions API อาจขัดข้องเมื่อปิดกล้อง (Ib27e5)
  • แก้ไขปัญหาที่ VideoCapture ทำงานกับกล้องหน้าในอุปกรณ์บางเครื่องไม่ได้ เช่น ใน Samsung Galaxy S23 และ Xiaomi 2107113SG (Ibec7e, b/270656244)
  • แก้ไขปัญหาที่การถ่ายภาพโดยใช้ File ในโฟลเดอร์สาธารณะของพื้นที่เก็บข้อมูลภายนอกจะไม่สำเร็จเสมอใน Android 10 ขึ้นไป โปรดทราบว่าใน Android 10 การถ่ายภาพโดยใช้ "ไฟล์" ในโฟลเดอร์สาธารณะของพื้นที่เก็บข้อมูลภายนอกจะต้องมีการตั้งค่า requestLegacyExternalStorage เป็น "จริง" ในแท็กแอปพลิเคชันด้วย (I11b2c)
  • แก้ไขข้อขัดข้องของ RejectedExecutionException ใน DefaultSurfaceProcessor แล้ว ข้อขัดข้องอาจเกิดขึ้นเมื่อมีการเชื่อมโยง VideoCapture และกิจกรรมหยุดชั่วคราว (Idb46a, b/273713906)

เวอร์ชัน 1.3.0-alpha05

22 มีนาคม 2023

ปล่อย androidx.camera:camera-*:1.3.0-alpha05 แล้ว เวอร์ชัน 1.3.0-alpha05 มีคอมมิตเหล่านี้

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

  • เพิ่ม API การหมุน VideoCapture รายการ ซึ่งรวมถึง VideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int) และ VideoCapture.getTargetRotation() โดย API มีประโยชน์สำหรับแอปพลิเคชันที่ล็อกการวางแนวอุปกรณ์ ระบบจะเพิ่ม ImageCapture.setTargetRotationDegrees(int) และ ImageAnalysis.setTargetRotationDegrees(int) ด้วย (Id3ffe, b/205242781)
  • อนุญาตให้ VIDEO_CAPTURE และ PREVIEW|VIDEO_CAPTURE เป็นเป้าหมายเอฟเฟกต์ เอฟเฟกต์ที่กำหนดเป้าหมายเป็น VIDEO_CAPTURE จะมีผลกับ Use Case ของ VideoCapture ระบบจะใช้เอฟเฟกต์ที่กำหนดเป้าหมายเป็น PREVIEW|VIDEO_CAPTURE กับสตรีมที่แชร์ก่อนคัดลอกไปยังสตรีมตัวอย่างและสตรีม VideoCapture (Iee6f3)

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

  • จากกล้อง 1.2.2: แก้ไขปัญหาที่ส่วนขยาย CameraX ทำงานไม่ถูกต้องเมื่อเปิดใช้ Proguard ในอุปกรณ์บางเครื่อง เช่น Pixel (I90aa2)
  • แก้ไขข้อบกพร่องของ PreviewView ที่หากแอปจัดการการวางแนวหน้าจอด้วยตนเอง ตัวอย่างอาจบิดเบี้ยวเมื่อหมุน การดำเนินการนี้จะเกิดขึ้นบนอุปกรณ์บางรุ่นเท่านั้น ซึ่งทำซ้ำได้ใน Pixel a4, Pixel 5 และ Pixel 6a (I14340, b/223488673)

เวอร์ชัน 1.3.0-alpha04

22 กุมภาพันธ์ 2023

ปล่อย androidx.camera:camera-*:1.3.0-alpha04 แล้ว เวอร์ชัน 1.3.0-alpha04 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

ฟีเจอร์ใหม่เพื่อรองรับชุดค่าผสม Surface ที่ก่อนหน้านี้ไม่รองรับด้วยการแชร์สตรีม 1 รายการกับ Use Case หลายรายการ

  • ก่อนหน้านี้ เมื่อเชื่อมโยง "Preview, VideoCapture, ImageAnalysis" ในระดับฮาร์ดแวร์ของกล้อง FULL และต่ำกว่า หรือเชื่อมโยง "Preview, VideoCapture, ImageCapture" ในรุ่นเดิมระดับฮาร์ดแวร์ CameraX จะส่ง IllegalArgumentException
  • ลักษณะการทำงานใหม่คือการเชื่อมโยงจะทำงานโดยไม่มีข้อยกเว้น แต่ CameraX จะใช้ OpenGL ในการคัดลอกสตรีมที่แชร์ไปยังทั้ง Preview และ VideoCapture แทน
  • แอปอาจมีเวลาในการตอบสนองและใช้พลังงานเพิ่มขึ้นเนื่องจากมีค่าใช้จ่ายในการคัดลอกบัฟเฟอร์

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

  • เพิ่ม API เพื่อแปลง ImageProxy เป็น Bitmap รูปแบบ ImageProxy ที่รองรับคือ ImageFormat.YUV_420_888 และ PixelFormat.RGBA_8888 หากรูปแบบไม่ถูกต้อง ระบบจะส่ง IllegalArgumentException (Ic7110)
  • เพิ่ม CoroutineCameraViewfinder เพื่อรองรับการกำหนดค่าช่องมองภาพโดยใช้ฟังก์ชันการระงับใน Kotlin (I657bc)
  • เพิ่มตัวสร้างสาธารณะใหม่สำหรับ ViewfinderSurfaceRequest มอบความยืดหยุ่นเมื่อผู้ใช้ระบุ CameraCharacteristics ไม่ได้ (Ie6549)

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

  • แก้ไขข้อขัดข้องของส่วนขยายที่เกิดขึ้นในอุปกรณ์ Samsung บางรุ่นเมื่อหยุดแอปชั่วคราว/กลับมาใช้งานอีกครั้งเร็วเกินไป (Iaca26)

เวอร์ชัน 1.3.0-alpha03

25 มกราคม 2023

ปล่อย androidx.camera:camera-*:1.3.0-alpha03 แล้ว เวอร์ชัน 1.3.0-alpha03 มีคอมมิตเหล่านี้

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

  • เพิ่ม CameraInfo.getIntrinsicZoomRatio เพื่อให้ข้อมูลมุมการดูที่สัมพันธ์กับกล้องเริ่มต้น (Ib300C)
  • เพิ่ม CameraInfo.getLensFacing เพื่อระบุข้อมูลการหันหน้าเลนส์แล้ว เพิ่ม CameraSelector#LENS_FACING_EXTERNAL เป็นฟีเจอร์ทดลองสำหรับการเลือกกล้องภายนอก (Icaf3e)
  • เพิ่ม #setEffect() ไปยัง CameraController ที่อนุญาตให้เพิ่มเอฟเฟกต์ไปยังเอาต์พุตกล้อง (I1d21f)
  • เพิ่มเมธอด invalidate() ลงใน SurfaceRequest ผู้ให้บริการ Surface สามารถแจ้งว่า Surface ที่ระบุไว้ก่อนหน้านี้ใช้ไม่ได้อีกต่อไป (Idc649)
  • เพิ่ม ImageProcessor API อินเทอร์เฟซนี้มีไว้สำหรับแทรกเอฟเฟกต์หลังการประมวลผลในไปป์ไลน์ ImageCapture (I575c6)
  • เพิ่ม API Recorder.Builder.setAspectRatio() ซึ่งสามารถใช้ร่วมกับ QualitySelector เพื่อรองรับความละเอียดของวิดีโอมากขึ้น (I8a082)
  • เพิ่ม Recorder.Builder#setTargetVideoEncodingBitRate เพื่อตั้งค่าการเข้ารหัสวิดีโอเป้าหมาย BitRate และ Recorder#getTargetVideoEncodingBitRate เพื่อรับ BitRate ของการเข้ารหัสวิดีโอเป้าหมาย (I5984D)

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

  • แก้ไข ImageCapture ไม่สำเร็จเมื่อไม่มีหน่วยแฟลชและโหมดแฟลชเปิดอยู่ (I9e8b4, b/263391112)
  • แก้ปัญหารูปภาพ JPEG เสียหาย หากเขียนข้อมูลตำแหน่งใน Exif ในอุปกรณ์ Samsung Android 12 บางรุ่น (Ib7086, b/263747161, b/263289024)
  • เมื่อตั้งค่าไฟฉาย/ซูมก่อนบังคับกล้องเริ่มต้น เช่น กำลังเรียกใช้ CameraController#enableTorch ระบบจะแคชการดำเนินการที่รอดำเนินการและส่งเมื่อการเริ่มต้นบังคับ (I11e92, b/264157663)

เวอร์ชัน 1.3.0-alpha02

7 ธันวาคม 2022

ปล่อย androidx.camera:camera-*:1.3.0-alpha02 แล้ว เวอร์ชัน 1.3.0-alpha02 มีคอมมิตเหล่านี้

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

  • เพิ่ม API ใหม่สำหรับใช้เอฟเฟกต์หลังการประมวลผลกับเอาต์พุตพรีวิว (Ic17d5)
  • เปลี่ยนชื่อ OutputOptions.getDurationLimit เป็น OutputOptions.getDurationLimitMillis และ OutputOptions.setDurationLimit เป็น OutputOptions.setDurationLimitMillis แล้ว (I91f0c)
  • เพิ่มชั้นเรียน AudioConfig เพื่อจัดการการตั้งค่าที่เกี่ยวข้องกับเสียงขณะบันทึกวิดีโอ คำอธิบายประกอบ @RequiresPermission จะย้ายจากฟังก์ชัน startRecording ไปยัง AudioConfig เพื่อหลีกเลี่ยงคำขอสิทธิ์ที่ไม่จำเป็นสำหรับกรณีที่ไม่จำเป็นต้องใช้เสียง (I28755)
  • นำคลาสข้อมูลเมตา OnVideoSavedCallback, OutputFileOptions และ OutputFileResults ที่ไม่ได้ใช้แล้วออกหลังจากใช้ API การจับภาพวิดีโอใหม่ (I38cd8)
  • ใช้ API การจับภาพวิดีโอใหม่ ระบบจะใช้เมธอด getVideoCaptureTargetQuality และ setVideoCaptureTargetQuality แทน getVideoCaptureTargetSize และ setVideoCaptureTargetSize เนื่องจากระบบไม่รองรับ setTargetResolution อีกต่อไป (I2a1d5)

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

  • นำ API core.VideoCapture ที่เลิกใช้งานแล้วออก (I531e0)
  • แก้ไขปัญหาที่ระบบไม่เรียกใช้ Callback onError เมื่อถ่ายภาพโดยไม่มีสิทธิ์ใช้พื้นที่เก็บข้อมูล (I936db, b/244807669)
  • ปรับปรุงคุณภาพและความน่าเชื่อถือของส่วนขยายกล้อง ส่วนขยายกล้องถูกปิดใช้งานในอุปกรณ์ Motorola ที่ใช้ส่วนขยายกล้อง v1.1.0 และเวอร์ชันที่เก่ากว่าเนื่องจากปัญหาเกี่ยวกับการรองรับโบเก้ การจับภาพ และการแสดงตัวอย่างไม่ทำงานต่อ (Id3ce3)
  • แก้ไขข้อขัดข้องของระบบเมื่อเปิดใช้การครอบตัดวิดีโอผ่าน ViewPort ในอุปกรณ์เดิม (I16b8a, b/251357665)

เวอร์ชัน 1.3.0-alpha01

9 พฤศจิกายน 2022

ปล่อย androidx.camera:camera-*:1.3.0-alpha01 แล้ว เวอร์ชัน 1.3.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • Camera-viewfinder ได้รับการเผยแพร่อย่างเป็นทางการแล้ว Camera-viewfinder มีวิดเจ็ตช่องมองภาพพื้นฐานที่แสดงฟีดกล้องสำหรับ Camera2 โปรดดูโค้ดตัวอย่างเป็นตัวอย่าง

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

  • เพิ่ม OutputOptions.setDurationLimit เพื่อให้ตั้งค่าการจำกัดระยะเวลาของวิดีโอได้แล้ว ระบบจะสรุปการบันทึกโดยอัตโนมัติเมื่อเลยระยะเวลาที่กำหนดไว้ (I902a0)
  • เพิ่มสถานะข้อผิดพลาดเกี่ยวกับเสียงในการบันทึกวิดีโอ AudioStats.AUDIO_STATE_SOURCE_ERROR ส่งเมื่อตั้งค่าแหล่งที่มาของเสียงไม่สำเร็จหรือเกิดข้อผิดพลาดบางอย่าง (I37410)

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

  • เพิ่มพฤติกรรมที่ไม่ปกติเพื่ออนุญาตให้อุปกรณ์ที่มีปัญหาบางอย่างลองจับภาพอีกครั้งเมื่อตรวจพบความล้มเหลว (Id4795)
  • แก้ไขปัญหาหน้าจอสีดำการติดตั้งใช้งาน SurfaceView PreviewView รายการใน ViewPager2 PreviewView จะใช้ SurfaceView ซ้ำเป็นส่วนหนึ่งของการแก้ไข หากความละเอียดที่ขอไม่มีการเปลี่ยนแปลง (Ib3f27)
  • รองรับการครอบตัดวิดีโอ (ฟีเจอร์แบบ WYSIWYG) เมื่อใช้ ViewPort หรือ CameraController API (Ifbba8, b/201085351)
  • วิดีโอที่แก้ไขแล้วที่ถ่ายด้วยกล้องหน้าไม่สามารถบันทึกวิดีโอบน Huawei P40 Lite ได้ (I87c57, b/250807400)

เวอร์ชัน 1.2

เวอร์ชัน 1.2.3

24 พฤษภาคม 2023

ปล่อย androidx.camera:camera-*:1.2.3 แล้ว เวอร์ชัน 1.2.3 มีคอมมิตเหล่านี้

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

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

เวอร์ชัน 1.2.2

22 มีนาคม 2023

ปล่อย androidx.camera:camera-*:1.2.2 แล้ว เวอร์ชัน 1.2.2 มีคอมมิตเหล่านี้

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

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

เวอร์ชัน 1.2.1

25 มกราคม 2023

ปล่อย androidx.camera:camera-*:1.2.1 แล้ว เวอร์ชัน 1.2.1 มีคอมมิตเหล่านี้

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

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

เวอร์ชัน 1.2.0

7 ธันวาคม 2022

ปล่อย androidx.camera:camera-*:1.2.0 แล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้

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

  • Camera-mlkit-vision ใหม่ ผสานรวม CameraX เข้ากับฟีเจอร์มากมายของ MLKit ได้อย่างง่ายดาย รวมถึงการสแกนบาร์โค้ด การตรวจจับใบหน้า การตรวจจับข้อความ ฯลฯ เพิ่ม MLKitAnalyzer เป็น API ใหม่
  • Zero-Shutter Lag API เวอร์ชันทดลองใหม่ ปรับไปป์ไลน์การจับภาพให้เหมาะสมที่สุดเพื่อให้เวลาในการตอบสนองดีขึ้นโดยยังคงรักษาคุณภาพของรูปที่ดีได้ เมื่อตั้งค่าโหมดจับภาพเป็น CAPTURE_MODE_ZERO_SHUTTER_LAG ระบบจะลดเวลาในการตอบสนองระหว่างปุ่มชัตเตอร์และจะลดเวลาถ่ายภาพให้เหลือน้อยที่สุด เมื่อเทียบกับโหมดจับภาพอื่นๆ ในอุปกรณ์ที่ไม่รองรับ ZERO_SHUTTER_LAG ระบบจะสำรองให้ CAPTURE_MODE_MINIMIZE_LATENCY
  • เลิกใช้งาน android.camera.core.VideoCapture
  • เพิ่ม setStreamUseCase() เป็น Camera2Interop API สาธารณะแล้ว
  • เพิ่มข้อกำหนดของระดับ API สำหรับ setOutputImageRotationEnabled แล้ว
  • เปลี่ยนชื่อ ImageAnalysis.Analyzer#getTargetResolutionOverride() เป็น ImageAnalysis.Analyzer#getDefaultTargetResolution() แล้ว
  • เพิ่ม API สำหรับการตั้งค่าข้อมูลเมตาของตำแหน่งในวิดีโอที่บันทึกไว้
  • แก้ไขอัตราเฟรมต่ำเมื่อใช้ VideoCapture และแสดงตัวอย่างกรณีการใช้งานที่มีสัดส่วนภาพ 16:9
  • แก้ไขปัญหาการแสดงตัวอย่างสีดำที่เกิดขึ้นเมื่อเปิดใช้ส่วนขยาย BOKEH ในอุปกรณ์ Samsung บางรุ่นและผู้ใช้ปิดสวิตช์กล้อง
  • แก้ไขปัญหา Samsung J7 Prime (SM-G610M) และ J7 (SM-J710MN) Preview/VideoCapture ที่เพิ่มจำนวนปัญหาในอุปกรณ์ API ระดับ 27
  • ปิดใช้วิธีแก้ปัญหาเพื่อพลิกภูมิภาค AF ในแนวนอนของกล้องหน้าบน Samsung Android T แล้วเนื่องจากปัญหาได้รับการแก้ไขแล้ว

เวอร์ชัน 1.2.0-rc01

24 ตุลาคม 2022

ปล่อย androidx.camera:camera-*:1.2.0-rc01 แล้ว เวอร์ชัน 1.2.0-rc01 มีคอมมิตเหล่านี้

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

  • เพิ่ม setStreamUseCase API สำหรับ OutputConfiguration ผู้ใช้สามารถระบุ Use Case ของสตรีมสำหรับเซสชันของสตรีม โดยลบล้างตรรกะภายในของ CameraX เพื่อเลือก Use Case ของสตรีมเพื่อเพิ่มประสิทธิภาพตามความต้องการ (Ib1a95)

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

  • แก้ไขปัญหา Samsung J7 Prime (SM-G610M) และ J7 (SM-J710MN) Preview/VideoCapture ที่เพิ่มจำนวนปัญหาในอุปกรณ์ API ระดับ 27 ความละเอียด 1920x1080 จะทำให้รูปภาพ Preview/VideoCapture ถูกยืดออก เพิ่มวิธีแก้ปัญหาโดยไม่ได้เลือกความละเอียด 1920x1080 สำหรับการแสดงตัวอย่างหรือ VideoCapture เพื่อหลีกเลี่ยงปัญหาภาพยืดขยาย (I0e04e)
  • แก้ไขอัตราเฟรมต่ำเมื่อใช้ VideoCapture และตัวอย่างกรณีการใช้งานที่มีสัดส่วนภาพ 16:9 ในอุปกรณ์ Huawei บางรุ่น (If8c88, b/223643510)
  • แก้ไขความล้มเหลวในการเปิดกล้องเมื่อไม่ได้ตั้งค่า SurfaceProvider ของตัวอย่าง ในการแก้ปัญหานี้ ระบบจะไม่กำหนดค่าการแสดงตัวอย่างที่ไม่มีการตั้งค่า SurfaceProvider ลงในเซสชันการจับภาพด้วยกล้อง (I99681)

เวอร์ชัน 1.2.0-beta02

21 กันยายน 2022

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

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

  • เพิ่มข้อกำหนดระดับ API สำหรับ setOutputImageRotationEnabled (I26e3e, b/240993561)

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

  • ปิดใช้วิธีแก้ปัญหาเพื่อพลิกภูมิภาค AF ในแนวนอนของกล้องหน้าบน Samsung Android T แล้วเนื่องจากปัญหาได้รับการแก้ไขแล้ว (I05F69)
  • แก้ไขปัญหาตัวอย่างสีดำที่เกิดขึ้นเมื่อมีการเปิดใช้ส่วนขยาย BOKEH ในอุปกรณ์ Samsung บางรุ่นและผู้ใช้สลับกล้อง (If6168)

เวอร์ชัน 1.2.0-beta01

24 สิงหาคม 2022

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

ฟีเจอร์ใหม่

  • คลังใหม่ camera-mlkit-vision ผสานรวม CameraX เข้ากับฟีเจอร์มากมายของ MLKit ได้อย่างง่ายดาย รวมถึงการสแกนบาร์โค้ด การตรวจจับใบหน้า การตรวจจับข้อความ ฯลฯ โปรดดูโค้ดตัวอย่างที่นี่
  • Zero-Shutter Lag API เวอร์ชันทดลองใหม่ ปรับไปป์ไลน์การจับภาพให้เหมาะสมที่สุดเพื่อให้เวลาในการตอบสนองดีขึ้นโดยยังคงรักษาคุณภาพของรูปที่ดีได้ เมื่อตั้งค่าโหมดจับภาพเป็น CAPTURE_mode_ZERO_SHUTTER_LAG ระบบจะลดเวลาในการตอบสนองระหว่างปุ่มชัตเตอร์และจะลดการถ่ายภาพให้น้อยที่สุดเมื่อเทียบกับโหมดจับภาพอื่นๆ บนอุปกรณ์ที่ไม่รองรับ ZERO_SHUTTER_LAG จะมีการสำรองเป็น CAPTURE_MODE_MINIMIZE_LATENCY
  • สร้าง ImageAnalysis.Analyzer และ MLKitAnalyzer เป็น API อย่างเป็นทางการ
  • Exposed API สำหรับการตั้งค่าข้อมูลเมตาของตำแหน่งไปยังวิดีโอที่บันทึกไว้
  • เปลี่ยนชื่อ ImageAnalysis.Analyzer#getTargetResolutionOverride() เป็น ImageAnalysis.Analyzer#getDefaultTargetResolution()

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

  • แก้ไขปัญหาการจับภาพของ Alps k61v1_basic_ref รูปภาพ JPEG ที่บันทึกจาก HAL มีข้อมูลเมตา Exif ที่ไม่ถูกต้อง ข้อมูลเมตาของ Exif ไม่มีแท็ก 0xffd9 หรือ 0xffda เพื่อทำให้ ExifInterface แยกวิเคราะห์แอตทริบิวต์ได้อย่างถูกต้อง จับภาพในรูปแบบ YUV แล้วบีบอัดเป็นรูปภาพเอาต์พุต JPEG เพื่อแก้ปัญหานี้ (I45abb)

เวอร์ชัน 1.2.0-alpha04

27 กรกฎาคม 2022

ปล่อย androidx.camera:camera-*:1.2.0-alpha04 แล้ว เวอร์ชัน 1.2.0-alpha04 มีคอมมิตเหล่านี้

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

  • เปลี่ยนชื่อ ImageAnalysis.Analyzer#getTargetResolutionOverride() เป็น ImageAnalysis.Analyzer#getDefaultTargetResolution() นอกจากนี้ ยังเปลี่ยนลักษณะการทำงานเพื่อให้ค่า ImageAnalysis#setTargetResolution() ที่ส่งคืนมาถูกลบล้างด้วย (If1d36)
  • Exposed API สำหรับการตั้งค่าข้อมูลเมตาของตำแหน่งไปยังวิดีโอที่บันทึกไว้ ตั้งค่าออบเจ็กต์ android.location.Location ผ่าน API ใหม่ androidx.camera.video.OutputOptions.Builder.setLocation(Location) ได้ (I313a0, b/204197544)

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

  • แก้ไขปัญหาเพื่อถ่ายภาพโดยยกเลิกการเชื่อมโยงการแสดงตัวอย่าง (Ie70b6, b/235119898)
  • แก้ไขข้อขัดข้องใน Recorder แล้ว เมื่อพยายามบันทึกขณะที่แหล่งที่มาของเสียงไม่พร้อมใช้งาน (I9f652)

เวอร์ชัน 1.2.0-alpha03

29 มิถุนายน 2022

ปล่อย androidx.camera:camera-*:1.2.0-alpha03 แล้ว เวอร์ชัน 1.2.0-alpha03 มีคอมมิตเหล่านี้

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

  • นำหมายเหตุทดลองสำหรับ ImageAnalysis.Analyzer และ MLKitAnalyzer ออกแล้ว (I0ff22)

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

  • เพิ่มระยะหมดเวลาเริ่มต้นของการโฟกัสอัตโนมัติ 5,000 มิลลิวินาที ซึ่งจะทําให้ส่วน AF ด้วยค่าเท็จ isFocusSuccessful ให้สมบูรณ์ หากไม่ได้ยกเลิก FocusMeteringAction และส่วน AF ไม่บรรจบกันในระยะเวลาดังกล่าว (Ibc2e3)
  • แก้ไขปัญหาเพื่อถ่ายภาพโดยยกเลิกการเชื่อมโยงการแสดงตัวอย่าง (I1d3a2, b/235119898)
  • เปิดใช้งานตัวขยายขั้นสูงและอัปเดตอินเทอร์เฟซส่วนขยายที่รองรับ CameraX เป็นเวอร์ชัน 1.2 (I92256)

เวอร์ชัน 1.2.0-alpha02

1 มิถุนายน 2022

ปล่อย androidx.camera:camera-*:1.2.0-alpha02 แล้ว เวอร์ชัน 1.2.0-alpha02 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • แสดง CameraX Zero-Shutter Lag API เป็นเวอร์ชันทดลอง

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

  • เพิ่มโหมดจับภาพใหม่ CAPTURE_MODE_ZERO_SHUTTER_LAG ใน ImageCapture และเพิ่ม isZslSupported ใน CameraInfo เพื่อค้นหาความสามารถของอุปกรณ์ โหมด CAPTURE_MODE_ZERO_SHUTTER_LAG มุ่งมั่นที่จะมอบเวลาในการตอบสนองขั้นต่ำสำหรับการจับภาพทันที โดยจะดำเนินการโดยอิงตามบัฟเฟอร์ริง ซึ่งจะแคชผลการจับภาพระดับกลางเพื่อประมวลผลใหม่ในภายหลังเมื่อผู้ใช้กดปุ่มเพื่อถ่ายภาพ หากผูก {@link VideoCapture} หรือไม่ปิดโหมดแฟลชหรือส่วนขยาย OEM เปิดอยู่ โหมดนี้จะปิดใช้งานโดยอัตโนมัติ (I9ae74)
  • เพิ่มเมธอด ImageAnalysis.getBackgroundExecutor() (Icc945)

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

  • วิธีถ่ายภาพ ImageCapture ที่แก้ไขแล้วจะปิดแฟลชในอุปกรณ์ที่รายงาน (Ib5eb5, b/228272227)
  • แก้ไขข้อบกพร่องที่ไม่มีการจัดการ AssertionError เมื่อได้รับลักษณะเฉพาะ CONTROL_ZOOM_RATIO_RANGE (/Ia248a, b/231701345)

เวอร์ชัน 1.2.0-alpha01

18 พฤษภาคม 2022

ปล่อย androidx.camera:camera-*:1.2.0-alpha01 แล้ว เวอร์ชัน 1.2.0-alpha01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เปิดตัว Camera-mlkit-vision แบบใหม่ของไลบรารี

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

  • การแก้ไข QualitySelector ไม่สามารถบันทึกวิดีโอ UHD เมื่อมีการเปิดใช้กลยุทธ์สำรอง ปัญหาเกิดขึ้นเมื่อ VideoCapture เชื่อมโยงกับ ImageCapture และการแสดงตัวอย่างในอุปกรณ์กล้องระดับฮาร์ดแวร์ FULL ขึ้นไป กลยุทธ์สำรองของ QualitySelector ทำให้ VideoCapture ได้รับความละเอียดแบบ FHD อย่างไม่ถูกต้อง ระบบรองรับความละเอียด UHD สำหรับชุด Use Case นี้ร่วมกันและควรใช้ความละเอียดดังกล่าว (I0e788, b/230651237)
  • แก้ไขแล้ว NullPointerException ใน ImageCapture.takePicture() (I92366, b/230454568, b/229766155)
  • แก้ไขลักษณะการหยุดชั่วคราวแบบไม่พร้อมกันของ androidx.camera.video.Recorder (Ia8ce8)

Camera-กล้องถ่ายรูป2, Camera-Core, Camera-Lifecycle และ กล้องวิดีโอเวอร์ชัน 1.1.0

เวอร์ชัน 1.1.0

29 มิถุนายน 2022

ปล่อย androidx.camera:camera-*:1.1.0 แล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้

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

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

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

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

เวอร์ชัน 1.1.0-rc02

1 มิถุนายน 2022

ปล่อย androidx.camera:camera-*:1.1.0-rc02 แล้ว เวอร์ชัน 1.1.0-rc02 มีคอมมิตเหล่านี้

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

  • แก้ไขแล้ว NullPointerException ใน ImageCapture.takePicture() (I92366, b/230454568, b/229766155)
  • แก้ไขข้อบกพร่องที่ไม่มีการจัดการ AssertionError เมื่อได้รับลักษณะเฉพาะ CONTROL_ZOOM_RATIO_RANGE (Ia248a, b/231701345)

เวอร์ชัน 1.1.0-rc01

11 พฤษภาคม 2022

ปล่อย androidx.camera:camera-*:1.1.0-rc01 แล้ว เวอร์ชัน 1.1.0-rc01 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เผยแพร่ RC เวอร์ชันแรกสำหรับกล้องวิดีโอ มุมมองกล้อง และส่วนขยายกล้อง

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

  • แก้ไขปัญหาการไม่ได้เปิดตัวตัวแปลงรหัสวิดีโอเมื่อยกเลิกการเชื่อมโยง VideoCapture<Recorder> แล้ว ซึ่งทำให้การใช้ VideoCapture<Recorder> ในภายหลังล้มเหลวในการบันทึกด้วย MediaCodec.CodecException โดยเฉพาะในอุปกรณ์ API 21-22 (Ie7f68)
  • แก้ไขรูปภาพที่จับภาพ CameraExtensionsActivity ไว้เพื่อไม่ให้ลบใน ImageCaptureTest

เวอร์ชัน 1.1.0-beta03

6 เมษายน 2022

ปล่อย androidx.camera:camera-*:1.1.0-beta03 แล้ว เวอร์ชัน 1.1.0-beta03 มีการคอมมิตเหล่านี้

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

  • จำกัดเครื่องมือสร้าง CaptureRequestOptions แล้ว (I261b6)
  • เพิ่ม API ทดลองสำหรับการใช้ CameraController กับไลบรารีการประมวลผลรูปภาพภายนอก เช่น MLKit (I4ea71)

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

  • แก้ไขปัญหาที่การแสดงตัวอย่างกลายเป็นการเอียงข้างใน PreviewView เมื่อกิจกรรมไม่รีสตาร์ทหลังจากหมุนอุปกรณ์ในหลายหน้าต่าง (I1ea36, b/223488673)
  • แก้ไขปัญหาหลายหน้าต่าง ซึ่งเมื่อโฟกัสเปลี่ยนไปกลับไปที่แอป กล้องนั้นไม่อาจดำเนินการต่อได้เมื่อ (1) แอปที่มีลำดับความสำคัญสูงอื่นเปิดกล้องอื่น (2) อุปกรณ์เป็นอุปกรณ์ Samsung ที่ใช้ Android 12 (I7e9f2)
  • รวมวิธีแก้ปัญหาสำหรับอุปกรณ์ที่ขัดข้องเมื่อตรวจสอบความพร้อมใช้งานของ Flash อุปกรณ์เหล่านี้จะไม่มีไฟฉาย (If26a3, b/216667482)
  • แก้ไขปัญหา AbstractMethodError ที่เกิดขึ้นเมื่อแอปใช้ส่วนขยายและเปิดใช้ Proguard (I7cbaf, b/222726805)
  • บังคับปิดใช้โหมดส่วนขยายโบเก้ในอุปกรณ์ Motorola razr 5G ซึ่งจะทำให้หน้าจอตัวอย่างเป็นสีดำ (I35d49)
  • แก้ไขเสียง/วิดีโอไม่ซิงค์หลังจากหยุดชั่วคราวและกลับมาทํางานอีกครั้งในอุปกรณ์ Samsung บางรุ่นก่อน API 29 (I64622, b/202798609, b/202798572)
  • แก้ไขภาพ/เสียงที่ไม่ซิงค์หลังจากหยุดชั่วคราวและกลับมาเล่นต่อใน Sony G3125 (I2a1a5, b/202799148)
  • แก้ไขข้อขัดข้องเมื่อโปรแกรมอัดเสียงพบ InvalidConfigException อย่างไรก็ตาม การแก้ไขนี้จะป้องกันไม่ให้แอปขัดข้องเท่านั้น แต่ไม่ได้แก้ไขสาเหตุของ InvalidConfigException หากยังคงกำหนดค่า Recorder ไม่ได้ แอปพลิเคชันจะได้รับการติดต่อกลับที่เกิดข้อผิดพลาดเมื่อเริ่มบันทึก (I89c29, b/213617227)

การสนับสนุนภายนอก

  • อัปเดต :compose:ui:ui-test api (updateApi) เนื่องจากการย้ายข้อมูล test-coroutines-lib (I3366d)

เวอร์ชัน 1.1.0-beta02

23 กุมภาพันธ์ 2022

ปล่อย androidx.camera:camera-*:1.1.0-beta02 แล้ว เวอร์ชัน 1.1.0-beta02 มีการคอมมิตเหล่านี้

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

  • เพิ่มความสามารถในการระบุรหัสกล้องจริงโดยใช้ การทำงานร่วมกันระหว่างกล้อง 2 (I5aed8)

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

  • แก้ไขปัญหาการแสดงตัวอย่างแบบขยายใน Oppo Find N (I7d004)
  • แก้ปัญหา Galaxy J7 Prime ที่ทำให้ภาพตัวอย่างบิดเบี้ยว (I4c500)
  • ใช้อัตราบิตที่เข้ากันได้เพื่อค้นหาโปรแกรมเปลี่ยนไฟล์วิดีโอ (d969052)

เวอร์ชัน 1.1.0-beta01

26 มกราคม 2022

ปล่อย androidx.camera:camera-*:1.1.0-beta01 แล้ว เวอร์ชัน 1.1.0-beta01 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • ตั้งแต่เวอร์ชัน 1.1.0-beta01 ไลบรารี CameraX ทั้งหมดจะปรับหมายเลขเวอร์ชันเดียวกัน ซึ่งจะช่วยให้นักพัฒนาแอปติดตามเวอร์ชันได้ง่ายขึ้นมาก และลดความซับซ้อนของเมทริกซ์ความเข้ากันได้ของเวอร์ชันขนาดใหญ่

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

  • เพิ่ม Camera2CameraControl.clearCaptureRequestOptions สำหรับ กำลังล้างตัวเลือกคำขอบันทึกที่มีอยู่ (Ifa07d)

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

  • แก้ไขข้อขัดข้องที่เกิดขึ้นเมื่อบันทึกวิดีโอในอุปกรณ์ก่อน Android O(API 26) บางรุ่น (I88fdf, b/212328261)
  • แก้ไขปัญหาภูมิภาคที่ใช้ AF ไม่ถูกต้องเมื่อใช้ cameraControl#startFocusAndMetering() ในกล้องหน้าเลนส์ Samsung (Ifbf59, b/210548792)
  • ใช้ไฟฉายเป็นแฟลชใน Pixel 3a/Pixel 3a XL เพื่อเพิ่มความเร็วและคุณภาพรูปภาพที่จับภาพในที่มืด (Ib12b6, b/211474332)
  • แอปพลิเคชันที่เปิดใช้เพื่อให้กล้องกลับมาทำงานอีกครั้งเมื่อกล้อง ถูกขัดจังหวะโดยแอปพลิเคชันอื่นๆ ที่มีลำดับความสำคัญสูงกว่า โหมดหลายหน้าต่างและโฟกัสจะเปลี่ยนกลับไปที่แอปพลิเคชัน โปรดทราบว่าอาจจะมีเวลาในการตอบสนองเกิดขึ้นบ้าง(1-10 วินาทีขึ้นไป) ระหว่างการเปลี่ยนโฟกัสและการเปิดกล้องขึ้นมาอีกครั้งเนื่องจากปัญหาบางอย่างเกี่ยวกับเฟรมเวิร์ก (I4d092)

เวอร์ชัน 1.1.0-alpha12

15 ธันวาคม 2021

ปล่อย androidx.camera:camera-*:1.1.0-alpha12 แล้ว เวอร์ชัน 1.1.0-alpha12 มีคอมมิตเหล่านี้

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

  • นำคำอธิบายประกอบ @RequiresApi(21) ที่ไม่จำเป็นออกจากคลาส/อินเทอร์เฟซภายในแล้ว (I8e286, b/204917951)
  • มีการเปลี่ยนแปลงค่าคงที่ด้านคุณภาพและค่าคงที่สำหรับกลยุทธ์ทางเลือกของ QualitySelector ให้แสดงด้วยออบเจ็กต์คลาส ตัวอย่างเช่น QualitySelector.QUALITY_HD ถูกเปลี่ยนเป็น Quality.HD และ QualitySelector.FALLBACK_STRATEGY_LOWER ถูกเปลี่ยนเป็นอินสแตนซ์ที่แสดงผลโดย FallbackStrategy.lowerQualityOrHigherThan(Quality) API ที่ใช้สร้าง QualitySelector ได้เปลี่ยนเป็น API ที่อิงตามรายการ API ใหม่ QualitySelector.fromOrderedList(List<Quality>) จะอ้างอิงลำดับของรายการคุณภาพอินพุต ไม่ใช่ลำดับที่สร้างโดย QualitySelector.Procedure นำชั้นเรียน QualitySelector.Procedure รายการออกแล้ว (I43343)
  • นำ PendingRecording.withEventListener() ออกแล้ว และต้องส่ง Listener เหตุการณ์ไปยัง PendingRecording.start() ข้อกำหนด Listener เหตุการณ์นี้มีไว้เพื่อสนับสนุนการจัดการข้อผิดพลาดที่ไม่พร้อมกันซึ่งรายงานในเหตุการณ์ VideoRecordEvent.Finalize (I1e71d)
  • ActiveRecording ได้เปลี่ยนชื่อเป็น Recording เพื่อลดการพูดรายละเอียด (I77ceb)

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

  • แก้ไขปัญหาที่จับภาพในโหมด FLASH_AUTO สว่างน้อยเกินไปในที่มืดใน Pixel 3a และ Pixel 3a XL (I13f19, b/205373142)
  • ใช้ขนาดการแสดงผลล่าสุดเสมอเพื่อพิจารณาตัวอย่าง Resolution (I4a694)
  • กรองกล้องที่ไม่มี REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE ออก กล้องที่ใช้ REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE มีความสามารถขั้นต่ำที่อุปกรณ์กล้องทุกชนิดรองรับ กล้องที่ไม่มี REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE อาจเป็นกล้องที่รองรับฟังก์ชันการทำงานพิเศษและไม่รองรับเอาต์พุตสีมาตรฐาน CameraX ไม่สามารถรองรับกรณีการใช้งาน Preview, ImageCapture, ImageAnalysis หรือ VideoCapture สำหรับกล้องเหล่านั้น ดังนั้น ควรกรองกล้องเหล่านั้นออกเพื่อป้องกันการใช้งานที่ไม่ถูกต้อง (Ib8cda)
  • CameraSelector#filter ไม่แสดง IllegalArgumentException อีกต่อไปเมื่อชุดผลลัพธ์ว่างเปล่า (I27804)
  • ขณะนี้มีการใช้การเรียนรู้ที่ชาญฉลาดขึ้นเพื่อเลือกการตั้งค่าโปรแกรมเปลี่ยนไฟล์ตามโปรไฟล์ที่ OEM ระบุ (Iaeef0)
  • การแสดงตัวอย่างแบบคงที่จะมีเส้นสีแบบอินเตอร์เลซหลังจากเริ่มบันทึกวิดีโอ UHD บน Pixel1 (I833c6, b/205340278)

เวอร์ชัน 1.1.0-alpha11

17 พฤศจิกายน 2021

ปล่อย androidx.camera:camera-*:1.1.0-alpha11 แล้ว เวอร์ชัน 1.1.0-alpha11 มีคอมมิตเหล่านี้

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

  • เพิ่ม CameraSelector#filter ลงใน API สาธารณะเพื่อกรองรายการ CameraInfos ตาม CameraSelector (I105d0)
  • เพิ่มการกำหนดค่า setOutputImageRotationEnabled API สำหรับ ImageAnalysis ผู้ใช้สามารถเปิดใช้การหมุนสำหรับบัฟเฟอร์รูปภาพ YUV/RGB องศาการหมุนคือการหมุนสัมพัทธ์ที่คำนวณจากการหมุนเซ็นเซอร์และการหมุนเป้าหมายเพื่อให้รูปภาพอยู่ตรงหน้าสุด

  • เพิ่มการกำหนดค่า setOutputImageRotationEnabled API สำหรับ ImageAnalysis ผู้ใช้สามารถเปิดใช้การหมุนสำหรับบัฟเฟอร์รูปภาพ YUV/RGB องศาการหมุนคือการหมุนสัมพัทธ์ที่คำนวณจากการหมุนเซ็นเซอร์และการหมุนเป้าหมายเพื่อให้รูปภาพอยู่ตรงหน้าสุด

    เพิ่ม getSensorToBufferTransformMatrix API ใน ImageInfo เมทริกซ์ที่แสดงผลคือการแมปจากพิกัดเซ็นเซอร์กับพิกัดบัฟเฟอร์ ซึ่งก็คือจากค่า CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE ถึง (0, 0, image.getWidth, image.getHeight) เมทริกซ์สามารถใช้เพื่อจับคู่พิกัดจาก {UseCase} กับอีกเมตริกหนึ่งได้ เช่น พิกัดการแมปของใบหน้าที่ตรวจพบด้วย ImageAnalysis เพื่อดูตัวอย่าง (I9ff1e)

  • เพิ่ม API ImageCapture.Builder#setJpeg Quality ใหม่เพื่ออนุญาตให้เปลี่ยนคุณภาพการบีบอัดรูปภาพ JPEG เอาต์พุตเมื่อถ่ายภาพ (I8dcf4)

  • เปลี่ยนชื่อ MediaStoreOutputOptions.getCollection เป็น MediaStoreOutputOptions.getCollectionUri (I16639)

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

  • แก้ปัญหาที่แฟลชทำงานในระหว่าง แตะเพื่อโฟกัส (startFocusAndMetering) เมื่อโหมดแฟลชทำงานโดยอัตโนมัติ หรือ Always_on ในสภาพแวดล้อมที่มีแสงน้อย (Id4c11)
  • ปิดใช้ HDR+ ใน Pixel 2 XL / Pixel 3 XL นิ้วแล้ว โหมด MINIMIZE_LATENCY เพื่อลดเวลาในการตอบสนอง (Ib6270, b/203505523)

การสนับสนุนภายนอก

เวอร์ชัน 1.1.0-alpha10

13 ตุลาคม 2021

ปล่อย androidx.camera:camera-*:1.1.0-alpha10 แล้ว เวอร์ชัน 1.1.0-alpha10 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เปิดตัว androidx.camera:camera-video:1.1.0-alpha10 เป็นเวอร์ชันอัลฟ่ารุ่นแรกสำหรับวิดีโออย่างเป็นทางการ ทั้งนี้มีปัญหาที่ทราบหลายประการที่ควรแก้ไขในรุ่นต่อๆ ไป

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

  • เพิ่มคำอธิบายประกอบ @RequiresApi(21) ในชั้นเรียน CameraX ทั้งหมดแล้ว และลด minSdkVersion จาก AndroidManifest.xml วิธีนี้จะช่วยให้ แกนหลักสำหรับกล้อง เพื่อผสานรวมกับแอปพลิเคชันที่มี minSdkVersion ต่ำกว่า 21 แต่ต้องการใช้เส้นทางโค้ดอย่างมีเงื่อนไข ที่ใช้ API 21 ขึ้นไป สำหรับแอปพลิเคชันใดๆ ที่มี minSdkVersion 21 หรือสูงกว่า คุณไม่ต้องดำเนินการใดๆ สำหรับการเปลี่ยนแปลงนี้ (Ie7f2e, b/200599470)

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

  • ใส่ InitializationException เพื่อทำให้แอปสามารถจัดการ AssertionError ได้อย่างมีประสิทธิภาพขณะที่สร้าง CameraCharacteristics (Ibec79)

เวอร์ชัน 1.1.0-alpha09

29 กันยายน 2021

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

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

  • เราได้นำคำอธิบายประกอบ ExperimentalUseCaseGroup ออกแล้วเนื่องจาก API ไม่ได้เป็นการทดลองอีกต่อไป (I01ef5)

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

  • แก้ปัญหารูปภาพที่ถ่ายเบลอ ในโหมด MAXIMIZE_QUALITY (I173a9, b/193823892)
  • แก้ไขปัญหา Samsung Galaxy J5 ที่กล้องค้างหลังจากถ่ายภาพโดยใช้แฟลช/อัตโนมัติในสภาพแวดล้อมที่มืด (I3aab9)
  • เมื่อต้องครอบตัดสำหรับ ImageCapture ให้บีบอัดภาพที่ครอบตัดตามเอาต์พุตด้วยระดับคุณภาพ JPEG ที่ระบุตามโหมดจับภาพที่ตั้งไว้ หากโหมดจับภาพคือ CAPTURE_MODE_MINIMIZE_LATENCY คุณภาพการบีบอัด JPEG จะเป็น 95 หากโหมดจับภาพคือ CAPTURE_MODE_MAXIMIZE_QUALITY คุณภาพการบีบอัด JPEG จะเป็น 100 (Ieb37c, b/142856426)

เวอร์ชัน 1.1.0-alpha08

18 สิงหาคม 2021

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

ฟีเจอร์ใหม่

  • เพิ่ม 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, ขนาด MAXIMUM และรายละเอียดเพิ่มเติม โปรดดู https://developer.android.com/reference/android/hardware/camera2/cameraDevice#regular-capture ขนาด RECORD อ้างอิงถึงความละเอียดสูงสุดในการบันทึกของอุปกรณ์กล้องตามที่กำหนดโดย CamcorderProfile ขนาดสูงสุด หมายถึงความละเอียดเอาต์พุตสูงสุดของอุปกรณ์กล้องสำหรับรูปแบบหรือเป้าหมายนั้นจาก StreamConfigurationMap.getOutputSizes(int) (I1ee97, b/192911449)
  • เพิ่มข้อมูล Exif ในรูปภาพที่จับภาพไว้ (I01ff0, b/193342619)
  • ใน ImageCapture ให้แสดงผล URI ของรูปที่บันทึกหากตำแหน่งที่บันทึกคือ File (Ib5b49, b/149241379)
  • แก้ไขปัญหาที่จับภาพด้วยแฟลชมืดในอุปกรณ์หลายเครื่อง (I4e510)

เวอร์ชัน 1.1.0-alpha07

21 กรกฎาคม 2021

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

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

  • แก้ไขปัญหาเกี่ยวกับ Samsung Galaxy Note 5 ที่กล้องได้รับ ค้างหลังจากถ่ายภาพโดยใช้แฟลช/อัตโนมัติในที่มืด สภาพแวดล้อม (If6871)
  • แก้ไขปัญหา YuvToJpegProcessor EOFException เมื่อเปิดใช้โหมดส่วนขยายและตั้งค่าโหมด ImageCapture#CAPTURE_MODE_MAX_QUALITY (I538bd, b/192017012)

เวอร์ชัน 1.1.0-alpha06

30 มิถุนายน 2021

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

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

  • โปรโมต API ชดเชยการรับแสงรุ่นทดลองสำหรับ แกนกล้อง (I08ee8)
  • เพิ่ม API isFocusMeteringSupported ใน CameraInfo ซึ่ง อนุญาตให้แอปพลิเคชันตรวจสอบว่า FocusMeteringAction ที่ระบุ ใช้ได้กับกล้องตัวปัจจุบันหรือไม่รองรับ (Ib45ae, b/188606490)
  • เปิดเผย getResolutionInfo API เพื่อให้ข้อมูลความละเอียดสำหรับการแสดงตัวอย่าง การจับภาพ และการวิเคราะห์รูปภาพ (I2b613, b/188600718)
  • โปรโมต API ทดลองต่อไปนี้ให้กับ API อย่างเป็นทางการ CameraXConfig.Builder#setavailablecamerasLimiter(), CameraXConfig.Builder#setminimumLakingLevel() CameraXconfig.Builder#setSchedulerHandler() CameraXConfig#getavailablecamerasLimiter(), CameraXConfig#getminimumLakingLevel() CameraXConfig#getcameraExecutor() CameraXConfig#getSchedulerHandler() (I2ade2)
  • เปิดเผยอินเทอร์เฟซ CameraProvider สำหรับการเข้าถึงชุดกล้อง (I1a7b1)
  • โปรโมต UseCaseGroup API แบบทดลองสําหรับฟีเจอร์กล้องถ่ายรูป วงจรการใช้งานกล้อง และวิดีโอจากกล้อง เพิ่ม ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection และ ViewPort.Builder#setScaleType สำหรับปรับแต่งวิวพอร์ต (I7cee8)

เวอร์ชัน 1.1.0-alpha05

2 มิถุนายน 2021

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

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

  • นำชั้นเรียน Camera2CameraFilter รายการออกแล้ว แนะนำให้เลือกกล้องตาม CameraFilter และดึง CameraCharacteristics หรือ Camera2 อื่นๆ ที่เกี่ยวข้อง ผ่านทาง Camera2cameraInfo ได้หากจำเป็น (Ib887C)
  • ตอนนี้ API ExperimentalCameraFilter รายการไม่ได้อยู่ในการทดลองแล้ว และกลายเป็น API อย่างเป็นทางการ และสามารถใช้ได้โดยไม่ต้องมีคำอธิบายประกอบการเลือกใช้ (I4bc94)
  • เพิ่ม API สถานะกล้องที่แสดงผ่าน CameraInfo#getCameraState() (Ia86b4)
  • เพิ่ม API ทดลอง CameraInfo#getCameraSelector() ซึ่งแสดงผล CameraSelector เฉพาะกับกล้อง (I77f9f)

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

  • แก้ไขปัญหาที่ ListenableFuture แสดงผล setZoomRatio และ setLinearZoom ดำเนินการใน Android บางรายการไม่ได้ อุปกรณ์ 11 เครื่อง (I716d7)
  • เร่งการเปลี่ยนกล้องและลดอัตราการเกิดข้อผิดพลาดของอุปกรณ์กล้อง (I34c99)
  • แทนที่ ExperimentalUseCaseGroupLifecycle ด้วยแล้ว ExperimentalUseCaseGroup (I3b2ef, b/159033688)

เวอร์ชัน 1.1.0-alpha04

21 เมษายน 2021

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

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

  • แก้ไขการรั่วไหลของหน่วยความจำที่เกิดจากเทรดหลายรายการในการเข้าถึงคอลเล็กชันเดียวกันพร้อมกัน การรั่วไหลของหน่วยความจำอาจทำให้กิจกรรมหรือ Fragment ถูกเก็บไว้โดยอินสแตนซ์ตัวอย่าง (I7b4b8)
  • แทนที่คำอธิบายประกอบ @Experimental ด้วย @RequiresOptIn ใน API ทดลองแล้ว สำหรับการเรียก API ทดลอง ให้ใช้ androidx.annotation.OptIn แทน androidx.annotation.experimental.UseExperimental ที่เลิกใช้งานแล้ว (Iff226)
  • การจับภาพคงที่โดยใช้แฟลช "เปิด/อัตโนมัติ" จะถ่ายภาพสีจางบน Samsung Galaxy S7 (I30001)
  • เพิ่ม CameraState API ที่จะแสดงผ่าน CameraInfo (I75392)

เวอร์ชัน 1.1.0-alpha03

24 มีนาคม 2021

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

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

  • รูปแบบ JPEG เอาต์พุตสำหรับ ImageCapture#OnImageCapturedCallback เมื่อเปิดใช้โหมดส่วนขยาย (I0d7b1)
  • แก้ไขความล้มเหลวในการเริ่มต้นในอุปกรณ์ UMIDIGI BISON (I57d9e, b/180818665)
  • แก้ไขการแสดงตัวอย่าง Samsung A3 แบบยืดใน PreviewView (Iacb30, b/180121821)

เวอร์ชัน 1.1.0-alpha02

24 กุมภาพันธ์ 2021

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

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

  • เพิ่ม API ProcessCameraProvider.getAvailableCameraInfos() เพื่อดึงข้อมูลเกี่ยวกับกล้องที่ใช้ได้โดยตรง ซึ่งเป็นกล้องทั้งหมดของอุปกรณ์ หรือกล้องที่เลือกไว้โดย CameraSelector ที่ให้ไว้ใน CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector) (Ieac08)

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

  • ตอนนี้ CameraX พยายามบังคับให้เปิดกล้องในครั้งแรก ซึ่งอาจส่งผลให้ CameraX ขโมยกล้องออกจากไคลเอ็นต์กล้องอื่นๆ เมื่อแอปมีลำดับความสำคัญสูงกว่า (Iab069, b/175820568)
  • แก้ไขความล้มเหลวในการทดสอบ Robolectric เมื่อ มีการใช้ setavailablecamerasLimiter ใน CameraXConfig (Ice307)
  • การเปลี่ยนแปลงนี้จะตรวจจับข้อยกเว้นเมื่อคิวรูปภาพใน ImageAnalysis ถึงจำนวนสูงสุดแล้ว คุณจึงอาจเห็นว่า Use Case อื่นๆ ค้างหรือทำงานช้าแทนที่จะขัดข้อง เช่น ภาพตัวอย่างค้าง/ช้า (Ic12da, b/175851631)
  • แก้ไข ExtensionsErrorListener เพื่อรายงานข้อผิดพลาดเมื่อมีการเชื่อมโยงเฉพาะ Preview หรือ ImageCapture เท่านั้น (I5ae39)
  • แก้ไขการถดถอยของประสิทธิภาพ ImageCapture โดยนำการตรวจสอบตำแหน่งที่บันทึกไว้ออกก่อนถ่ายภาพ หลังจากทำการเปลี่ยนแปลงนี้แล้ว หากปลายทางการบันทึกไม่ถูกต้อง ระบบจะใช้เวลานานกว่าจะได้รับการตอบกลับว่าไม่สำเร็จเนื่องจากจะพยายามบันทึกรูปภาพหลังจากถ่ายภาพแล้ว (I1fd4e, b/177061560)
  • แก้ไขการถดถอยของประสิทธิภาพ ImageCapture ด้วย "File" พิมพ์ OutputFileOptions (I5164a, b/177061560)
  • อัปเดตเอกสารแล้วเพื่อไม่แนะนำให้ใช้ ProcessCameraProvider.configureInstance(...)จาก รหัสห้องสมุด (Ib8a9f)

เวอร์ชัน 1.1.0-alpha01

27 มกราคม 2021

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

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

  • วิธีแก้ปัญหาที่มีไว้สำหรับข้อมูลรูปภาพที่เสียหายเป็นระยะๆ ในรูปแบบ JPEG ในกล้องหลัง SM-G930T (I52001, b/159831206)
  • แก้ไขปัญหา IllegalArgumentException ที่เกิดขึ้นเมื่อขนาดที่รองรับการแสดงตัวอย่างทั้งหมดมีขนาดเล็กกว่า 640x480 และขนาดการแสดงผลใหญ่กว่า 640x480 (I2a63c, b/150506192)
  • ทรัพยากรในไลบรารีที่ไม่มีทรัพยากรสาธารณะที่ประกาศอย่างชัดเจน (เช่น ผ่าน public.xml) จะเป็นแบบส่วนตัวโดยค่าเริ่มต้น (Ia1dcc, b/170882230)

Camera-กล้องถ่ายรูป2, Camera-Core และ Camera-Lifecycle เวอร์ชัน 1.0.2

เวอร์ชัน 1.0.2

29 กันยายน 2021

ปล่อย androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2 และ androidx.camera:camera-lifecycle:1.0.2 แล้ว เวอร์ชัน 1.0.2 มีคอมมิตเหล่านี้

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

  • แก้ปัญหารูปภาพที่ถ่ายเบลอ ในโหมด MAXIMIZE_QUALITY (I173a9, b/193823892)
  • แก้ไขปัญหาที่จับภาพด้วยแฟลชแล้วมืด อุปกรณ์ที่หลากหลาย (I4e510)

Camera-กล้องถ่ายรูป2, Camera-Core และ Camera-Lifecycle เวอร์ชัน 1.0.1

เวอร์ชัน 1.0.1

21 กรกฎาคม 2021

ปล่อย androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1 และ androidx.camera:camera-lifecycle:1.0.1 แล้ว เวอร์ชัน 1.0.1 มีคอมมิตเหล่านี้

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

  • แก้ไขปัญหาที่ ListenableFuture แสดงผล setZoomRatio และ setLinearZoom ดำเนินการให้เสร็จสิ้นไม่ได้ใน Android บางรุ่น อุปกรณ์ 11 เครื่อง (I716d7)

  • แก้ไขปัญหากล้องค้างที่สถานะปิดของกล้องในอุปกรณ์บางเครื่องและทำให้การแสดงตัวอย่างเป็นสีดำ (I34c99)

Camera-กล้องถ่ายรูป2, Camera-Core และ Camera-Lifecycle เวอร์ชัน 1.0.0

เวอร์ชัน 1.0.0

5 พฤษภาคม 2021

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

ฟีเจอร์หลักของ 1.0.0

  • CameraX รองรับ Preview, ImageCapture และ Analysis
  • CameraX จะจัดการวงจรของกล้องภายใน API ที่ใช้งานง่าย
  • CameraX มีเป้าหมายที่จะสร้างเลเยอร์ความเข้ากันได้ซึ่งช่วยแก้ปัญหาหลายอย่างในระบบนิเวศของกล้อง Android

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

เวอร์ชัน 1.0.0-rc05

21 เมษายน 2021

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

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

  • การจับภาพคงที่โดยใช้แฟลช "เปิด/อัตโนมัติ" จะถ่ายภาพสีจางบน Samsung Galaxy S7 (I30001)

เวอร์ชัน 1.0.0-rc04

24 มีนาคม 2021

ปล่อย androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04 และ androidx.camera:camera-lifecycle:1.0.0-rc04 แล้ว เวอร์ชัน 1.0.0-rc04 มีคอมมิตเหล่านี้

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

  • แก้ไขความล้มเหลวในการเริ่มต้นในอุปกรณ์ UMIDIGI BISON (I57d9e, b/180818665)

เวอร์ชัน 1.0.0-rc03

24 กุมภาพันธ์ 2021

ปล่อย androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03 และ androidx.camera:camera-lifecycle:1.0.0-rc03 แล้ว เวอร์ชัน 1.0.0-rc03 มีคอมมิตเหล่านี้

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

  • แก้ไขข้อผิดพลาดของรูปแบบในเอกสารของ ProcessCameraProvider#getInstance
  • แก้ไขความล้มเหลวในการทดสอบ Robolectric เมื่อมีการใช้ setavailablecamerasLimiter ใน CameraXConfig
  • แก้ไขการถดถอยของประสิทธิภาพ ImageCapture โดยนำการตรวจสอบตำแหน่งที่บันทึกไว้ออกก่อนถ่ายภาพ หลังจากทำการเปลี่ยนแปลงนี้แล้ว หากปลายทางการบันทึกไม่ถูกต้อง ระบบจะใช้เวลานานกว่าจะได้รับการตอบกลับว่าไม่สำเร็จเนื่องจากจะพยายามบันทึกรูปภาพหลังจากถ่ายภาพแล้ว
  • การเปลี่ยนแปลงนี้จะตรวจจับข้อยกเว้นเมื่อคิวรูปภาพใน ImageAnalysis ถึงจำนวนสูงสุดแล้ว คุณจึงอาจเห็นว่า Use Case อื่นๆ ค้างหรือทำงานช้าแทนที่จะเกิดข้อขัดข้อง เช่น ภาพตัวอย่างค้าง/ช้า
  • วิธีแก้ปัญหาที่มีไว้สำหรับข้อมูลรูปภาพที่เสียหายเป็นระยะๆ ในรูปแบบ JPEG ในกล้องหลัง SM-G930T (I52001, b/159831206)
  • การเปลี่ยนแปลงนี้จะตรวจจับข้อยกเว้นเมื่อคิวรูปภาพใน ImageAnalysis ถึงจำนวนสูงสุดแล้ว คุณจึงอาจเห็นว่า Use Case อื่นๆ ค้างหรือทำงานช้าแทนที่จะขัดข้อง เช่น ภาพตัวอย่างค้าง/ช้า (Ic12da, b/175851631)
  • แก้ไขความล้มเหลวในการทดสอบ Robolectric เมื่อ มีการใช้ setavailablecamerasLimiter ใน CameraXConfig (Ice307)
  • แก้ไขการถดถอยของประสิทธิภาพ ImageCapture โดยนำการตรวจสอบตำแหน่งที่บันทึกไว้ออกก่อนถ่ายภาพ หลังจากทำการเปลี่ยนแปลงนี้แล้ว หากปลายทางการบันทึกไม่ถูกต้อง ระบบจะใช้เวลานานกว่าจะได้รับการตอบกลับว่าไม่สำเร็จเนื่องจากจะพยายามบันทึกรูปภาพหลังจากถ่ายภาพแล้ว (I1fd4e, b/177061560)
  • แก้ไขการถดถอยของประสิทธิภาพ ImageCapture ด้วย "File" พิมพ์ OutputFileOptions (I5164a, b/177061560)

เวอร์ชัน 1.0.0-rc02

27 มกราคม 2021

ปล่อย androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02 และ androidx.camera:camera-lifecycle:1.0.0-rc02 แล้ว เวอร์ชัน 1.0.0-rc02 มีคอมมิตเหล่านี้

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

  • แก้ปัญหา IllegalArgumentException เกิดขึ้นเมื่อขนาดที่รองรับการแสดงตัวอย่างทั้งหมดมีขนาดเล็กกว่า 640x480 และขนาดการแสดงผลใหญ่กว่า 640x480 (b/150506192)
  • จำกัดจำนวนครั้งในการทำกล้องอีกครั้ง ขณะพยายามกู้คืนจากปัญหาบางอย่างเมื่อเปิดกล้อง CameraX จะไม่พยายามเปิดกล้องใหม่อย่างไม่มีกำหนดอีกต่อไป แต่จะหยุดลงหลังจากที่ลองอีกครั้งเป็นเวลา 10 วินาทีI435d2

  • แก้ไขปัญหา IllegalArgumentException ที่เกิดขึ้นเมื่อขนาดที่รองรับการแสดงตัวอย่างทั้งหมดมีขนาดเล็กกว่า 640x480 และขนาดการแสดงผลใหญ่กว่า 640x480 (I2a63c, b/150506192)

เวอร์ชัน 1.0.0-rc01

16 ธันวาคม 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01 และ androidx.camera:camera-lifecycle:1.0.0-rc01 แล้ว เวอร์ชัน 1.0.0-rc01 มีคอมมิตเหล่านี้

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

  • เปลี่ยน CameraFilter และ Camera2Filter ถ่ายภาพใน CameraInfo (I6883D)
  • เพิ่มคลาส Camera2cameraControl เวอร์ชันทดลองเพื่ออนุญาตให้ทำงานร่วมกับ Camera2 API ได้ แบบไดนามิก (I45cf3)
  • เปลี่ยนชื่อ Camera2cameraInfo#fromcameraInfo เป็น #from แล้ว (Ia2bd6)
  • เพิ่ม setavailablecamerasLimiter API แบบทดลองไปยัง CameraXConfig เพื่ออนุญาตให้แอปเพิ่มประสิทธิภาพเวลาในการตอบสนองของการเริ่มต้น ด้วยการหลีกเลี่ยงการเริ่มต้นกล้องที่ไม่ได้ใช้ (I6cf88)
  • เพิ่มเมธอดทดลอง CameraXConfig.Builder#setMinimumLoggingLevel() เพื่ออนุญาตให้ตั้งค่าระดับการบันทึกขั้นต่ำสำหรับบันทึก CameraX หากไม่ได้ตั้งค่า ระบบจะใช้ค่าเริ่มต้นเป็น Log#DEBUG (Ic3245)

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

  • วิธีแก้ปัญหาที่รวมอยู่สำหรับข้อมูลรูปภาพที่เสียหายเป็นพักๆ ใน JPEG ในกล้องหลัง SM-G930V (I5aca5, b/159831206)
  • แก้ปัญหาที่การถ่ายภาพไม่ได้รับผลลัพธ์เมื่อเปิด/เปิดแฟลชตลอดเวลา และสภาพแวดล้อมก็จะมืดลงในอุปกรณ์ Samsung SM-A716 (If98b2, b/172036589)
  • แก้ไขปัญหาที่หยุดการแสดงตัวอย่างด้วยการเรียก Preview.setSurfaceProvider(null) ไม่ได้ (I3ac18)
  • แก้ปัญหาการวางแนวเมื่อจับภาพ 4:3 ในอุปกรณ์บางประเภท (I0e3fb, b/171492111)

Camera2, Core และ วงจรเวอร์ชัน 1.0.0-เบต้า12

11 พฤศจิกายน 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12 และ androidx.camera:camera-lifecycle:1.0.0-beta12 แล้ว เวอร์ชัน 1.0.0-beta12 มีคอมมิตเหล่านี้

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

  • ปิดใช้แฟลชอัตโนมัติในอุปกรณ์ Samsung A3 เพื่อแก้ไขข้อขัดข้องแล้ว เมื่อถ่ายรูปด้วยแฟลชอัตโนมัติโหมด AE ในอุปกรณ์ Samsung A3 (Ia5fe3, b/157535165)
  • แก้ไขปัญหาการขยายการแสดงตัวอย่างในอุปกรณ์ Nexus 4 ที่ใช้ Android L (API ระดับ 21 และ 22) (I4d407, b/158749159)
  • คลาสฐาน OnImageCapturedCallback#onCaptureSuccess ไม่ปิดรูปภาพอีกต่อไป เพื่อป้องกัน ที่คาดไม่ถึงกับนักพัฒนาซอฟต์แวร์ นักพัฒนาแอปไม่ควรพึ่งพา Super.onCaptureSuccess เพื่อปิดรูปภาพ (Ifbf9c)
  • เวอร์ชัน Androidx ของคำอธิบายประกอบทดลองเป็น เลิกใช้งานแล้วเพื่อให้ ความเท่าเทียมกับ Kotlin ซึ่งมีการแทนที่ด้วย ต้องใช้คำอธิบายประกอบ sOptIn และฟีเจอร์วิเคราะห์โค้ดที่ใช้ Java ได้รับการอัปเดตเป็น รองรับทั้งคำอธิบายประกอบ Kotlin ใหม่และตัวแปร androidx ใหม่ (I52495, b/151331381)

Camera-camera2 เวอร์ชัน 1.0.0-beta11

14 ตุลาคม 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta11 แล้ว เวอร์ชัน 1.0.0-beta11 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • รองรับ API ของ Android 11 CONTROL_ZOOM_RATIO สำหรับการซูม อุปกรณ์ Android 11 ขึ้นไปซึ่งมี CONTROL_ZOOM_RATIO_RANGE (I62cc6)

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

  • แก้ไขปัญหา NumberFormatException เกิดขึ้นเมื่อรหัสกล้องเป็นรหัสกล้องที่ไม่ใช่จำนวนเต็ม (Ib2228)
  • ปรับปรุงเวลาในการตอบสนองของการเริ่มต้น CameraX และ bindToLifecycle (I61dc5)
  • การสร้าง UseCases ไม่จำเป็นต้องมีการเริ่มต้น CameraX ที่ต้องทำให้เสร็จ กำหนดค่าเฉพาะการใช้งานทั้งหมดเปิดอยู่ Use Case เมื่อแนบกับอินสแตนซ์กล้องถ่ายรูปซึ่งมีไว้สำหรับสาธารณะ API คือ ProcessCameraProvider.bindToLifecycle() (Ia5411)
  • <UseCase>.getTargetRotation() จะส่งคืน Surface.ROTATION_0 หากเรียกใช้ก่อนแนบกับอินสแตนซ์กล้องถ่ายรูป เว้นแต่ว่า มีการตั้งค่า targetRotation ใน Builder หรือ UseCase (I80fcd)

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

14 ตุลาคม 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta11 แล้ว เวอร์ชัน 1.0.0-beta11 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่ - รองรับ Android 11 CONTROL_ZOOM_RATIO API สำหรับการซูมเข้า อุปกรณ์ Android 11 ขึ้นไปซึ่งมี CONTROL_ZOOM_RATIO_RANGE (I62cc6)

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

  • แก้ไขปัญหา NumberFormatException เกิดขึ้นเมื่อรหัสกล้องเป็นรหัสกล้องที่ไม่ใช่จำนวนเต็ม (Ib2228)
  • การสร้าง UseCases ไม่จำเป็นต้องมีการเริ่มต้น CameraX ที่ต้องทำให้เสร็จ กำหนดค่าเฉพาะการใช้งานทั้งหมดเปิดอยู่ Use Case เมื่อแนบกับอินสแตนซ์กล้องถ่ายรูปซึ่งมีไว้สำหรับสาธารณะ API คือ ProcessCameraProvider.bindToLifecycle() (Ia5411)
  • <UseCase>.getTargetRotation() จะส่งคืน Surface.ROTATION_0 หากเรียกใช้ก่อนแนบกับอินสแตนซ์กล้องถ่ายรูป เว้นแต่ว่า มีการตั้งค่า targetRotation ใน Builder หรือ UseCase (I80fcd)

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

23 กันยายน 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta10 แล้ว เวอร์ชัน 1.0.0-beta10 มีการคอมมิตเหล่านี้

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

  • แก้ไขข้อบกพร่องในการตรวจสอบปลายทางการบันทึกไฟล์สําหรับการจับภาพ (I8c565, b/167697553)

Camera-camera2 เวอร์ชัน 1.0.0-beta10

23 กันยายน 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta10 แล้ว เวอร์ชัน 1.0.0-beta10 มีการคอมมิตเหล่านี้

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

Camera-camera2 เวอร์ชัน 1.0.0-beta09

16 กันยายน 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta09 แล้ว เวอร์ชัน 1.0.0-beta09 มีการคอมมิตเหล่านี้

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

  • แทนที่จะให้วิธีการแบบคงที่ Camera2cameraInfo จะ ในอินสแตนซ์ CameraInfo เมื่อสร้างเพื่อเรียกข้อมูลที่เกี่ยวข้องกับ Camera2 ข้อมูลจาก (I5B844)

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

  • แก้ไขปัญหาสัดส่วนภาพเป้าหมายในอุปกรณ์แท็บเล็ต ควรเลือกขนาด 16:9 เมื่อกำหนดสัดส่วนภาพเป้าหมายเป็น AspectRatio.RATIO_16_9 (Ib7fcf, b/151969438)
  • โยน InitializationException เพื่อให้แอปสามารถจัดการ AssertionError ได้อย่างสวยงามเมื่อสร้าง CameraCharacteristics (I89c8c, b/160524721)
  • เพิ่มอินเทอร์เฟซทดลองสำหรับ ExposureCompensation (If96c7)

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

16 กันยายน 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta09 แล้ว เวอร์ชัน 1.0.0-beta09 มีการคอมมิตเหล่านี้

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

  • แก้ไขข้อบกพร่องที่มีการทำเครื่องหมายวิวพอร์ตว่าไม่ใช่ค่าว่างใน UseCaseGroup นักพัฒนาซอฟต์แวร์ควรจะสามารถสร้างวิวพอร์ตได้โดยไม่ต้องตั้งค่าวิวพอร์ต (Ie3d2e)
  • เพิ่มอินเทอร์เฟซทดลองสำหรับ ExposureCompensation (If96c7)
  • อนุญาตการหมุนเวียนเป้าหมายที่กำหนดเองสำหรับการแสดงตัวอย่าง ระบบจะคํานวณข้อมูลการเปลี่ยนรูปแบบและส่งคืนให้กับผู้ใช้ในทันทีผ่าน Callback TranformationInfoListener ใหม่ (I21470)

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

  • แก้ปัญหาที่แฟลชในอุปกรณ์บางเครื่องไม่ปิด โดยจะเกิดขึ้นเมื่อตั้งค่าโหมดแฟลชเป็น FLASH_MODE_ON เพื่อถ่ายรูป และจะเปลี่ยนเป็น FLASH_MODE_OFF เมื่อแฟลชเริ่มทำงาน มีอาการเหมือนเปิดใช้โหมดไฟฉาย (Ib4451, b/162568128)
  • บังคับให้ PreviewView ใช้ TextureView หากเปิดใช้เอฟเฟกต์ส่วนขยาย และการใช้งานไลบรารีของผู้ให้บริการต้องทำกระบวนการพิเศษบนพื้นผิวเอาต์พุต (I0c3cc)
  • แก้ไขการรั่วไหลของกิจกรรม/ส่วนย่อยเมื่อส่งบริบทกิจกรรม/ส่วนย่อยไปยัง ProcessCameraProvider.getInstance(Context)

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

  • เมื่อตั้งค่า ViewPort แล้ว การตัดภาพซ้ำของ ImageCapture อาจไม่ถูกต้องในอุปกรณ์ที่หมุนบัฟเฟอร์ภาพใน HAL เราจะแก้ไขปัญหานี้ในรุ่นถัดไป

Camera-camera2 เวอร์ชัน 1.0.0-beta08

19 สิงหาคม 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta08 แล้ว เวอร์ชัน 1.0.0-beta08 มีการคอมมิตเหล่านี้

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

  • เพิ่มประสิทธิภาพ bindToLifecycle ให้ทำงานได้อย่างรวดเร็วบนเทรดหลัก (I1d57e)
  • DisplayOrientedMeteringPointโรงงาน จะใช้ฟีเจอร์ CameraInfo แทน CameraSelector เพื่อให้มีการแมปโดยตรงกับ กล้องที่โรงงานจะสร้างคะแนนให้ ชั้นเรียนทั้งหมด ที่ใช้ DisplayOrientedMeteringPointสด จะบันทึกภาพด้วย CameraInfo เช่นกัน แทน CameraSelector (I400c1)
  • แก้ไขปัญหาการจัดกลุ่มขนาดอัตราส่วนความละเอียดอัตโนมัติที่เลือกขนาด 16:9 (864x480) เมื่อการตั้งค่าความละเอียดเป้าหมายเป็น 2016x1080 และยังมีการรองรับขนาด 1920x1080 ขนาด 16:9 อีกแบบหนึ่ง (I53167, b/159363774)
  • แก้ไขปัญหา CameraControl ที่กล้องไม่สามารถทำงานได้จากสภาวะการแข่งขัน (I2279f, b/152333890, b/160714166)

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

19 สิงหาคม 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta08 แล้ว เวอร์ชัน 1.0.0-beta08 มีการคอมมิตเหล่านี้

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

  • DisplayOrientedMeteringPointFactory ทำประตูได้ใน CameraInfo แทน CameraSelector เพื่อให้มีการแมปโดยตรงกับ กล้องที่โรงงานจะสร้างคะแนนให้ ชั้นเรียนทั้งหมด ที่ใช้ DisplayOrientedMeteringPointFactory ยังจะประมวลผล CameraInfo ด้วย แทน CameraSelector (I400c1)

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

  • สำหรับการจับภาพ ให้เขียนทับธงแนวนอนที่พลิกกลับในข้อมูลเมตาโดยอิงตามทิศทางของกล้อง (I28499)
  • การเริ่มต้นไม่ควรมีข้อขัดข้องอีกต่อไปเมื่อใช้บริบท ที่ไม่ส่งคืนออบเจ็กต์ Application จาก Context.getApplicationContext() (I3d3c9, b/160817073)

Camera-camera2 เวอร์ชัน 1.0.0-beta07

22 กรกฎาคม 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta07 แล้ว เวอร์ชัน 1.0.0-beta07 มีการคอมมิตเหล่านี้

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

  • แก้ไขปัญหาการขยายการแสดงตัวอย่างในอุปกรณ์ Android 5.0 เวอร์ชันเดิม (I0c03a)
  • ยกเว้นขนาดที่รองรับ JPEG บางขนาดที่จะทำให้เกิดปัญหา WYSIWYG ในอุปกรณ์บางเครื่อง (Ib5128)

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

22 กรกฎาคม 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta07 แล้ว เวอร์ชัน 1.0.0-beta07 มีการคอมมิตเหล่านี้

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

  • ผสานสไตล์ที่พอดี FIT_CENTER, FIT_START และ FIT_END เข้ากับ FIT FITหมายความว่ารูปสี่เหลี่ยมครอบตัดที่แสดงจะเป็นมุมของเซ็นเซอร์สูงสุดที่เป็นไปได้ (Ia73c3)
  • ทรวงอกการครอบตัดของตัวอย่างกำหนดค่าโดยวิวพอร์ต ควรให้ผู้ใช้ปลายทางเห็นเฉพาะพื้นที่ที่ครอบคลุมโดยสี่เหลี่ยมครอบตัด (I142a4)

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

  • แก้ไขปัญหาการขยายการแสดงตัวอย่างในอุปกรณ์ Android 5.0 เวอร์ชันเดิม (I0c03a)
  • แก้ไขข้อยกเว้น ConcurrentModificationException แล้ว เมื่อยกเลิกการเชื่อมโยง Use Case (I371c0)

Camera-camera2 เวอร์ชัน 1.0.0-beta06

24 มิถุนายน 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta06 แล้ว เวอร์ชัน 1.0.0-beta06 มีการคอมมิตเหล่านี้

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

  • เพิ่มอินเทอร์เฟซทดลองสำหรับการกรองกล้องตามกล้อง ID และลักษณะกล้อง (I28f61)

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

  • แก้ไขปัญหาที่ startFocusAndMetering ไม่ทำงาน โฟกัสไปที่ Samsung Galaxy S7 ได้ (If3be7, b/159039233)
  • แก้ปัญหากล้องปิดไม่ได้หลังจากออกจากแอป (I7a7b3)
  • แก้ไขการแสดงตัวอย่างช่วงพักการเปลี่ยนกล้องซ้ำๆ เมื่อใช้ SurfaceView ที่ใช้งาน PreviewView (I920ce)
  • CameraControl#startFocusAndMetering จะล้มเหลวหากไม่มีเงื่อนไข MeteringPoint ที่ระบุสามารถสร้างรูปสี่เหลี่ยมการวัดที่ถูกต้องได้ (Id53ce)

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

24 มิถุนายน 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta06 แล้ว เวอร์ชัน 1.0.0-beta06 มีการคอมมิตเหล่านี้

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

  • เพิ่มอินเทอร์เฟซทดลองสำหรับการกรองกล้องตามกล้อง ID และลักษณะกล้อง (I28f61)

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

  • กำหนดค่า CameraX ได้แล้วด้วย ProcessCameraProvider#configureInstance()ก่อนโทร ProcessCameraProvider#getInstance() วิธีนี้ทำให้สามารถปรับแต่ง CameraXConfig โดยไม่ต้องติดตั้งใช้งาน CameraXConfig.Provider ในคลาสแอปพลิเคชันของแอป (Ia1a8d)
  • CameraControl#startFocusAndMetering จะล้มเหลวหากไม่มีเงื่อนไข MeteringPoint ที่ระบุสามารถสร้างรูปสี่เหลี่ยมการวัดที่ถูกต้องได้ (Id53ce)

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

10 มิถุนายน 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta05 แล้ว เวอร์ชัน 1.0.0-beta05 มีการคอมมิตเหล่านี้

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

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

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

10 มิถุนายน 2020

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

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

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

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

  • อัปเดต Javadocs ของ setTargetResolution และ setTargetRotation (Iae16f)

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

27 พฤษภาคม 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta04 แล้ว เวอร์ชัน 1.0.0-beta04 มีการคอมมิตเหล่านี้

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

  • อนุญาตให้แอปพลิเคชันตั้งค่าพารามิเตอร์คำขอจับภาพ Camera2 ผ่าน Camera2Interop โดยไม่ทําให้เกิดข้อขัดข้อง โปรดทราบว่าหากมีปัญหาเกิดขึ้นเนื่องจากการลบล้างพารามิเตอร์ เราไม่รับประกันความเสถียรและลักษณะการทำงานเมื่อลบล้างพารามิเตอร์โดยใช้ Camera2Interop (Ibe5a1, b/149103700)
  • การกำหนดค่าเริ่มต้นอัตโนมัติจะคงที่เมื่อใช้แอปในอุปกรณ์ที่ใช้ภาษาเทียม (I3bef3, b/154767663)
  • บันทึกข้อผิดพลาดในการแปลงที่เกี่ยวข้องกับ Use Case ที่แยกต่างหากไปยังบันทึกการแก้ไขข้อบกพร่องใน Camera2cameraImpl (I1a565, b/154422490)
  • แก้ปัญหาที่รูปภาพที่ถ่ายออกมามืดเกินไปในบางครั้งแม้จะเริ่มใช้แฟลช (I5d9fa, b/149729613)
  • แก้ไขข้อบกพร่องที่บัฟเฟอร์ใน ImageProxy จาก ImageCapture ไม่มีการกรอกลับ (I0c455, b/153249512)
  • แก้ไขปัญหาการเชื่อมโยง ImageCapture เท่านั้น (1) ถ่ายภาพด้วย MAX_QUALITY ไม่สำเร็จ (2) สร้างรูปภาพคุณภาพต่ำเนื่องจากการรับแสงอัตโนมัติไม่ทำงาน (I17782, b/145326998)
  • เพิ่มความน่าเชื่อถือของการเปิดกล้องอีกครั้งเมื่อ CameraX ถูกตัดการเชื่อมต่อโดยกระบวนการอื่นหรือโค้ดพาธที่ขโมยกล้อง (I1fbc3, b/153714651)

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

27 พฤษภาคม 2020

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

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

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

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

  • แก้ไขข้อขัดข้องใน ImageAnalysis ที่มีการเข้าถึง ImageProxy หลังจากปิด ImageReaderProxy นอกจากนี้ยังทําให้ ImageProxy ทั้งหมดที่ Analyzer ได้รับต้องปิดก่อนที่ ImageReaderProxy จะปิด (I4b299, b/145956416, b/154155377, b/156357269)
  • นำพารามิเตอร์ CameraInfo ออกจาก PreviewView#createSurfaceProvider() แล้ว PreviewView จะดึงข้อมูลพารามิเตอร์จาก SurfaceRequest เป็นการภายใน (If18f0, b/154652477)
  • การกำหนดค่าเริ่มต้นอัตโนมัติจะคงที่เมื่อใช้แอปในอุปกรณ์ที่ใช้ภาษาเทียม (I3bef3, b/154767663)
  • แก้ปัญหาที่รูปภาพที่ถ่ายออกมามืดเกินไปในบางครั้งแม้จะเริ่มใช้แฟลช (I5d9fa, b/149729613)
  • แก้ไขปัญหาเกี่ยวกับ ImageAnalysis ที่การเรียกใช้ setanalyticsr/clearAnalyticsr หลายครั้งส่งผลให้ตัววิเคราะห์ไม่ได้รับรูปภาพที่จะวิเคราะห์ (I6169f, b/151605317, b/153514544)
  • แก้ไขข้อบกพร่องที่บัฟเฟอร์ใน ImageProxy จาก ImageCapture ไม่มีการกรอกลับ (I0c455, b/153249512)
  • แก้ไขปัญหาที่ระบบไม่เลือกใช้กล้องตัวแรกในรายการที่รองรับจาก CameraManager (I4c624, b/153418028)
  • แก้ไขการขัดข้องที่เกิดขึ้นเป็นพักๆ ที่เกิดจากการตั้งค่า Preview.SurfaceProvider ไม่เผยแพร่แพลตฟอร์มที่ขอก่อนหน้านี้ “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

Camera-camera2 เวอร์ชัน 1.0.0-beta03

15 เมษายน 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta03 แล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้

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

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

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

15 เมษายน 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta03 แล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้

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

  • แก้ไขการถดถอยจาก Beta03 ซึ่งการเรียกใช้ bindToLifecycle() ด้วย 0 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 (รหัส 4281, b/150802561)
  • ไม่จําเป็นต้องเรียงลำดับทรัพยากร Dependency ของ CameraX ภายใน build.gradle อย่างชัดเจนเพื่อใช้การใช้งาน CameraX/camera2 เริ่มต้นอีกต่อไป สำหรับกรณีที่ต้องมีการประกาศทรัพยากร Dependency ที่เข้มงวด ทรัพยากร Dependency ของ CameraX ทั้งหมดจะรวมอยู่ในไฟล์บิลด์ได้แล้ว (I46e88)
  • แก้ไขปัญหา IllegalArgumentException ที่เกิดขึ้นในอุปกรณ์ที่มีขนาดการแสดงผลเล็กกว่า 640x480 (Ife3f2, b/150506192)
  • แก้ไข bindToLifecycle เพื่อให้แก้ไข UseCase ต่อเมื่อเชื่อมโยงสําเร็จเท่านั้น ก่อนหน้านี้เมื่อเรียกใช้ bindToLifecycle เพื่อคำนวณการแก้ปัญหาจะมีการอัปเดต UseCase ตอนนี้คุณไม่ต้องอัปเดต Use Case ในการคำนวณอีกต่อไป (I78d9e)

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

1 เมษายน 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta02 แล้ว เวอร์ชัน 1.0.0-beta02 มีการคอมมิตเหล่านี้

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

  • แก้ไข ImageInfo.getRotationDegrees() จาก ImageProxy ที่ ImageCapture สร้างขึ้น เพื่อให้ตรงกับค่าการหมุนของการวางแนว EXIF (รหัส 4281, b/150802561)
  • แก้ไข bindToLifecycle เพื่อให้แก้ไข UseCase ต่อเมื่อเชื่อมโยงสําเร็จเท่านั้น ก่อนหน้านี้เมื่อเรียกใช้ bindToLifecycle เพื่อคำนวณการแก้ปัญหาจะมีการอัปเดต UseCase ตอนนี้คุณไม่ต้องอัปเดต Use Case ในการคำนวณอีกต่อไป (I78d9e)
  • แก้ไขปัญหาที่เซสชันการจับภาพของกรณีการใช้งาน Preview ไม่ได้รับการอัปเดตเมื่อพื้นที่แสดงตัวอย่างเปลี่ยนไปหลังจากเรียก Preview.setSurfaceProvider() มากกว่า 1 ครั้ง

Camera-camera2 เวอร์ชัน 1.0.0-beta01

26 กุมภาพันธ์ 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-beta01 แล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้

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

  • เปลี่ยนชื่อ SurfaceRequest.setSurface(Surface) เป็น SurfaceRequest.provideSurface(Surface) และ SurfaceRequest.setWillNotComplete() ถึง SurfaceRequest.willNotProvideSurface() (I224fe)
  • แก้ไขปัญหาเกี่ยวกับสัดส่วนภาพที่บันทึกไม่ถูกต้อง หลังจากเปลี่ยนค่าการหมุนเวียนเป้าหมายโดยใช้ ImageCapture.setTargetRotation() (I474ea, b/148763432)
  • แก้ไขการเริ่มต้นตัวแปรของแอปที่เปิดใช้ ProGuard โดยเก็บ แฟล็กที่กำหนดผู้ให้บริการ CameraXConfig เริ่มต้น (I2d6c1)

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

26 กุมภาพันธ์ 2020

ปล่อย androidx.camera:camera-core:1.0.0-beta01 แล้ว เวอร์ชัน 1.0.0-beta01 มีการคอมมิตเหล่านี้

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

  • แทนที่ ListenableFuture เมื่อวันที่ SurfaceRequest.provideSurface() ที่มี Executor และ Callback ช่วงเวลานี้ ทำให้ API ง่ายขึ้นโดยไม่ต้องจัดการข้อยกเว้นอีกต่อไป provideSurface() และบังคับให้ provideSurface() Callback ไม่สามารถ ถูกยกเลิก เพื่อป้องกันการขัดข้องในอุปกรณ์รุ่นเก่าที่เกิดจาก การปล่อยพื้นผิวก่อนกำหนด มีการใช้ออบเจ็กต์ SurfaceRequest.Result แล้ว สำหรับการติดตามวิธีที่ SurfaceRequest ใช้ Surface ที่ระบุ (I7854B)
  • เปลี่ยนชื่อ SurfaceRequest.setSurface(Surface) เป็น SurfaceRequest.provideSurface(Surface) และ SurfaceRequest.setWillNotComplete() ถึง SurfaceRequest.willNotProvideSurface() (I224fe)

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

  • แก้ไขปัญหาเกี่ยวกับสัดส่วนภาพที่บันทึกไม่ถูกต้อง หลังจากเปลี่ยนค่าการหมุนเวียนเป้าหมายโดยใช้ ImageCapture.setTargetRotation() (I474ea, b/148763432)
  • แก้ไขการเริ่มต้นตัวแปรของแอปที่เปิดใช้ ProGuard โดยเก็บ แฟล็กที่กำหนดผู้ให้บริการ CameraXConfig เริ่มต้น (I2d6c1)
  • อัปเดตเอกสารประกอบเกี่ยวกับ API ของโหมด Flash ที่จะรวม ค่าที่เป็นไปได้ (I4a3ec)

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

10 กุมภาพันธ์ 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-alpha10 แล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้

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

  • ปรับปรุงความเสถียรในอุปกรณ์ INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY เครื่องด้วยการคงอุปกรณ์ Surface ไว้ตามระยะเวลาที่ใช้งานโดย Camera2 เท่านั้น (I9dac2)
  • แก้ไขปัญหาการแสดงตัวอย่างที่มืดเกินไปในอุปกรณ์รุ่นเดิมโดยการปรับ CONTROL_AE_TARGET_FPS_RANGE ให้ถูกต้อง (1224638)

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

10 กุมภาพันธ์ 2020

ปล่อย androidx.camera:camera-core:1.0.0-alpha10 แล้ว เวอร์ชัน 1.0.0-alpha10 มีคอมมิตเหล่านี้

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

  • อัปเดต ImageCapture เพื่ออนุญาตให้บันทึกรูปภาพไปยัง Uri และ OutputStream แล้ว รวมเมธอด takePicture ที่มีการดำเนินการมากเกินไปเป็นรายการเดียว อัปเดตแอปทดสอบเพื่อใช้ Uri เป็นตัวอย่าง Canonical (Ia3bec)
  • เปลี่ยนชื่อ Preview.PreviewSurfaceProvider เป็น Preview.SurfaceProvider แล้ว SurfaceProvider ไม่ได้กำหนดให้นักพัฒนาแอปสร้าง ListenableFuture ของตนเองอีกต่อไป และตอนนี้การระบุ Surface จะทำได้ผ่านออบเจ็กต์ SurfaceRequest ใหม่ ระบบนำเมธอด Preview.getPreviewSurfaceProvider() ออกแล้วเนื่องจากอาจมีการใช้ในทางที่ผิดเมื่อจับคู่ Preview กับคลาสอื่นๆ เช่น PreviewView (I20105)
  • เพิ่ม getTargetRotation() และ getTargetName() ใน Preview แล้ว (Iceee7)
  • เพิ่ม getTargetRotation(), getBackpressureStrategy() และ getImageQueueDepth() ใน ImageAnalysis แล้ว (I9d6d9)
  • เพิ่ม getTargetRotation() และ getCaptureMode() ใน ImageCapture() (I5bc17)
  • อาร์กิวเมนต์ที่ส่งผ่านก่อนหน้านี้ใน ImageCapture.OnImageSavedCallback.onError() และ ImageCapture.OnImageCapturedCallback.onError() ถูกแทนที่ด้วยอาร์กิวเมนต์เดียว ImageCaptureException ซึ่งยังคงมีข้อมูลทั้งหมดที่ถูกส่งผ่านก่อนหน้านี้
  • นำอาร์กิวเมนต์ไฟล์ที่ส่งผ่านใน ImageCapture.OnImageSavedCallback.onImageSaved() ก่อนหน้านี้ออกแล้ว (I750d2)
  • ทำเครื่องหมายชั้นเรียน Preview และ ImageCapture ว่าเป็นชั้นเรียนสุดท้ายแล้ว (I2500B)
  • อัปเดต API แล้ว โดยมี getZoomRatio(), getMaxZoomRatio() การผสาน getMinZoomRatio() และ getLinearZoom() วิธีใน CameraInfo ไปยัง getZoomState() ซึ่งแสดงผลอินสแตนซ์ ZoomState (Ib19fe)
  • นำช่อง API OPTION_TARGET_CLASS และ OPTION_TARGET_NAME ออกแล้ว จาก CameraXConfig เนื่องจากมีไว้สำหรับการใช้คลังภายในเท่านั้น นำตัวสร้างสำหรับ CameraXConfig.Builder ออกแล้ว (I96912)
  • นำข้อกำหนดที่แอปต้องขยายเวลาออกไป Application ตาม เพื่อเริ่ม CameraX ตอนนี้ CameraX จะใช้ค่าเริ่มต้น การกำหนดค่า Camera2 ตราบใดที่มีอาร์ติแฟกต์ camera-camera2 ใน build.gradle ของแอปพลิเคชัน (I58ff5) (b/146923574)

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

22 มกราคม 2020

ปล่อย androidx.camera:camera-camera2:1.0.0-alpha09 แล้ว เวอร์ชัน 1.0.0-alpha09 มีคอมมิตเหล่านี้

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

  • เพิ่มเส้นทางการทำงานร่วมกันของ Camera2 เพื่อดึงข้อมูลรหัสกล้อง Camera2 คุณสามารถดึงข้อมูล รหัสกล้องจาก CameraInfo โดยใช้ Camera2CameraInfo.extractCameraId() ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้

    Camera camera = provider.bindToLifecycle(...);
    String cameraId =
        Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
    

    ชั้นเรียน Camera2CameraInfo ต้องใช้ ExperimentalCamera2Interop ระดับการทำเครื่องหมาย

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

22 มกราคม 2020

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

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

  • พารามิเตอร์ SurfaceOrientedMeteringPointFactory useCaseForSurface เดิมคือ เปลี่ยนชื่อเป็น useCaseForAspectRatio และเอกสารอ้างอิงคือ ขยายอยู่
  • ตัวสร้างแทนที่เมธอด FocusMeteringAction.Builder.from() รายการ FocusMeteringAction.Builder()
  • ลบแล้ว DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float) แอปพลิเคชันควรใช้ตัวสร้างที่รับพารามิเตอร์ Display และ ในจอแสดงผลปัจจุบัน
  • การปรับปรุง Javadoc สำหรับ API การโฟกัสและการวัดที่เกี่ยวข้องกับ MeteringMode และ 3A การแจ้งและการใช้พารามิเตอร์ Display
  • ขยายเอกสารประกอบอ้างอิงสำหรับ setZoomRatio และ setLinearZoom

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

  • แก้ปัญหาเมื่อปิดแล้วเปิดกล้องซึ่งส่งผลให้เกิด "เงื่อนไขที่กำหนดไว้ล่วงหน้า" ตรวจสอบไม่สำเร็จ
  • แก้ไข ConcurrentModificationException ที่อาจเกิดขึ้นเมื่อใช้ไฟฉาย และ Zoom API
  • แก้ปัญหาเพื่อเลือกการแก้ปัญหาซึ่งใกล้เคียงกับวิธีแก้ปัญหาที่ขอเมื่อ มีขนาดให้เลือก mod16
  • ตอนนี้ API ของ startFocusMetering และ cancelFocusMetering ทำงานตามที่มีการบันทึกไว้แล้ว ด้วยเวลาที่ถูกต้องและอาจส่งคืนข้อผิดพลาดเมื่อเกิดขึ้น
  • แก้ไขปัญหาเมื่อมีการขอความละเอียดเป้าหมายที่เฉพาะเจาะจงด้วยลักษณะการครอบตัด ในอุปกรณ์ที่ไม่รองรับขนาดดังกล่าว ขนาดที่ไม่มีการครอบตัด ระบบจะเลือกความละเอียดที่เพียงพอเพื่อเชื่อมโยงคำขอเดิมเมื่อ พร้อมใช้งาน

Camera-camera2 เวอร์ชัน 1.0.0-alpha08

18 ธันวาคม 2019

ปล่อย androidx.camera:camera-camera2:1.0.0-alpha08 แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตเหล่านี้

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

  • ตัวเลือกคำขอจับภาพของ Camera2 บางอย่างอาจใช้ไม่ได้เมื่อใช้การทำงานร่วมกันของ Camera2 หากไม่รองรับตัวเลือกที่ขอ เซสชันจะไม่สามารถเริ่มต้นได้และมีข้อผิดพลาดดังนี้ 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

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

  • แก้ไขปัญหาหน้าจอตัวอย่างสีดำเกิดขึ้นหลังจากหมุนหรือเปลี่ยนกล้องสำหรับ API ระดับ 21 และ 22

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

  • ทดลอง: เพิ่มเส้นทางการทำงานร่วมกันของ Camera2 สำหรับการดึงข้อมูลรหัสกล้อง

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

18 ธันวาคม 2019

ปล่อย androidx.camera:camera-core:1.0.0-alpha08 แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตเหล่านี้

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

  • แอปที่ใช้ PreviewView หรือ CameraView อาจมีตัวอย่างสัดส่วนภาพที่ไม่ถูกต้อง ซึ่งจะเกิดขึ้นหลังจากที่หยุดชั่วคราวหรือเล่นต่อในอุปกรณ์ FULL บางรุ่น เช่น Pixel2

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

  • อัปเดตเอกสารสำหรับ FocusMeteringAction และ CameraControl แล้ว
  • ติดตั้งใช้งาน TorchControl สําหรับ enableTorch() และ getTorchState() แล้ว

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

  • ซ่อน IntDefs และย้ายค่าคงที่ของ IntDef ออกนอกคำจำกัดความของ IntDef
  • ย้าย rotationDegrees จากชั้นเรียน OnImageCaptureCallback ไปยัง ImageInfo แล้ว
  • ย้าย rotationDegrees จากชั้นเรียน Analyzer ไปยัง ImageInfo แล้ว

Camera-camera2 เวอร์ชัน 1.0.0-alpha07

4 ธันวาคม 2019

ปล่อย androidx.camera:camera-camera2:1.0.0-alpha07 แล้ว เวอร์ชัน 1.0.0-alpha07 ของ Camera-camera2 มีคอมมิตเหล่านี้

  • Camera2Config พร้อมให้ใช้งานกับการเริ่มต้นและกำหนดค่าการใช้งานโดยใช้ Camera2 สำหรับ CameraX แล้ว ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้สิ่งนี้ในการเริ่มต้นได้ที่ส่วนกล้องหลักของบันทึกประจำรุ่น
  • ตอนนี้การทำงานร่วมกันของ Camera2 ได้รับการทำเครื่องหมายว่าเป็นการทดลองและย้ายไปยังแพ็กเกจแยกต่างหาก androidx.camera.camera2.interop.

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

4 ธันวาคม 2019

ปล่อย androidx.camera:camera-core:1.0.0-alpha07 แล้ว เวอร์ชัน 1.0.0-alpha07 ของ Camera-core มีคอมมิตเหล่านี้

โปรดทราบว่ามีการเปลี่ยนแปลงที่สำคัญบางอย่างในรุ่นอัลฟ่านี้ในระหว่างที่เราเตรียมพร้อมสำหรับรุ่นเบต้า เราขอแนะนำให้คุณตรวจสอบการเปลี่ยนแปลงและแชร์ความคิดเห็นที่คุณมีต่อกลุ่ม Google ใน CameraX สำหรับนักพัฒนาซอฟต์แวร์ที่ใช้ CameraX ในแอปที่อยู่ใน Play Store เราขอแนะนำให้รอการเปิดตัวเวอร์ชันเบต้าอย่างเป็นทางการก่อนที่จะอัปเกรดไลบรารีภายในแอปพลิเคชันของคุณ

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

  • สำคัญ: การเริ่มต้น CameraX มีการเปลี่ยนแปลง แอปพลิเคชันควรใช้ CameraXConfig.Provider และใช้ Camera2Config เริ่มต้นจาก androidx.camera.camera2 การใช้งานโดยทั่วไปมีดังนี้

    import androidx.camera.camera2.Camera2Config
    import androidx.camera.core.CameraXConfig
    
    public class MyCameraXApplication : Application(),  CameraXConfig.Provider {
        override fun getCameraXConfig(): CameraXConfig {
                return Camera2Config.defaultConfig(this)
        }
    }
    
  • นำคลาส CameraX ออกแล้ว bindToLifecycle(), unbind(), unbindAll(), isBound() และ hasCamera() จากการโทรของชั้นเรียน CameraX ก่อนหน้านี้พร้อมให้บริการผ่าน ProcessCameraProvider แล้ว

  • ได้อินสแตนซ์ต่อโปรเซสของ ProcessCameraProvider แบบไม่พร้อมกันโดยใช้เมธอดแบบคงที่ ProcessCameraProvider.getInstance() ซึ่งจะแสดงผลในอนาคตที่ฟังได้ซึ่งจะระบุ ProcessCameraProvider เมื่อเสร็จสมบูรณ์ โดยจะแสดงใน onCreate() สำหรับการใช้งานทั่วไป คุณจะโทรหา getInstance() ภายหลังได้ในวงจรของกิจกรรมเพื่อเลื่อนเวลาในการตอบสนองการเริ่มต้นในภายหลัง (เช่น เมื่อการดำเนินการของผู้ใช้เปิด UI กล้องถ่ายรูป)

    import androidx.camera.lifecycle.ProcessCameraProvider
    import com.google.common.util.concurrent.ListenableFuture
    
    class MainActivity : AppCompatActivity() {
       private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider>
       override fun onCreate(savedInstanceState: Bundle?) {
           cameraProviderFuture = ProcessCameraProvider.getInstance(this);
      }
    
  • คุณสามารถเพิ่ม Listener ลงใน ListenableFuture ที่ส่งกลับได้โดย getInstance() การดำเนินการนี้ช่วยให้ดึงข้อมูลผู้ให้บริการกล้องจาก Future ได้โดยไม่ต้องบล็อกใน Future.get()

    cameraProviderFuture.addListener(Runnable {
      val cameraProvider = cameraProviderFuture.get()
      cameraProvider.bindToLifecycle(...)
    }, ContextCompat.getMainExecutor(this))
    
  • ตอนนี้ตัวเลือกกล้องจะทำการเลือกกล้อง ไม่ใช่ตามกรณีการใช้งาน

    val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
    
  • CameraProvider.bindToLifecycle จะได้รับเจ้าของวงจร ตัวเลือกกล้อง และกรณีการใช้งาน ซึ่งจะเชื่อมโยงกับเจ้าของวงจรที่กำหนด แล้วเรียกใช้กล้องที่เลือก

    cameraProvider.bindToLifecycle(this as LifecycleOwner,
           cameraSelector, preview, imageAnalysis)
    
  • คลาส "Config" ของ Use Case จะถูกนำออก ให้สร้าง Use Case โดยตรงโดยตั้งค่าตัวเลือกในเครื่องมือสร้าง Use Case แต่ละรายการแทน เช่น

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • กรณีการใช้งานตัวอย่างได้รับการอัปเดตเพื่อยอมรับแพลตฟอร์มที่แอปพลิเคชันสร้างและจัดการเพื่อให้แน่ใจว่ามีแนวทางปฏิบัติแนะนำสำหรับ Android ขอแนะนำอย่างยิ่งให้ใช้คลาสมุมมอง PreviewView ที่ให้ไว้ในแพ็กเกจมุมมองกล้อง

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • ดูเอกสารประกอบสำหรับการแนบ Surface ที่จัดการโดยแอป ในกรณีเหล่านี้ แอปจะจัดการวงจรการใช้งานของแพลตฟอร์ม

  • สำคัญ: การใช้เมธอด ImageAnalysis ตัววิเคราะห์ต้องเรียกใช้ image.close() กับรูปภาพที่ได้รับเมื่อใช้เสร็จแล้ว ไม่เช่นนั้น คุณอาจรับรูปภาพใหม่หรือกล้องอาจหยุดทำงาน ขึ้นอยู่กับการตั้งค่าแรงกดดันกลับ โปรดดูรายละเอียดในเอกสารอ้างอิง

  • เปลี่ยน ImageAnalysis ImageReaderMode เป็นกลยุทธ์แรงดันย้อนกลับ intdef แล้ว

  • ทำเครื่องหมาย ImageProxy.getImage() ว่าเป็นเวอร์ชันทดลอง แอปพลิเคชันควรใส่คำอธิบายประกอบการใช้งาน เช่น ผ่าน @androidx.camera.core.ExperimentalGetImage

  • นำข้อกำหนดคำอธิบายประกอบ UIThread สำหรับ Analyzer ออกแล้ว

  • เพิ่มฟังก์ชัน ImageAnalysis.clearAnalyzer() สำหรับการนำเครื่องมือวิเคราะห์ออก

  • Listener ที่มีมากกว่า 1 วิธีได้รับการเปลี่ยนชื่อเป็น Callback:

    • ImageCapture.OnImageCapturedListener เปลี่ยนชื่อเป็น ImageCapture.OnImageCapturedCallback แล้ว
    • ImageCapture.OnImageSavedListener เปลี่ยนชื่อเป็น ImageCapture.OnImageSavedCallback แล้ว
    • VideoCapture.OnVideoSavedListener เปลี่ยนชื่อเป็น VideoCapture.OnVideoSavedCallback แล้ว
  • Enum เปลี่ยนเป็น IntDef แล้ว

  • เพิ่มตัวควบคุมการซูมแล้ว

    • CameraControl.setLinearZoom()
    • CameraControl.setZoomRatio()
    • CameraInfo.getLinearZoom()
    • CameraInfo.getMaxZoomRatio()
    • CameraInfo.getZoomRatio()
  • เพิ่ม CameraInfo.hasFlashUnit() เพื่อระบุว่ามีฮาร์ดแวร์แฟลช/ไฟฉายหรือไม่

  • นำ CameraInfo.isFlashAvailable() ออกแล้ว ไฟฉายจะลบล้างฟังก์ชันการทำงานของ Flash ดูรายละเอียดเพิ่มเติมได้ในเอกสารอ้างอิง

  • ช่อง ImageCapture.Metadata ถูกแทนที่ด้วยตัวเข้าถึง get/set/is

  • ตอนนี้ startFocusMetering และ cancelFocusMetering จะแสดงผล ListenableFutures ซึ่งแสดงถึงการดำเนินการแบบไม่พร้อมกันของการโทร

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

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

  • แก้ไขปัญหาเมื่อถ่ายภาพต่อเมื่อถ่ายภาพต่อ (หลังจากที่หยุดถ่ายภาพชั่วคราวไปแล้วก่อนหน้านี้คือภาพอยู่ระหว่างรอดำเนินการ)
  • ปัญหาที่ทราบ: CameraControl.enableTorch() ใช้งานได้ แต่ ListenableFuture<Void> ที่แสดงผลจะเป็น complete(success) ในอนาคตโดยทันที แม้ว่าจะไม่มีหน่วยแฟลชก็ตาม เวอร์ชันในอนาคตจะแก้ไขปัญหานี้กับการทำงานขั้นสุดท้าย เมื่อไม่มีหน่วยแฟลช enableTorch(true) จะล้มเหลวทันที (จะไม่ส่งคำขอไปยัง CaptureSession) และ TorchState จะยังคงปิดอยู่
  • ปัญหาที่ทราบ: startFocusAndMetering และ cancelFocusAndMetering เริ่มและยกเลิกการวัดโฟกัส แต่แสดงผล completed (success) ในอนาคตทันทีโดยไม่แสดงลักษณะการทำงานที่บันทึกไว้ FocusMeteringResult จาก ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() เป็นผลลัพธ์ปลอมซึ่ง isFocusSuccessful() และมีค่าเป็น "false" เสมอ แตกต่างจากลักษณะการทำงานที่บันทึกไว้ตามที่ควรจะเป็น
  • ปัญหาที่ทราบ: โรงงานสำหรับจุดตรวจสอบการใช้งานสำหรับใช้กับกิจกรรมการสัมผัส PreviewView อยู่ระหว่างการพัฒนา สำหรับตอนนี้ แอปที่เชื่อมต่อแพลตฟอร์มที่มีการจัดการแบบกำหนดเองสามารถใช้โรงงานที่จุดตรวจสอบการใช้งานที่มีอยู่ หรือ PreviewView ก็ไม่มีฟังก์ชันการโฟกัสแบบสัมผัส

Camera-camera2 และ Camera-Core เวอร์ชัน 1.0.0-alpha06

9 ตุลาคม 2019

ปล่อย androidx.camera:camera-camera2:1.0.0-alpha06 และ androidx.camera:camera-core:1.0.0-alpha06 แล้ว นี่คือสัญญาผูกมัดที่รวมอยู่ใน camera-camera2:1.0.0-alpha06 และสัญญาผูกมัดที่รวมอยู่ใน camera-core:1.0.0-alpha06

ฟีเจอร์ใหม่

การเปลี่ยนแปลงการตั้งค่าสัดส่วนภาพมีดังนี้

  • เพิ่ม setTargetAspectRatioMode() และยอมรับอาร์กิวเมนต์ enum แล้ว ซึ่งจะตั้งค่าโหมดสัดส่วนภาพด้วยตัวเลือก RATIO_4_3 หรือ RATIO_16_9 แทนที่จะเป็นสัดส่วนภาพที่กำหนดเอง วิธีนี้สะท้อนให้เห็นถึงข้อเท็จจริงที่ว่ากล้องมีสัดส่วนภาพเพียงบางอย่างเท่านั้น ไม่ใช่สัดส่วนภาพที่กำหนดเอง
    • ปัจจุบันอัตราส่วนที่ใช้ได้มีเพียง 16:9 และ 4:3 ในกรณีที่เป็น 1:1 จะมีเฉพาะอุปกรณ์บางรุ่นเท่านั้นที่สามารถใช้งานได้จากกล้องถ่ายรูป และในความละเอียดที่จำกัดเท่านั้น แอปพลิเคชันที่ออกแบบอินเทอร์เฟซหรือการประมวลผลแบบ 1:1 ควรใช้ตัวเลือก 16:9 หรือ 4:3 ซึ่งมีความยืดหยุ่นมากขึ้น และครอบตัดการแสดงผลหรือประมวลผลภูมิภาคย่อย
    • สัดส่วนภาพเหล่านี้มีไว้สำหรับใช้พื้นที่เซ็นเซอร์สูงสุด
  • เพิ่ม getTargetAspectRatio() ไปยัง Use Case Config API แล้ว โดยจะแสดงสัดส่วนภาพเป้าหมายเอาต์พุตของ Use Case
  • เปลี่ยนเมธอด setTargetAspectRatio(Rational aspectRatio) สำหรับ ImageCapture เป็น setTargetAspectRatioCustom(Rational aspectRatio) แล้ว เมื่อตั้งค่าแล้ว เอาต์พุต ImageCapture จะครอบตัดตามนั้น

API ของการดำเนินการ

  • ฟังก์ชันต่อไปนี้จะยอมรับพารามิเตอร์ผู้ดำเนินการ ซึ่งช่วยให้แอปควบคุมผู้ดำเนินการที่ฟังก์ชันจะทำงานได้
    • Preview.setOnPreviewOutputUpdateListener() API หากไม่มีตัวดำเนินการสำหรับฟังก์ชันนั้น ตัวดำเนินการจะทำงานในเทรดหลัก
    • Preview.setOnPreviewOutputUpdateListener
    • FocusMeteringAction.Builder.setAutoFocusCallback
    • ImageAnalysis.setAnalyzer
    • ImageCapture.takePicture
    • CameraView.takePicture
    • CameraView.startRecording
    • VideoCapture.startRecording

เพิ่ม CameraInfo แล้วพร้อมตรวจสอบแฟลชและ API การหมุนเซ็นเซอร์

  • เพิ่ม CameraInfo และเมธอด getCameraInfo ซึ่งช่วยให้แอปตรวจสอบว่ากล้องใช้ CameraInfo ได้หรือไม่ และมีแฟลชในกล้องหรือไม่ เช่น

    try {
        CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing);
        LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable();
        flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE);
    } catch (CameraInfoUnavailableException e) {
        Log.w(TAG, "Cannot get flash available information", e);
        flashToggle.setVisibility(View.VISIBLE);
    }
    
  • เพิ่ม CameraInfo.getSensorRotationDegrees() แล้ว การวางแนวดังกล่าวจะทำให้การวางแนวเซ็นเซอร์ของกล้องสัมพันธ์กับการวางแนวตามธรรมชาติของอุปกรณ์ หรือเพื่อความสะดวก เมื่อเทียบกับการวางแนวที่อธิบายโดยการหมุนพื้นผิว (ซึ่งจะอธิบายการวางแนวที่สัมพันธ์กับการวางแนวตามธรรมชาติ)

การเปลี่ยนแปลง API และการแก้ไขข้อบกพร่อง

  • สัดส่วนภาพ: สำหรับแต่ละกรณีการใช้งาน แอปพลิเคชันควรเรียก setTargetResolution() หรือ setTargetAspectRatio() เพียงอย่างใดอย่างหนึ่งเท่านั้น การเรียกใช้ทั้ง 2 อย่างในเครื่องมือสร้างเดียวกันจะแสดงข้อผิดพลาด
    • โดยทั่วไปแล้ว ขอแนะนำให้ใช้ setTargetAspectRatio() โดยอิงตามการออกแบบ UI ของแอปพลิเคชัน การแก้ปัญหาที่เฉพาะเจาะจงจะขึ้นอยู่กับกรณีการใช้งาน ตัวอย่างเช่น การแสดงตัวอย่างมีความละเอียดใกล้เคียงกับหน้าจอ และการจับภาพจะทำให้มีภาพนิ่งที่มีความละเอียดสูง ดูข้อมูลเพิ่มเติมในตารางการแก้ปัญหาอัตโนมัติ
    • ใช้ setTargetResolution() สำหรับกรณีที่เจาะจงมากขึ้น เช่น เมื่อต้องมีความละเอียดขั้นต่ำ (เพื่อบันทึกการคำนวณ) หรือความละเอียดสูงสุด (สำหรับรายละเอียดการประมวลผล)
  • Executor API: นำการเรียก setCallbackHandler() ออกจาก API การกำหนดค่ากรณีการใช้งาน แต่แอปพลิเคชันสามารถตั้งค่าผู้ดำเนินการเป็นพารามิเตอร์ใน API อื่นๆ ที่ตั้งค่า Callback แทนได้
  • อัปเดตคำอธิบายประกอบที่เป็นค่าว่างสำหรับฟังก์ชันต่างๆ
  • แก้ไขปัญหาที่ทำให้ระบบส่ง java.lang.IllegalStateException at Camera$StateCallback.onError ออกเมื่อเปิดกล้อง
  • แก้ปัญหาการเลือกความละเอียดที่เล็กเกินไป (น้อยกว่า 640x480) เมื่อแอปขอความละเอียดที่ใหญ่ขึ้นหรือความละเอียดเริ่มต้น ซึ่งส่งผลให้รูปภาพตัวอย่างเป็นบล็อกหรือเบลอ แอปพลิเคชันที่ต้องการความละเอียดน้อยกว่านี้โดยเฉพาะสามารถขอความละเอียดหน้าจอนั้นได้
  • แก้ไขปัญหาที่กล้องแสดงหน้าจอสีดำ (เปิดกล้องไม่สำเร็จ) หลังจากกลับมาจากความตั้งใจที่เรียกใช้แอปพลิเคชันกล้องอื่น
  • แก้ไขข้อบกพร่องที่ทำให้เกิดข้อผิดพลาดต่อไปนี้เมื่อมีการเริ่มหรือหยุดแอปซ้ำๆ java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • แก้ไขข้อผิดพลาดต่อไปนี้ที่เกิดขึ้นเมื่อปิดใช้ ImageAnalysis: java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
  • เพิ่มการทดสอบเพิ่มเติมสำหรับขั้นตอนการยกเลิกการเชื่อมต่อกล้อง
  • ปรับปรุงความทนทานของระบบการทดสอบเมื่อเรียกใช้การทดสอบกล้องอย่างต่อเนื่อง

Camera-กล้องถ่ายรูป2 และ Camera-Core เวอร์ชัน 1.0.0-alpha05

5 กันยายน 2019

ปล่อย androidx.camera:camera-camera2:1.0.0-alpha05 และ androidx.camera:camera-core:1.0.0-alpha05 แล้ว ซึ่งก็คือ การคอมมิตที่รวมอยู่ในกล้อง Camera-camera2:1.0.0-alpha05 เป็น การคอมมิตรวมถึง Camera-core:1.0.0-alpha05

  • การเปลี่ยน API: ตัวแปรข้อผิดพลาดของกรณีการใช้งานที่มีการเปลี่ยนชื่อ:

    • ImageCapture.UseCaseError เปลี่ยนชื่อเป็น ImageCapture.ImageCaptureError แล้ว
    • VideoCapture.UseCaseError เปลี่ยนชื่อเป็น VideoCapture.VideoCaptureError แล้ว
  • เพิ่ม CameraControl API กับ API แบบ Tap-to-Focus แล้ว

    • เพิ่ม API เพื่อรับ CameraControl จาก CameraX สำหรับกล้อง ซึ่งเลือกตามเลนส์

      CameraX.getCameraControl(LensFacing lensFacing)

    • เพิ่ม MeteringPointFactory, MeteringPoint, MeteringMode และ FocusMeteringAction เพื่อเรียกใช้ "แตะเพื่อโฟกัส":

      MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height);
      MeteringPoint point = factory.createPoint(x, y);
      FocusMeteringAction action = FocusMeteringAction.Builder.from(point,
                                       MeteringMode.AF_ONLY)
          .addPoint(point2, MeteringMode.AE_ONLY) // could have many
          .setAutoFocusCallback(new OnAutoFocusListener(){
              public void onFocusCompleted(boolean isSuccess) {
              }
          })
          // auto calling cancelFocusAndMetering in 5 sec.
          .setAutoCancelDuration(5, TimeUnit.Second)
          .build();
      
    • เพิ่ม API สำหรับ CameraControl เพื่อเริ่มและยกเลิกการวัดโฟกัส:

      getCameraControl(lensFacing).startFocusAndMetering(action); getCameraControl(lensFacing).cancelFocusAndMetering();

    • เพิ่ม API สำหรับโรงงานวัดการวัดที่ช่วยแปลงพิกัดการแตะเป็นพิกัดเซ็นเซอร์โดยอิงตามคลาสการดู ดังนี้

      MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView); MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);

  • บังคับใช้การเรียกเมธอดต่อไปนี้ในเธรดหลัก (UI) โดยส่ง IllegalStateException เมื่อไม่มีการใช้งาน เวอร์ชันในอนาคตจะอนุญาตให้ใช้บน เทรดอื่นๆ และตรวจสอบว่าเป็นอนุกรม

    • CameraX.bindToLifecycle()
    • CameraX.unbind()
    • CameraX.unbindAll()
    • ImageAnalysis.setAnalyzer()
    • ImageAnalysis.getAnalyzer()
    • ImageAnalysis.removeAnalyzer()
    • Preview.removePreviewOutputListener()
    • Preview.getOnPreviewOutputUpdateListener()
    • Preview.setOnPreviewOutputUpdateListener()
  • ขณะนี้การตั้งค่าการกำหนดค่าต่างๆ ยอมรับพารามิเตอร์ Null และ Getters ที่เกี่ยวข้องอาจแสดงผล Null

  • แก้ไขปัญหาเมื่อทดสอบกับโปรแกรมจำลองที่ไม่รองรับการตั้งค่า AF/AE/AWB

  • แก้ไขข้อบกพร่องข้อขัดข้องเกี่ยวกับการหมุนขณะวิเคราะห์รูปภาพ

  • แก้ไขข้อบกพร่องที่การแสดงตัวอย่างปรากฏเป็นสีดำเมื่อเริ่มต้น (ไม่มีข้อมูลกล้อง) หลังจากการหมุนหรือสลับระหว่างกล้องหน้าและกล้องหลัง

  • นำการทดสอบสำหรับการวิเคราะห์รูปภาพหลายรายการพร้อมกันออก แอปพลิเคชันควรแนบ Use Case การวิเคราะห์รูปภาพเพียงกรณีเดียวเพื่อให้ใช้งานร่วมกันได้

  • เพิ่มการทดสอบ Robolectric เบื้องต้นสำหรับกล้องปลอมในชุดทดสอบกล้อง (WIP)

  • นำการทดสอบ Camera2Inititalizer ออกแล้ว เนื่องจากความครอบคลุมไม่ชัดเจน/ทำให้เข้าใจผิด

Camera-กล้องถ่ายรูป2 และ Camera-Core เวอร์ชัน 1.0.0-alpha04

7 สิงหาคม 2019

ปล่อย androidx.camera:camera-camera2:1.0.0-alpha04 และ androidx.camera:camera-core:1.0.0-alpha04 แล้ว เวอร์ชัน 1.0.0-alpha04 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

การเปลี่ยนแปลงการเลือกสัดส่วนภาพและความละเอียด

เป้าหมายของ CameraX คือการเริ่มต้นเซสชันของกล้องให้สำเร็จ ซึ่งหมายความว่า CameraX จะจำกัดความละเอียด/สัดส่วนภาพตามความสามารถของอุปกรณ์ เพื่อเริ่มเซสชันการจับภาพเป็นเป้าหมายแรก และระบบจะไม่ดำเนินการตามคำขอที่แน่นอน ซึ่งอาจเกิดจากสาเหตุต่อไปนี้

  • อุปกรณ์ไม่รองรับการแก้ปัญหาที่ขอ
  • ปัญหาความเข้ากันได้ เช่น ในอุปกรณ์รุ่นเดิมที่ต้องใช้ความละเอียดบางระดับเพื่อให้ทำงานได้อย่างถูกต้อง
  • ในบางอุปกรณ์ บางรูปแบบจะใช้งานได้ในบางสัดส่วนภาพเท่านั้น
  • ค่ากำหนดสำหรับ "mod16 ที่ใกล้เคียงที่สุด" สำหรับ JPEG หรือการเข้ารหัสวิดีโอ โปรดดู CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP

แม้ว่า CameraX จะสร้างและจัดการเซสชัน แต่คุณก็ควรตรวจสอบ ขนาดรูปภาพที่แสดงผลในเอาต์พุตกรณีการใช้งานในโค้ดของคุณ แล้วปรับ ตามนั้น

เราได้ทำการเปลี่ยนแปลงบางอย่างสำหรับการตั้งค่าความละเอียดและสัดส่วนภาพ โดยมีจุดประสงค์เพื่อทำให้ API มีความชัดเจนยิ่งขึ้น ดังนี้

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

โหมดไม่บล็อกสำหรับ ImageAnalysis

  • ลักษณะการทำงานของ ImageReaderMode.ACQUIRE_LATEST_IMAGE ไม่ได้บล็อกอยู่ โดยจะได้รูปภาพล่าสุดในคิว แต่จะลบรูปภาพที่ไม่ได้ใช้อย่างต่อเนื่องเพื่อให้ไปป์ไลน์ของกล้องหลีกเลี่ยงการบล็อกได้
  • เครื่องมือวิเคราะห์จะเก็บอิมเมจเดียวไว้ตลอดไปโดยไม่ทำให้ไปป์ไลน์หยุดชะงัก
  • หากแอปพลิเคชันมีตัวดำเนินการซึ่งทำการบล็อก นั้น Use Case ของ ImageAnalysis จะบล็อก
  • ผู้ดำเนินการเริ่มต้นที่ตั้งค่าไว้จะทำงานเป็นผู้ดำเนินการที่ไม่บล็อก

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

  • แก้ปัญหาการหมดเวลาที่รอการบรรจบกัน 3A ขณะจับภาพบนอุปกรณ์ที่ไม่มีโฟกัสอัตโนมัติ การเปิดรับแสงอัตโนมัติ และปรับสมดุลแสงขาวอัตโนมัติ
  • แก้ปัญหาเมื่อถ่ายภาพอย่างรวดเร็วด้วย ImageCapture แก้ไขข้อผิดพลาด: java.lang.IllegalStateException: maxImages (2) has already been acquired
  • แก้ไขปัญหาเมื่อ setLensFacing ไม่ถูกเรียกใช้ Use Case ซึ่งส่งผลให้เกิด java.lang.IllegalArgumentException: Unable to get camera ID for use case
  • แก้ปัญหาที่อุปกรณ์เดิมต้องใช้สัดส่วนภาพเฉพาะเป็นความละเอียด JPEG สูงสุด
  • แก้ปัญหาแอปทำงานอยู่เบื้องหลังขณะเปิดกล้อง
  • แก้ไขปัญหาเกี่ยวกับ API < 25, การนำข้อผิดพลาด checkAndUpdateEglState: invalid current EGLDisplay ออก
  • แก้ไขปัญหาเมื่อยกเลิกการเชื่อมโยงตัวอย่างหลังจากเปิดใช้และเริ่มส่วนขยาย
  • อาร์ติแฟกต์บิลด์สำหรับมุมมองกล้องและส่วนขยายกล้องได้รับการเผยแพร่เป็นเวอร์ชันอัลฟ่าแล้ว

Camera-กล้องถ่ายรูป2 และ Camera-Core เวอร์ชัน 1.0.0-alpha03

2 กรกฎาคม 2019

ปล่อย androidx.camera:camera-core:1.0.0-alpha03 และ androidx.camera:camera-camera2:1.0.0-alpha03 แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้

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

  • เพิ่มการชี้แจง javadoc สำหรับ "target" ในการเรียกใช้การกำหนดค่า setTarget

กล้องถ่ายรูปหลัก

  • แก้ไขข้อขัดข้องของพื้นผิวอินพุต/เอาต์พุตที่ไม่ได้กำหนดค่าเมื่อเปิด/ปิดหรือเชื่อมโยง/ยกเลิกการเชื่อมโยงอย่างรวดเร็ว
  • เปลี่ยนไปใช้การติดตั้งใช้งาน Futures ใหม่
  • ทดสอบการแก้ไขเพื่อการทดสอบที่มีประสิทธิภาพมากขึ้น
  • ตอนนี้การทดสอบการผสานรวมหลักแสดงเวลาในการจับภาพสำหรับรูปภาพแล้ว
  • คลาสความเข้ากันได้ภายในที่พัฒนาขึ้นสำหรับโอเปอเรเตอร์
  • การจับภาพแอปทดสอบระยะเวลาจะรอให้ภาพก่อนหน้าเสร็จสิ้นและ ความเสถียรที่ดีขึ้น

ส่วนขยาย

  • เพิ่มการตรวจสอบการกำหนดเวอร์ชัน
  • การครอบคลุมการทดสอบเพิ่มเติม - การเรียกกลับของเหตุการณ์ของส่วนขยาย
  • การปรับปรุงรูปภาพและข้อมูลเมตาที่สอดคล้องกันภายใน
  • แก้ไขการสลับโหมดในแอปทดสอบ

Camera-camera2 และ Camera-Core เวอร์ชัน 1.0.0-alpha02

5 มิถุนายน 2019

ปล่อย androidx.camera:camera-core:1.0.0-alpha02 และ androidx.camera:camera-camera2:1.0.0-alpha02 แล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้

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

  • แก้ไขปัญหา div คูณ 0 เมื่อใช้โปรแกรมจำลอง
  • แก้ไขข้อผิดพลาด NullPointerException/Surface A Banded ในอุปกรณ์บางเครื่องเมื่อถ่ายภาพอย่างรวดเร็ว ขณะยกเลิกการเชื่อมโยงและเชื่อมโยง Use Case อีกครั้งอย่างรวดเร็ว
  • แก้ไขปัญหาภายในเพื่อให้การอัปเดตคำขอบันทึกส่งผลต่อแพลตฟอร์มทั้งหมดอย่างสม่ำเสมอ
  • ปรับปรุงความเสถียรเมื่อรีสตาร์ท Use Case ในอินสแตนซ์แอปใหม่
  • การเปลี่ยนแปลงสถาปัตยกรรมภายในเพื่อเตรียมพร้อมสำหรับการรองรับผู้ดำเนินการใน API
  • การชี้แจงเพิ่มเติมเกี่ยวกับ Javadoc เกี่ยวกับคลาสและการจัดการวงจรของ CameraX
  • เพิ่มการทดสอบที่มีการวัดคุมสำหรับแอปทดสอบประสิทธิภาพของ Antelope
  • นำความจำเป็นในการใช้ "-keepattributes Signature" ออก ในการกำหนดค่า Proguard ของแอป

Camera-กล้องถ่ายรูป2 และ Camera-Core 1.0.0-alpha01

7 พฤษภาคม 2019

androidx.camera:camera-core:1.0.0-alpha01 และ ปล่อย androidx.camera:camera-camera2:1.0.0-alpha01 แล้ว เวอร์ชัน 1.0.0-alpha01 มีคอมมิตเหล่านี้

วงจรการใช้งานกล้องเวอร์ชัน 1.0.0-เบต้า11

14 ตุลาคม 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta11 แล้ว เวอร์ชัน 1.0.0-beta11 มีการคอมมิตเหล่านี้

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

  • <UseCase>.getTargetRotation() จะส่งคืน Surface.ROTATION_0 หากเรียกใช้ก่อนแนบกับอินสแตนซ์กล้องถ่ายรูป เว้นแต่ว่า มีการตั้งค่า targetRotation ใน Builder หรือ UseCase (I80fcd)

Camera-Lifecycle เวอร์ชัน 1.0.0-beta10

23 กันยายน 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta10 แล้ว เวอร์ชัน 1.0.0-beta10 มีการคอมมิตเหล่านี้

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

วงจรการใช้งานกล้องเวอร์ชัน 1.0.0-beta09

16 กันยายน 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta09 แล้ว เวอร์ชัน 1.0.0-beta09 มีการคอมมิตเหล่านี้

Camera-Lifecycle เวอร์ชัน 1.0.0-beta08

19 สิงหาคม 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta08 แล้ว เวอร์ชัน 1.0.0-beta08 มีการคอมมิตเหล่านี้

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

  • การเริ่มต้นไม่ควรมีข้อขัดข้องอีกต่อไปเมื่อใช้บริบท ที่ไม่ส่งคืนออบเจ็กต์ Application จาก Context.getApplicationContext() (I3d3c9, b/160817073)

วงจรการใช้งานกล้อง เวอร์ชัน 1.0.0-beta07

22 กรกฎาคม 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta07 แล้ว เวอร์ชัน 1.0.0-beta07 มีการคอมมิตเหล่านี้

Camera-Lifecycle เวอร์ชัน 1.0.0-beta06

24 มิถุนายน 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta06 แล้ว เวอร์ชัน 1.0.0-beta06 มีการคอมมิตเหล่านี้

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

  • กำหนดค่า CameraX ได้แล้วด้วย Process CameraProvider#configureInstance() ก่อนเรียก Process CameraProvider#getInstance() วิธีนี้ทำให้สามารถปรับแต่ง CameraXConfig โดยไม่ต้องมีการติดตั้งใช้งาน CameraXConfig.Provider ในคลาสแอปพลิเคชันของแอป (Ia1a8d)

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

10 มิถุนายน 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta05 แล้ว เวอร์ชัน 1.0.0-beta05 มีการคอมมิตเหล่านี้

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

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

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

27 พฤษภาคม 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta04 แล้ว เวอร์ชัน 1.0.0-beta04 มีการคอมมิตเหล่านี้

Camera-Lifecycle เวอร์ชัน 1.0.0-beta03

15 เมษายน 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-beta03 แล้ว เวอร์ชัน 1.0.0-beta03 มีการคอมมิตเหล่านี้

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

  • แก้ไขการถดถอยจาก Beta03 ซึ่งการเรียกใช้ bindToLifecycle() ด้วย 0 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, ยกเลิกการเชื่อมโยง และยกเลิกการเชื่อมโยงวิธีการแล้ว (I990d2)

Camera-Lifecycle เวอร์ชัน 1.0.0-alpha03

22 มกราคม 2020

ปล่อย androidx.camera:camera-lifecycle:1.0.0-alpha03 แล้ว เวอร์ชัน 1.0.0-alpha03 มีคอมมิตเหล่านี้

อัปเดต

  • การแก้ไขและอัปเดตต่างๆ เพื่อรองรับ Camera Core และ มีการเปลี่ยนแปลงในกล้อง 2

Camera-Lifecycle เวอร์ชัน 1.0.0-alpha02

18 ธันวาคม 2019

ปล่อย androidx.camera:camera-lifecycle:1.0.0-alpha02 แล้ว เวอร์ชัน 1.0.0-alpha02 มีคอมมิตเหล่านี้

การเปลี่ยนแปลงการขึ้นต่อกัน

  • อัปเดตเป็นใช้ androidx.camera:camera-core:1.0.0-alpha08 แล้ว

Camera-Lifecycle เวอร์ชัน 1.0.0-alpha01

4 ธันวาคม 2019

ปล่อย androidx.camera:camera-lifecycle:1.0.0-alpha01 แล้ว เวอร์ชัน 1.0.0-alpha01 ของวงจรการใช้งานกล้องมีคอมมิตเหล่านี้

หมายเหตุ API

  • มีการเพิ่มอาร์ติแฟกต์อายุการใช้งานกล้องซึ่งมีอินเทอร์เฟซ LifeCycleCameraProvider และการใช้งาน ProcessCameraProvider ซึ่งมีฟังก์ชันหลายรายการของคลาส CameraX ก่อนหน้าเป็นแกนหลักและได้รับผ่านเมธอด getInstance()
  • แอปควรมีไลบรารีอายุการใช้งานของกล้องเพื่อใช้ CameraX
  • ดูวิธีเริ่มต้น CameraX โดยใช้ ProcessCameraProvider ได้ในส่วน camera-core

ส่วนขยายกล้องถ่ายรูปและมุมมองกล้องเวอร์ชัน 1.0.0

เวอร์ชัน 1.0.0-alpha32

15 ธันวาคม 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha32 และ androidx.camera:camera-view:1.0.0-alpha32 แล้ว เวอร์ชัน 1.0.0-alpha32 มีคอมมิตเหล่านี้

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

  • นำคำอธิบายประกอบ @RequiresApi(21) ที่ไม่จำเป็นออกจากคลาส/อินเทอร์เฟซภายในแล้ว (I8e286, b/204917951)
  • อัปเดตไฟล์ API สำหรับอาร์ติแฟกต์ส่วนขยายกล้อง (If683a, b/161377155)

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

  • ไม่อนุญาตให้แอปเปิดใช้โหมดส่วนขยายเมื่อเชื่อมโยง VideoCapture ส่วนขยาย CameraX รองรับเฉพาะ ImageCapture และ Preview ยังไม่รองรับ VideoCapture หากแอปเชื่อมโยง VideoCapture และเปิดใช้โหมดส่วนขยายใดก็ตาม ระบบจะส่ง IllegalArgumentException (I0d87b)
  • CameraSelector#filter ไม่แสดง IllegalArgumentException อีกต่อไปเมื่อชุดผลลัพธ์ว่างเปล่า (I27804)
  • เปลี่ยนชื่อ API ของ ExtensionsManager#getInstance เป็น getInstanceAsync เนื่องจากแสดงผล ListenableFuture ส่วนต่อท้ายแบบไม่พร้อมกันของชื่อฟังก์ชันจะแสดงให้เห็นอย่างชัดเจนว่าเป็นฟังก์ชันอะซิงโครนัส (I279d2)
  • นําพารามิเตอร์ความละเอียดออกจาก ExtensionsManager#getEstimatedCaptureLatencyRange API เนื่องจากผู้ใช้ไม่ทราบว่าขนาดใดรองรับกรณีการใช้งาน ImageCapture และแยกแยะไม่ได้ว่าข้อมูลเวลาในการตอบสนองที่แสดงผลเป็นขนาดเอาต์พุตการบันทึกสูงสุดหรือพารามิเตอร์ความละเอียดอินพุต (I74bb2)
  • ย้ายพารามิเตอร์ CameraProvider ของฟังก์ชัน ExtensionsManager รายการไปยัง getInstance() API เพื่อให้ผู้ใช้ไม่ต้องป้อนพารามิเตอร์ CameraProvider ทุกครั้งเมื่อเรียกใช้ฟังก์ชัน ExtensionsManager (Ic7e48)

เวอร์ชัน 1.0.0-alpha31

17 พฤศจิกายน 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha31 และ androidx.camera:camera-view:1.0.0-alpha31 แล้ว เวอร์ชัน 1.0.0-alpha31 มีคอมมิตเหล่านี้

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

  • เพิ่ม CameraSelector#filter ลงใน API สาธารณะเพื่อกรองรายการ CameraInfos ตาม CameraSelector (I105d0)

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

  • แก้ไขข้อขัดข้องเมื่อสลับโหมดส่วนขยายอย่างรวดเร็วในอุปกรณ์บางประเภท (Iebbef)

เวอร์ชัน 1.0.0-alpha30

13 ตุลาคม 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha30 และ androidx.camera:camera-view:1.0.0-alpha30 แล้ว เวอร์ชัน 1.0.0-alpha30 มีคอมมิตเหล่านี้

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

  • เพิ่มคำอธิบายประกอบ @RequiresApi(21) ลงในคลาส CameraX ทั้งหมด และลด minSdkVersion จาก AndroidManifest.xml วิธีนี้จะช่วยให้ แกนหลักสำหรับกล้อง เพื่อผสานรวมกับแอปพลิเคชันที่มี minSdkVersion ต่ำกว่า 21 แต่ต้องการใช้เส้นทางโค้ดอย่างมีเงื่อนไข ที่ใช้ API 21 ขึ้นไป สำหรับแอปพลิเคชันใดๆ ที่มี minSdkVersion 21 หรือสูงกว่า คุณไม่ต้องดำเนินการใดๆ สำหรับการเปลี่ยนแปลงนี้ (Ie7f2e, b/200599470)

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

  • แก้ไขปัญหา AbstractMethodError ซึ่งเกิดขึ้นเมื่อเปิดใช้ Proguard (Iae468, b/201177844)

เวอร์ชัน 1.0.0-alpha29

29 กันยายน 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha29 และ androidx.camera:camera-view:1.0.0-alpha29 แล้ว เวอร์ชัน 1.0.0-alpha29 มีคอมมิตเหล่านี้

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

  • เราได้นำคำอธิบายประกอบ ExperimentalUseCaseGroup ออกแล้วเนื่องจาก API ไม่ได้เป็นการทดลองอีกต่อไป (I01ef5)
  • นำ RotationProvider#removeAllListeners() ออก โปรดใช้ RotationProvider#removeListener(...) แทน (Id9d4a)
  • อัปเดตคลาส RotationReceiver: เปลี่ยน set/clear Listener เป็น add/remove/removeAll ลบรูปแบบ setListener ที่ใช้เทรดหลักโดยค่าเริ่มต้น และเพิ่มคำอธิบายประกอบของเมธอด (Ib1669)

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

  • เปลี่ยนชื่อ ExtensionMode#BEAUTY เป็น FACE_RETOUCH เพื่อแสดงสิ่งที่ทำในโหมดส่วนขยายอย่างถูกต้อง (I61f54, b/198515274)
  • แก้ไขปัญหากล้องปิดโดยไม่คาดคิดเมื่อมีการใช้ CameraController และ PreviewView หลายรายการในกิจกรรมเดียว (Ibfd18, b/197539358)

เวอร์ชัน 1.0.0-alpha28

18 สิงหาคม 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha28 และ androidx.camera:camera-view:1.0.0-alpha28 แล้ว เวอร์ชัน 1.0.0-alpha28 มีคอมมิตเหล่านี้

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

  • เราได้นำคำอธิบายประกอบ ExperimentalUseCaseGroupLifecycle ออกแล้วเนื่องจาก API ไม่ได้อยู่ระหว่างการทดลองอีกต่อไป (I17B85)
  • เปลี่ยนโครงสร้างภายใน RotationListener และเปลี่ยนชื่อเป็น RotationProvider และยังคงให้บริการฟีเจอร์เดิมโดยใช้ API ที่แตกต่างกันเล็กน้อย (Idffc5)
  • เปลี่ยนชื่อ TAP_TO_FOCUS_UNSUCCESSFUL เป็น TAP_TO_FOCUS_NOT_FOCUSED และ TAP_TO_FOCUS_SUCCESSFUL เป็น TAP_TO_FOCUS_FOCUSED สร้าง OutputSize ขั้นสุดท้าย (I099fa)

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

  • นำคลาส <EffectName><UseCase>Extender ที่เลิกใช้งานแล้ว, ExtensionsErrorListener และ API ของ ExtensionsManager ที่เกี่ยวข้องออก (I3b8c3)

เวอร์ชัน 1.0.0-alpha27

21 กรกฎาคม 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha27 และ androidx.camera:camera-view:1.0.0-alpha27 แล้ว เวอร์ชัน 1.0.0-alpha27 มีคอมมิตเหล่านี้

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

  • เลื่อนระดับวิวพอร์ต API จากการทดลองแล้ว นำคำอธิบายประกอบเวอร์ชันทดลองของ API ออก (I717ea)
  • เปลี่ยนชื่อ CoordinateTransform#getTransform เป็น CoordinateTransform#transform และอัปเดต JavaDoc (I864ae)

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

  • แก้ปัญหาการขยายโหมด PreviewView PERFORMANCE เมื่อใช้ร่วมกับ Compose UI (Ie1137, b/183864890)

เวอร์ชัน 1.0.0-alpha26

30 มิถุนายน 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha26 และ androidx.camera:camera-view:1.0.0-alpha26 แล้ว เวอร์ชัน 1.0.0-alpha26 มีคอมมิตเหล่านี้

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

  • เพิ่มเมธอดใหม่ CameraController#getTapToFocusState() ที่แสดงผลลัพธ์การแตะเพื่อโฟกัสล่าสุด (Iaccb0)
  • การเพิ่มฟีเจอร์หลักของกล้องลงใน CameraController: Getters/setters สำหรับสัดส่วนภาพเป้าหมาย, ความละเอียดเป้าหมาย, โหมดจับภาพ, CameraControl และโปรแกรมดำเนินการที่กำหนดเอง (Iea8f2)
  • เพิ่มคลาส RotationReceiver ที่ได้รับการเปลี่ยนแปลงการหมุนเวียนของแพลตฟอร์ม ซึ่งสามารถใช้ตั้งค่าการหมุนเป้าหมายเมื่ออุปกรณ์อยู่ในโหมดแนวตั้ง/แนวนอนแบบคงที่ (Ib278f)
  • เปิดเผย API สาธารณะ getestimatedCaptureLatencyRange ใหม่ในคลาส ExtensionsManager (I6a8ec)
  • ExtensionsErrorListener ที่เลิกใช้งาน ปัจจุบันอินเทอร์เฟซนี้ใช้เพื่อตรวจสอบว่าไม่มีตัวอย่างหรือ ImageCapture เมื่อเปิดใช้โหมดส่วนขยายเท่านั้น CameraX จะเพิ่มการแสดงตัวอย่างหรือ ImageCapture เพิ่มเติมโดยอัตโนมัติเพื่อให้ฟังก์ชันของส่วนขยายทำงานได้ดี หลังจากนั้น จะไม่มีการรายงานข้อผิดพลาดผ่านอินเทอร์เฟซนี้ (I47d9e)
  • เปิดเผย ExtensionsManager getInstance, isExtensionavailable และ getExtensionEnabledcameraSelector สาธารณะที่เป็น API สาธารณะและเลิกใช้งานคลาส <EffectName><UseCase>Extender เก่าและ API ที่เกี่ยวข้องแล้ว (I329e6)

เวอร์ชัน 1.0.0-alpha25

2 มิถุนายน 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha25 และ androidx.camera:camera-view:1.0.0-alpha25 แล้ว เวอร์ชัน 1.0.0-alpha25 มีคอมมิตเหล่านี้

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

  • อยู่ระหว่างการทดสอบ API กล้องตัวกรองนี้ไม่ใช่รุ่นทดลอง และกลายเป็น API อย่างเป็นทางการ และสามารถใช้ได้โดยไม่ต้องมีคำอธิบายประกอบการเลือกใช้ (I4bc94)
  • เพิ่มยูทิลิตีที่แปลงพิกัดระหว่างกรณีการใช้งาน ตัวอย่างการใช้งาน: การแปลงพิกัดที่ตรวจพบใน Use Case ของ ImageAnalysis และไฮไลต์ออบเจ็กต์ที่ตรวจพบในตัวอย่าง (I63ab1, b/137515129)
  • นำ CameraView ออกแล้ว CameraView ถูกแทนที่ด้วย CameraController แล้ว โปรดดูคำแนะนำในการย้ายข้อมูลเพื่อดูวิธีย้ายข้อมูล (Id5005)

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

  • แทนที่ ExperimentalUseCaseGroupLifecycle ด้วย ExperimentalUseCaseGroup (I3b2ef, b/159033688)

เวอร์ชัน 1.0.0-alpha24

21 เมษายน 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha24 และ androidx.camera:camera-view:1.0.0-alpha24 แล้ว เวอร์ชัน 1.0.0-alpha24 มีคอมมิตเหล่านี้

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

  • แทนที่คำอธิบายประกอบ @Experimental ด้วย @RequiresOptIn ใน API ทดลองแล้ว สำหรับการเรียก API ทดลอง ให้ใช้ androidx.annotation.OptIn แทน androidx.annotation.experimental.UseExperimental ที่เลิกใช้งานแล้ว (Iff226)
  • แก้ไขปัญหาการแสดงตัวอย่างแบบขยายใน Samsung J5 Prime (Ib10b6)

ส่วนขยายกล้องและ ดูเวอร์ชัน 1.0.0-alpha23

24 มีนาคม 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha23 และ androidx.camera:camera-view:1.0.0-alpha23 แล้ว เวอร์ชัน 1.0.0-alpha23 มีคอมมิตเหล่านี้

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

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

  • ทรัพยากร Dependency ของมุมมองกล้องที่ปักหมุดไว้เพื่อใช้อาร์ติแฟกต์ 1.0.0 ขึ้นอยู่กับมุมมองกล้องจะไม่ทำให้การขึ้นต่อกันของ Gradle อีกต่อไป ความละเอียดเพื่ออัปเกรด Camera-core, Camera-camera2 โดยอัตโนมัติและ ตั้งแต่วงจรชีวิตของกล้องไปจนถึงอาร์ติแฟกต์เวอร์ชัน 1.1.0 เวอร์ชันล่าสุด แม้ว่ามุมมองกล้องจะเป็น ยังคงใช้งานร่วมกับอาร์ติแฟกต์เหล่านั้นได้หากมีการตั้งค่าให้ใช้อย่างชัดเจน 1.1.0 (Ic8fa1, b/181599852)
  • แก้ไขการแสดงตัวอย่าง Samsung A3 แบบยืดใน PreviewView (Iacb30, b/180121821)
  • แก้ปัญหาในกรณีที่ไม่สามารถตั้งค่าตัวเลือกกล้องก่อนเริ่มกล้องถ่ายรูป (Ic8bd0)

ส่วนขยายกล้องและ ดูเวอร์ชัน 1.0.0-alpha22

24 กุมภาพันธ์ 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha22 และ androidx.camera:camera-view:1.0.0-alpha22 แล้ว เวอร์ชัน 1.0.0-alpha22 มีคอมมิตเหล่านี้

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

  • เพิ่ม Getter CameraInfo ไปยัง CameraController (Ib8138, b/178251727)

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

  • แก้ไข ExtensionsErrorListener เพื่อรายงานข้อผิดพลาดเมื่อมีการเชื่อมโยงเฉพาะ Preview หรือ ImageCapture เท่านั้น (I5ae39)

ส่วนขยายกล้องและ ดูเวอร์ชัน 1.0.0-alpha21

27 มกราคม 2021

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha21 และ androidx.camera:camera-view:1.0.0-alpha21 แล้ว เวอร์ชัน 1.0.0-alpha21 มีคอมมิตเหล่านี้

กำลังเปิดตัวเพื่อรองรับอาร์ติแฟกต์อื่นๆ ในไลบรารีของกล้อง

ส่วนขยายกล้องและ ดูเวอร์ชัน 1.0.0-alpha20

16 ธันวาคม 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha20 และ androidx.camera:camera-view:1.0.0-alpha20 แล้ว เวอร์ชัน 1.0.0-alpha20 มีคอมมิตเหล่านี้

กำลังเปิดตัวเพื่อรองรับอาร์ติแฟกต์อื่นๆ ในไลบรารีของกล้อง

ส่วนขยายกล้องและ Camera-View เวอร์ชัน 1.0.0-alpha19

11 พฤศจิกายน 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha19 และ androidx.camera:camera-view:1.0.0-alpha19 แล้ว เวอร์ชัน 1.0.0-alpha19 มีคอมมิตเหล่านี้

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

  • เปิดตัวคำอธิบายประกอบ @ExperimentalVideo สำหรับมุมมองกล้อง คำอธิบายประกอบนี้จะทำเครื่องหมาย API ที่แสดงฟังก์ชันการทำงานของวิดีโอทดลอง ซึ่งอาจมีการเปลี่ยนแปลงเนื่องจากฟีเจอร์ ได้รับการพัฒนาอย่างเต็มรูปแบบ ช่วง ที่ใช้ API เหล่านี้ควรใช้คำอธิบายประกอบ @UseExperimental โดยมี ExperimentalVideo เป็น markerClass (I6d729)

ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha18

14 ตุลาคม 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha18 แล้ว เวอร์ชัน 1.0.0-alpha18 มีคอมมิตเหล่านี้

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

  • ปรับปรุงเวลาในการตอบสนองของการเริ่มต้น CameraX และ bindToLifecycle (I61dc5)
  • <UseCase>.getTargetRotation() จะส่งคืน Surface.ROTATION_0 หากเรียกใช้ก่อนแนบกับอินสแตนซ์กล้องถ่ายรูป เว้นแต่ว่า มีการตั้งค่า targetRotation ใน Builder หรือ UseCase (I80fcd)

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

14 ตุลาคม 2020

ปล่อย androidx.camera:camera-view:1.0.0-alpha18 แล้ว เวอร์ชัน 1.0.0-alpha18 มีคอมมิตเหล่านี้

กำลังเปิดตัวเพื่อรองรับอาร์ติแฟกต์อื่นๆ ในไลบรารีของกล้อง

ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha17

23 กันยายน 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha17 แล้ว เวอร์ชัน 1.0.0-alpha17 มีคอมมิตเหล่านี้

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

Camera-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 วิธีมีไว้สําหรับการปรับแต่งการหมุนตัวอย่าง เมื่อการหมุนที่ต้องการไม่ใช่การหมุนจอแสดงผล เช่น จอแสดงผลระยะไกล หากต้องการใช้การหมุนตัวอย่างแบบไม่แสดงผลตอนนี้ ให้ตั้งค่าการหมุนที่ต้องการด้วย Preview#setTargetRotation() และ PreviewView#getViewPort(targetRotation) ที่เพิ่มเข้ามาใหม่ (Ib62cc)
  • เปลี่ยนชื่อ createSurfaceProvider() เป็น getSurfaceProvider() แล้ว วิธีนี้จะแสดงอินสแตนซ์ของ Preview.SurfaceProvider เดียวกันเสมอ (Iff83c)

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

  • บังคับให้ PreviewView ใช้ TextureView หากเปิดใช้เอฟเฟกต์ส่วนขยาย และการใช้งานไลบรารีของผู้ให้บริการต้องทำกระบวนการพิเศษบนพื้นผิวเอาต์พุต (I0c3cc)
  • อนุญาตการหมุนเวียนเป้าหมายที่กำหนดเองสำหรับการแสดงตัวอย่าง ระบบจะคํานวณข้อมูลการเปลี่ยนรูปแบบและส่งคืนให้กับผู้ใช้ในทันทีผ่าน Callback TranformationInfoListener ใหม่ (I21470)

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

  • ใน PreviewView ระบบจะไม่เรียกใช้ OnClickListener#onClick() เมื่อผู้ใช้ปลายทางคลิก PreviewView เหตุการณ์การสัมผัสถูกใช้งานอย่างไม่ถูกต้องโดย PreviewView#onTouchEvent() ปัญหาจะได้รับการแก้ไขในรุ่นถัดไป
  • MeteringPoint ที่ได้รับจาก PreviewView#getMeteringPointFactory() อาจไม่ถูกต้องหากใช้ ViewPort กับ PreviewView

ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha15

19 สิงหาคม 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha15 แล้ว เวอร์ชัน 1.0.0-alpha15 มีคอมมิตเหล่านี้

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

  • ตอนนี้เมธอด ExtensionsManager.init() จะใช้ บริบทเป็นพารามิเตอร์ แทนที่จะมีอาร์กิวเมนต์ 0 (Ife754)
  • การเริ่มต้นไม่ควรมีข้อขัดข้องอีกต่อไปเมื่อใช้บริบท ที่ไม่แสดงผลออบเจ็กต์ Application จาก Context.getApplicationContext() (I3d3c9, b/160817073)

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

    19 สิงหาคม 2020

ปล่อย androidx.camera:camera-view:1.0.0-alpha15 แล้ว เวอร์ชัน 1.0.0-alpha15 มีคอมมิตเหล่านี้

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

  • DisplayOrientedMeteringPointFactory ทำประตูได้ใน CameraInfo แทน CameraSelector เพื่อให้มีการแมปโดยตรงกับ กล้องที่โรงงานจะสร้างคะแนนให้ ชั้นเรียนทั้งหมด ที่ใช้ DisplayOrientedMeteringPointFactory ยังจะประมวลผล CameraInfo ด้วย แทน CameraSelector (I400c1)
  • นำ TextureViewMeteringPointFactory ออกแล้ว PreviewView มี API สาธารณะ (createMeteringPointFactory()) เพื่อสร้างโรงงานสำหรับจุดตรวจสอบการใช้งาน ไม่ว่าจะใช้ TextureView หรือ SurfaceView (Ide693)
  • เปลี่ยนชื่อโหมดการใช้งาน SURFACE_VIEW/TEXTURE_VIEW ของ PreviewView เป็น PERFORMANCE/COMPATIBLE PERFORMANCE คือโหมด SURFACE_VIEW แบบเก่า และ COMPATIBLE คือโหมด TEXTURE_VIEW แบบเก่า (I0edc2)
  • สำหรับการจับภาพ ให้เขียนทับธงแนวนอนที่พลิกกลับในข้อมูลเมตาโดยอิงตามทิศทางของกล้อง (I28499)

ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha14

22 กรกฎาคม 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha14 แล้ว เวอร์ชัน 1.0.0-alpha14 มีคอมมิตเหล่านี้

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

22 กรกฎาคม 2020

ปล่อย androidx.camera:camera-view:1.0.0-alpha14 แล้ว เวอร์ชัน 1.0.0-alpha14 มีคอมมิตเหล่านี้

ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha13

24 มิถุนายน 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha13 แล้ว เวอร์ชัน 1.0.0-alpha13 มีคอมมิตเหล่านี้

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

  • เพิ่มอินเทอร์เฟซทดลองสำหรับการกรองกล้องตามกล้อง ID และลักษณะกล้อง (I28f61)

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

24 มิถุนายน 2020

ปล่อย androidx.camera:camera-view:1.0.0-alpha13 แล้ว เวอร์ชัน 1.0.0-alpha13 มีคอมมิตเหล่านี้

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

  • CameraView ไม่มีข้อขัดข้องเนื่องจาก IllegalArgumentException อีกต่อไป เมื่อเชื่อมโยงกับ LifecycleOwner ที่วงจรจะเปลี่ยนเป็น "DESTROYED" หลังจากเข้าผูกพันไม่นาน การเชื่อมโยงวงจรอยู่ในสถานะ "ทำลายแล้ว" จะไม่พยายามเปิดกล้อง (I7c2b8)
  • ขณะนี้ PreviewView StreamState ใช้งานได้แล้วผ่าน CameraView.getPreviewStreamState() (I21a2b)

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

10 มิถุนายน 2020

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

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

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

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

10 มิถุนายน 2020

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

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

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

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

27 พฤษภาคม 2020

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

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

10 มิถุนายน 2020

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

ฟีเจอร์ใหม่

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

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

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

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

27 พฤษภาคม 2020

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

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

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

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

  • แก้ปัญหาภาพตัวอย่างบิดเบี้ยวในกล้อง FULL/LIMITED/LEVEL_3 ตัวที่ใช้ Android 7.0 และต่ำกว่า บังคับให้ใช้โหมด ImplementationMode#TEXTURE_VIEW เมื่อเวอร์ชัน Android ไม่เกิน 7.0 (I83e30, b/155085307)
  • นำพารามิเตอร์ CameraInfo ออกจาก PreviewView#createSurfaceProvider() แล้ว PreviewView จะดึงข้อมูลพารามิเตอร์จาก SurfaceRequest เป็นการภายใน (If18f0, b/154652477)
  • แก้ไขสัดส่วนภาพเริ่มต้นของ VideoCapture เป็น 16:9 ใน CameraView (Ie6a7b, b/153237864)
  • แก้ไขปัญหาหน้าจอดำ PreviewView รายการเมื่อเลื่อนส่วน Preview ออก แล้วเลื่อนกลับใน ViewPager2 รวมถึงแก้ไขปัญหาเมื่อ removeView(previewview) จากนั้น addView(previewView) (Iab555, b/149877652, b/147354615)
  • อัปเดต CameraView#takePicture() API เพื่ออนุญาตให้บันทึกรูปภาพไปยัง Uri และ OutputStream อัปเดตแอปทดสอบเพื่อใช้ Uri เป็นตัวอย่าง Canonical (Ia2459, b/153607583)
  • คุณตั้งค่าประเภทการปรับขนาดของ PreviewView จากเลย์เอาต์ XML ได้โดยการตั้งค่าแอตทริบิวต์ ScaleType (I08565, b/153015659)
  • นำ CameraView.ScaleType ออกแล้ว แต่ให้ใช้ PreviewView.ScaleType เพื่อตั้งค่า/รับประเภทการปรับขนาดด้วย CameraView แทน (Ia8974, b/153014831)
  • กำหนดสีพื้นหลังให้กับ PreviewView โดยค่าเริ่มต้นหากยังไม่มี เพื่อป้องกันไม่ให้เนื้อหาเบื้องหลังปรากฏก่อนที่สตรีมตัวอย่างจะเริ่มต้น (I09fad)

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

15 เมษายน 2020

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

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

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

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

15 เมษายน 2020

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

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

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

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

1 เมษายน 2020

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

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

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

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

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

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

  • การใช้ ImplementationMode.SURFACE_VIEW กับ PreviewView อาจทำงานได้ไม่ดีในอุปกรณ์บางเครื่อง เนื่องจาก SurfaceView ที่ใช้สำหรับการแสดงตัวอย่างจะทำให้แพลตฟอร์มใช้งานไม่ได้เมื่อวงจรการใช้งานของหน้าต่างที่มีการรีสตาร์ท เมื่อรีสตาร์ท กล้องจะเปิดขึ้นใหม่และอาจพยายามแสดงตัวอย่างต่อก่อนที่แพลตฟอร์มของ SurfaceView จะใช้งานได้อีกครั้ง และตอนนี้คุณควรใช้ ImplementationMode.TEXTURE_VIEW

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

  • เปลี่ยนชื่อ PreviewView.setImplementationMode() เป็น PreviewView.setPreferredImplementationMode() แล้ว
  • เปลี่ยนชื่อ PreviewView.getImplementationMode() เป็น PreviewView.getPreferredImplementationMode() แล้ว
  • แทนที่ PreviewView.getSurfaceProvider() ด้วย PreviewView.createSurfaceProvider(CameraInfo) แล้ว ซึ่งจะนำอินสแตนซ์ CameraInfo ที่เป็นค่าว่างซึ่งใช้ในการเพิ่มประสิทธิภาพการแสดงตัวอย่างโดยใช้ ImplementationMode.SURFACE_VIEW เมื่อใดก็ตามที่เป็นไปได้ หากอินสแตนซ์ Null ถูกส่งผ่าน หรือหากคุณตั้งค่าโหมดการใช้งานที่ต้องการเป็น ImplementationMode.TEXTURE_VIEW ระบบจะใช้ ImplementationMode.TEXTURE_VIEW ภายใน
  • ตัวอย่างโค้ดต่อไปนี้แสดงให้เห็นว่า Use Case สำหรับตัวอย่างใช้งานกับ PreviewView ก่อนหน้านี้อย่างไร

    preview.setSurfaceProvider(previewView.previewSurfaceProvider)
    cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    

    ในตอนนี้คุณสามารถเขียนสิ่งต่อไปนี้ได้

    val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW
    preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
    
  • เพิ่มคำอธิบายประกอบ @UiThread ไปยัง PreviewView.getSurfaceProvider() แล้ว ซึ่งหมายความว่าคำอธิบายประกอบดังกล่าวต้องเรียกใช้จากเทรดหลัก (I192f3)

  • เพิ่ม PreviewView.setScaleType() แล้ว ซึ่งช่วยให้ตั้งค่าประเภทการปรับขนาดของตัวอย่างได้ ยอมรับค่าใดค่าหนึ่งใน PreviewView.ScaleType และมีค่าเริ่มต้นเป็น PreviewView.ScaleType.FILL_CENTER

  • เพิ่ม PreviewView.getScaleType() แล้ว

  • ยกเลิกการสนับสนุนสำหรับการตั้งค่าโหมดการใช้งานสำหรับ PreviewView ในเลย์เอาต์ XML โดยใช้แอตทริบิวต์ implementationMode

  • เพิ่ม createMeteringPointFactory() API ไปยัง PreviewView เพื่อรองรับการแปลง (x, y) ใน PreviewView เป็น MeteringPoint (Ib36d7)

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

  • แก้ไขกรณีที่แสดงตัวอย่างที่ไม่ถูกต้องหลังจากมีการเปลี่ยนแปลงขนาดของ PreviewView (I71101)

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

26 กุมภาพันธ์ 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha08 แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตเหล่านี้

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

26 กุมภาพันธ์ 2020

ปล่อย androidx.camera:camera-view:1.0.0-alpha08 แล้ว เวอร์ชัน 1.0.0-alpha08 มีคอมมิตเหล่านี้

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

  • แทนที่ ListenableFuture เมื่อวันที่ SurfaceRequest.provideSurface() ที่มี Executor และ Callback ช่วงเวลานี้ ทำให้ API ง่ายขึ้นโดยไม่ต้องจัดการข้อยกเว้นอีกต่อไป provideSurface() และบังคับให้ provideSurface() Callback ไม่สามารถ ถูกยกเลิก เพื่อป้องกันการขัดข้องในอุปกรณ์รุ่นเก่าที่เกิดจาก การปล่อยพื้นผิวก่อนกำหนด มีการใช้ออบเจ็กต์ SurfaceRequest.Result แล้ว สำหรับการติดตามวิธีที่ SurfaceRequest ใช้ Surface ที่ระบุ (I7854B)
  • เปลี่ยนชื่อ SurfaceRequest.setSurface(Surface) เป็น SurfaceRequest.provideSurface(Surface) และ SurfaceRequest.setWillNotComplete() ถึง SurfaceRequest.willNotProvideSurface() (I224fe)
  • แก้ไขการเริ่มต้นตัวแปรของแอปที่เปิดใช้ ProGuard โดยเก็บ แฟล็กที่กำหนดผู้ให้บริการ CameraXConfig เริ่มต้น (I2d6c1)

ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha07

10 กุมภาพันธ์ 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha07 แล้ว เวอร์ชัน 1.0.0-alpha07 มีคอมมิตเหล่านี้

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

  • อาร์กิวเมนต์ที่ส่งผ่านก่อนหน้านี้ใน ImageCapture.OnImageSavedCallback.onError() และ ImageCapture.OnImageCapturedCallback.onError() ถูกแทนที่ด้วยอาร์กิวเมนต์เดียว ImageCaptureException ซึ่งยังคงมีข้อมูลทั้งหมดที่ถูกส่งผ่านก่อนหน้านี้
  • นำอาร์กิวเมนต์ไฟล์ที่ส่งผ่านใน ImageCapture.OnImageSavedCallback.onImageSaved() ก่อนหน้านี้ออกแล้ว (I750d2)

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

10 กุมภาพันธ์ 2020

ปล่อย androidx.camera:camera-view:1.0.0-alpha07 แล้ว เวอร์ชัน 1.0.0-alpha07 มีคอมมิตเหล่านี้

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

  • ตอนนี้การใช้งาน TextureView ของ PreviewView จะกำหนดขนาดของ TextureView เป็นขนาดเอาต์พุตเซ็นเซอร์ของกล้องก่อนปรับขนาดให้เต็ม PreviewView ระดับบน หากคุณต้องการให้ตัวอย่างจากกล้องแสดงเต็มส่วนของ UI (เช่น ทั้งหน้าจอ) คุณไม่ควรกำหนดขนาดของ PreviewView เป็นค่าคงที่ หรือทำให้รวมเนื้อหาไว้ (โดยใช้แอตทริบิวต์ "wrap_content") ซึ่งอาจส่งผลให้การแสดงตัวอย่างจากกล้องเติมเพียงบางส่วนของ PreviewView (หากขนาดเอาต์พุตเซ็นเซอร์ของกล้องเล็กกว่า) คุณควรตั้งค่า PreviewView ให้ใหญ่ที่สุดแทน (เช่น โดยใช้แอตทริบิวต์ "match_parent") (1204869)

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

  • อัปเดต ImageCapture เพื่ออนุญาตให้บันทึกรูปภาพไปยัง Uri และ OutputStream แล้ว รวมเมธอด takePicture ที่มีการดำเนินการมากเกินไปเป็นรายการเดียว อัปเดตแอปทดสอบเพื่อใช้ Uri เป็นตัวอย่าง Canonical (Ia3bec)
  • เปลี่ยนชื่อ Preview.PreviewSurfaceProvider เป็น Preview.SurfaceProvider แล้ว SurfaceProvider ไม่ได้กำหนดให้นักพัฒนาแอปสร้าง ListenableFuture ของตนเองอีกต่อไป และตอนนี้การระบุ Surface จะทำได้ผ่านออบเจ็กต์ SurfaceRequest ใหม่ ระบบนำเมธอด Preview.getPreviewSurfaceProvider() ออกแล้วเนื่องจากอาจมีการใช้ในทางที่ผิดเมื่อจับคู่ Preview กับคลาสอื่นๆ เช่น PreviewView (I20105)
  • อาร์กิวเมนต์ที่ส่งผ่านก่อนหน้านี้ใน ImageCapture.OnImageSavedCallback.onError() และ ImageCapture.OnImageCapturedCallback.onError() ถูกแทนที่ด้วยอาร์กิวเมนต์เดียว ImageCaptureException ซึ่งยังคงมีข้อมูลทั้งหมดที่ถูกส่งผ่านก่อนหน้านี้
  • นำอาร์กิวเมนต์ไฟล์ที่ส่งผ่านใน ImageCapture.OnImageSavedCallback.onImageSaved() ก่อนหน้านี้ออกแล้ว (I750d2)
  • อัปเดต API แล้ว โดยใช้เมธอด getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() และ getLinearZoom() สำหรับ CameraInfo ที่ผสานเข้ากับ getZoomState() ซึ่งแสดงผลอินสแตนซ์ ZoomState (Ib19fe)

ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha06

22 มกราคม 2020

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha06 แล้ว เวอร์ชัน 1.0.0-alpha06 มีคอมมิตเหล่านี้

อัปเดต

  • การแก้ไขและอัปเดตต่างๆ เพื่อรองรับ Camera Core และ มีการเปลี่ยนแปลงในกล้อง 2

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

22 มกราคม 2020

ปล่อย androidx.camera:camera-view:1.0.0-alpha06 แล้ว เวอร์ชัน 1.0.0-alpha06 มีคอมมิตเหล่านี้

อัปเดต

  • การแก้ไขและอัปเดตต่างๆ เพื่อรองรับ Camera Core และ มีการเปลี่ยนแปลงในกล้อง 2

ส่วนขยายกล้องถ่ายรูปเวอร์ชัน 1.0.0-alpha05

18 ธันวาคม 2019

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha05 แล้ว เวอร์ชัน 1.0.0-alpha05 มีคอมมิตเหล่านี้

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

  • อัปเดตให้ตรงกับ Camera Core API ภายในแล้ว

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

18 ธันวาคม 2019

ปล่อย androidx.camera:camera-view:1.0.0-alpha05 แล้ว เวอร์ชัน 1.0.0-alpha05 มีคอมมิตเหล่านี้

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

  • สัดส่วนภาพอาจไม่ถูกต้องเมื่อใช้ PreviewView (b/146215202)

ฟีเจอร์ใหม่

  • ใช้คลาสใหม่ชื่อ PreviewView.TextureViewImplementation ที่ซิงค์วงจรของ SurfaceTexture กับการใช้งานพื้นผิวของ TextureView ของกล้อง

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

4 ธันวาคม 2019

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha04 แล้ว เวอร์ชัน 1.0.0-alpha04 ของส่วนขยายกล้องมีคอมมิตเหล่านี้

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

  • ตอนนี้การตรวจสอบความพร้อมใช้งานและการเปิดใช้ส่วนขยายจะใช้ CameraSelector เป็นพารามิเตอร์อินพุต โดยต้องเป็น CameraSelector เดียวกับที่ใช้เชื่อมโยง Use Case

    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 เพื่อให้เชื่อมต่อ Use Case ของตัวอย่างได้อย่างง่ายดาย

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • ตอนนี้ "ZoomLevel" เปลี่ยนเป็น "ZoomRatio" ในการตั้งชื่อ API

  • พารามิเตอร์เมธอดบางอย่างมีการเปลี่ยนแปลงค่า Nullability

ส่วนขยายกล้องถ่ายรูปและมุมมองกล้องเวอร์ชัน 1.0.0-alpha03

9 ตุลาคม 2019

ปล่อย androidx.camera:camera-extensions:1.0.0-alpha03 และ androidx.camera:camera-view:1.0.0-alpha03 แล้ว นี่คือสัญญาผูกมัดที่รวมอยู่ใน camera-extensions:1.0.0-alpha03 และสัญญาผูกมัดที่รวมอยู่ใน camera-view:1.0.0-alpha03

ฟีเจอร์ใหม่

  • เพิ่มการเริ่มต้นบริบทสำหรับส่วนขยายแล้ว เวอร์ชันของส่วนขยายเพิ่มขึ้นเป็น 1.1.0

ส่วนขยายกล้องถ่ายรูปและมุมมองกล้องเวอร์ชัน 1.0.0-alpha02

5 กันยายน 2019

androidx.camera:camera-extensions:1.0.0-alpha02 และ ปล่อย androidx.camera:camera-view:1.0.0-alpha02 แล้ว ต่อไปนี้คือ คอมมิตที่รวมอยู่ในส่วนขยายกล้อง:1.0.0-alpha02 และรายการเหล่านี้คือสัญญาผูกมัดรวมถึง Camera-view:1.0.0-alpha02

  • เพิ่มการทดสอบเพื่อยืนยันว่า PreviewImageProcessorImpl ได้ใช้งานอย่างถูกต้อง ของคุณ
  • แก้ไขความล้มเหลวในการทดสอบ ExtensionTest ใน Nexus 5 (API ระดับ 21) และตรวจดูการแสดงตัวอย่าง พร้อมใช้งาน

ส่วนขยายกล้องถ่ายรูปและมุมมองกล้องเวอร์ชัน 1.0.0-alpha01

7 สิงหาคม 2019

androidx.camera:camera-extensions:1.0.0-alpha01 และ ปล่อย androidx.camera:camera-view:1.0.0-alpha01 แล้ว ต่อไปนี้คือ คอมมิตที่รวมอยู่ในส่วนขยายกล้อง:1.0.0-alpha01 และรายการเหล่านี้คือสัญญาผูกมัดรวมถึง มุมมองกล้อง:1.0.0-alpha01

  • คลังใหม่สำหรับส่วนขยายกล้องในอนาคตสำหรับการเข้าถึงเอฟเฟกต์ในอุปกรณ์ที่รองรับ คลังนี้ยังอยู่ระหว่างการพัฒนา
  • ชั้นเรียนมุมมองกล้องใหม่ คลังนี้ยังอยู่ระหว่างการพัฒนา