CameraX

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

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

อาร์ติแฟกต์ รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
camera-camera2 1.4.1 - - 1.5.0-alpha04
camera-core 1.4.1 - - 1.5.0-alpha04
camera-compose - - - 1.5.0-alpha04
camera-effects 1.4.1 - - 1.5.0-alpha04
camera-extensions 1.4.1 - - 1.5.0-alpha04
camera-feature-combination-query - - - 1.5.0-alpha04
camera-feature-combination-query-play-services - - - 1.5.0-alpha04
camera-lifecycle 1.4.1 - - 1.5.0-alpha04
camera-mlkit-vision 1.4.1 - - 1.5.0-alpha04
camera-view 1.4.1 - - 1.5.0-alpha04
camera-viewfinder - - 1.3.0-beta02 1.4.0-alpha07
camera-video 1.4.1 - - 1.5.0-alpha04
ไลบรารีนี้อัปเดตล่าสุดเมื่อวันที่ 11 ธันวาคม 2024

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

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

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

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

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

Groovy

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

Kotlin

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

ความคิดเห็น

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

สร้างปัญหาใหม่

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

การจัดองค์ประกอบในช่องมองภาพของกล้องเวอร์ชัน 1.0

เวอร์ชัน 1.0.0-alpha02

12 มิถุนายน 2024

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

เวอร์ชัน 1.0.0-alpha01

14 พฤษภาคม 2024

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

ฟีเจอร์ใหม่

  • ไลบรารีใหม่ ไลบรารีนี้เปิดตัวคอมโพสิชันช่องมองภาพแบบเนทีฟของ Compose ซึ่งสามารถใช้กับ 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

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

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

เวอร์ชัน 1.5.0-alpha04

11 ธันวาคม 2024

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

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

  • เปิดเผย ImageCapture.Builder#setOutputFormat และ ImageCaptureCapabilities#getSupportedOutputFormats เป็น API ที่เสถียร (Ieb04a)
  • เพิ่ม VideoCapture.getResolutionInfo() เพื่อดูข้อมูลการแก้ปัญหาเมื่อ VideoCapture เชื่อมโยงกับวงจรของลูกค้า (Icb478)
  • เปิดเผย PreviewView.getScreenFlash และ PreviewView.setScreenFlashOverlayColor เป็น API ที่เสถียร (I74fee)

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

  • แก้ปัญหาการจับภาพไม่สำเร็จในอุปกรณ์ Vivo 1610 ขณะถ่ายภาพโดยใช้แฟลชในที่มืด (I366f4)
  • แก้ไขไฟฉายที่ปิดโดยไม่คาดคิดหลังจากถ่ายภาพใน Redmi Note 6 Pro (I2e0e8, b/377144569)
  • แก้ปัญหาในอุปกรณ์ Pixel Android 15 ที่โหมดกลางคืนในส่วนขยายจับภาพนิ่งไม่ได้จนกว่ากล้องจะโฟกัสวัตถุที่อยู่ใกล้เคียง (I228d4)
  • แก้ไขปัญหาการจับภาพนิ่งทำงานผิดปกติเมื่อเปิดใช้ส่วนขยายและ VideoCapture เชื่อมโยงกัน (I5c745)
  • เปิดใช้UltraHDRการรองรับการจับภาพนิ่งสำหรับส่วนขยาย หากอุปกรณ์รองรับ (I48300)
  • แก้ไขปัญหาเวลาแฟลชสำหรับการจับภาพด้วยแฟลชที่มีCameraEffectการกำหนดเป้าหมายการจับภาพในอุปกรณ์ TCL (I7698c)

เวอร์ชัน 1.5.0-alpha03

30 ตุลาคม 2024

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

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

  • เพิ่ม API รูปแบบเอาต์พุตสำหรับ RAW และ RAW + JPEG ImageCapture การตรวจสอบความสามารถของอุปกรณ์จะแสดงใน ImageCaptureCapabilities#getSupportedOutputFormats OUTPUT_FORMAT_RAW คือการจับภาพ RAW ซึ่งเป็นรูปแบบ Adobe DNG และ OUTPUT_FORMAT_RAW_JPEG คือการจับภาพ RAW และ JPEG พร้อมกัน ImageCapture#takePicture API ใหม่ใช้สำหรับการจับภาพพร้อมกัน โดยจะต้องระบุ OutputFileOptions 2 รายการ รายการแรกสำหรับรูปภาพ RAW และรายการที่ 2 สำหรับรูปภาพ JPEG (Ib0f3d)

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

  • แก้ไขปัญหาการพรีวิวและวิดีโอที่แสงน้อยในอุปกรณ์ TCL เมื่อเปิดใช้ VideoCapture (Id7a64)
  • แก้ไขปัญหาที่การเรียกใช้ startFocusMetering ด้วย PreviewView.getMeteringPointFactory ไม่ได้รับพิกัดเซ็นเซอร์ที่ถูกต้องเมื่อเปิดใช้เอฟเฟกต์หรือเมื่อมีการเชื่อมโยง Use Case 4 รายการ (การแชร์สตรีม) (I916c5, b/345993685)
  • แก้ไขเหตุการณ์ VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE ไม่ทริกเกอร์เมื่อบันทึกวิดีโอและมีพื้นที่เก็บข้อมูลไม่เพียงพอ (I35779, b/356399842)

เวอร์ชัน 1.5.0-alpha02

2 ตุลาคม 2024

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

ฟีเจอร์ใหม่

  • API ใหม่สําหรับการค้นหาฟีเจอร์กล้องที่อุปกรณ์รองรับ เช่น การตรวจสอบว่าเปิดใช้ HDR และ 60FPS ได้พร้อมกันหรือไม่ ซึ่งประกอบด้วยรายการต่อไปนี้ 2 รายการ ได้แก่ camera-feature-combination-query และ camera-feature-combination-query-play-services นี่เป็น CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported API ของ camera2 เวอร์ชันที่เข้ากันได้ซึ่งมีข้อมูลเพิ่มเติมจากบริการ Google Play

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

  • แก้ไขปัญหาอัตราเฟรมเป้าหมาย Preview/VideoCapture ในอุปกรณ์ระดับเดิม ระบบจะเขียนทับอัตราเฟรมเป้าหมายที่ตั้งค่าไว้ผ่าน setTargetFrameRate หรือ Camera2Interop API เป็นค่าที่ AeFpsRangeLegacyQuirk ระบุไว้เสมอ การแก้ไขนี้จะทําให้ไลบรารี CameraX ยึดตามค่าที่ตั้งไว้ผ่าน setTargetFrameRate หรือ Camera2Interop API (Ie2d32)
  • เพิ่มฟังก์ชันแฟลช/ไฟฉาย/3A สำหรับการจับภาพด้วย CameraEffect ตอนนี้รูปภาพที่จับภาพด้วย CameraEffect ควรมีการประมวลผลก่อนและหลังการจับภาพ (เช่น การทำงานของแฟลช การรวม 3A ฯลฯ เมื่อมี) เหมือนกับรูปภาพที่จับภาพโดยไม่มี CameraEffect (I5ff30)
  • ขนาดเอาต์พุตที่มีปัญหาซึ่งยกเว้นสำหรับ ImageAnalysis ในอุปกรณ์ Samsung SM-A057G เมื่อ ImageAnalysis ใช้ความละเอียดที่ใหญ่กว่าหรือเท่ากับ 1920x1440 จะทำให้เกิดปัญหาการแสดงตัวอย่างเป็นสีดํา ใช้ ExcludedSupportedSizesQuirk ในอุปกรณ์ SM-A057G เพื่อหลีกเลี่ยงปัญหา (I63dfe, b/365877975)
  • แก้ไขปัญหาอัตราเฟรมเป้าหมาย Preview/VideoCapture เมื่อเปิดใช้กลไกการแชร์สตรีมภายในเพื่อแชร์สตรีมกับ Preview และ VideoCapture (I4fdac)
  • เปิดใช้วิธีแก้ปัญหาเพื่อแก้ไขปัญหาข้อมูลเมตาของรูปภาพ JPEG ไม่ถูกต้องในอุปกรณ์ Samsung S10e และ S10+ การแก้ไขนี้ช่วยให้ CameraX บันทึกรูปภาพ JPEG ได้สําเร็จ หรือระบบจะแสดงผลออบเจ็กต์ Bitmap ที่ถูกต้องเมื่อเรียกใช้ฟังก์ชัน ImageProxy.toBitmap() ในอุปกรณ์เหล่านี้หากเกิดปัญหาข้อมูลเมตารูปภาพ JPEG ไม่ถูกต้อง (Iae493, b/356428987)
  • ปิดใช้ส่วนขยายสำหรับกล้องหลังของ Samsung A52s ที่มีรหัส 0 เนื่องจากอาจเกิดข้อขัดข้องแบบเนทีฟเมื่อจับภาพ HDR และการกำหนดค่าเซสชันการจับภาพอาจไม่สำเร็จสำหรับโหมด BOKEH หรือ FACE_RETOUCH (I03ec9, b/364152642)
  • แก้ไขเหตุการณ์ VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE ไม่ทริกเกอร์เมื่อบันทึกวิดีโอและมีพื้นที่เก็บข้อมูลไม่เพียงพอ (Ia5b4f, b/356399842)
  • แก้ปัญหาที่การบันทึกวิดีโอครั้งที่ 2 ไม่สำเร็จใน Oppo A5 (CPH1931) (I181d6)

เวอร์ชัน 1.5.0-alpha01

4 กันยายน 2024

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

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

  • ระบุ API เพื่อตั้งค่าการจัดองค์ประกอบสำหรับการจับภาพวิดีโอจากกล้อง 2 ตัวพร้อมกัน การตั้งค่าประกอบด้วยค่าอัลฟ่าสำหรับการผสมผสาน ระยะห่างในพิกัด x, y สเกลของความกว้างและความสูงของหน้าต่างแสดงเฟรมกล้อง ออฟเซต ความกว้าง และความสูงจะระบุเป็นพิกัดอุปกรณ์ที่แปลงเป็นมาตรฐาน (Ia2b8a)
  • เปิดเผย CameraProvider.getCameraInfo เป็น API อย่างเป็นทางการ (I901cd)
  • เพิ่ม API PendingRecording.withAudioEnabled(boolean initialMuted) เพื่อควบคุมสถานะการปิดเสียงเริ่มต้น (I635c3, b/354829267)

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

  • แก้ไขข้อขัดข้องเมื่อเรียกใช้ bindToLifecycle ด้วย LifecycleOwner ที่ทำลายแล้ว (I6e6d8)
  • แก้ไขการแสดงตัวอย่างเป็นหน้าจอสีดําในกล้องหน้าขณะลิงก์กับ VideoCapture ใน Motorola Edge 20 Fusion (I1fe88)
  • เพิ่มประสิทธิภาพการกำหนดค่าสำหรับการตรวจจับท่าทางสัมผัสการซูมใน PreviewView เพื่อปรับปรุงความลื่นไหล (I04ffc)

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

เวอร์ชัน 1.4.1

11 ธันวาคม 2024

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

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

  • แก้ปัญหาในอุปกรณ์ Pixel Android 15 ที่โหมดกลางคืนในส่วนขยายจับภาพนิ่งไม่ได้จนกว่ากล้องจะโฟกัสวัตถุที่อยู่ใกล้เคียง (I228d4)
  • แก้ไขปัญหาการทำงานผิดปกติของ ImageCapture#takePicture เมื่อเปิดใช้ส่วนขยายและ VideoCapture เชื่อมโยงกัน (I5c745)

เวอร์ชัน 1.4.0

30 ตุลาคม 2024

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

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

CameraX 1.4.0 เต็มไปด้วยการอัปเดตที่น่าตื่นเต้น นี่คือข้อมูลสรุป:

ฟีเจอร์บรรทัดแรก: HDR 10 บิต

  • ถ่ายภาพและวิดีโอ HDR ที่น่าทึ่งได้อย่างง่ายดาย
  • รองรับการเข้ารหัส HLG และ HEVC 10 บิต
  • เพลิดเพลินกับตัวอย่าง HDR 10 บิตและตรวจสอบความสามารถของอุปกรณ์
  • ใช้งานได้กับรูปภาพ UltraHDR และวิดีโอ HDR ในอุปกรณ์ที่หลากหลายมากขึ้นเรื่อยๆ

ฟีเจอร์เจ๋งๆ อื่นๆ

  • ส่วนขยาย Kotlin: เพิ่มฟังก์ชัน takePicture และ awaitInstance ที่ระงับ
  • เอฟเฟกต์แบบเรียลไทม์: ใช้เอฟเฟกต์ เช่น ลายน้ำและการไฮไลต์วัตถุ
  • CameraController API: การควบคุมใหม่สำหรับการกำหนดค่าการจับภาพวิดีโอ
  • ตัวอย่างการลดการสั่นไหว: ค้นหาความสามารถของอุปกรณ์และเปิดใช้การลดการสั่นไหว
  • วิดีโอเพื่อเพิ่มประสิทธิภาพ: ควบคุมคุณภาพและเข้าถึงความละเอียดที่สูงขึ้นได้ละเอียดยิ่งขึ้น
  • การผสานรวมส่วนขยาย CameraX: การผสานรวมที่ราบรื่นกับฟีเจอร์ VideoCapture และ ImageCapture ใหม่
  • Shutter Sound API: ตรวจสอบข้อกำหนดด้านเสียงชัตเตอร์ระดับภูมิภาคได้อย่างง่ายดาย
  • แฟลชหน้าจอ: ปรับปรุงรูปภาพในสภาวะแสงน้อยสำหรับกล้องหน้า
  • Camera Extensions Metadata API: API ที่รองรับการปรับความแรงของส่วนขยายและรับการแจ้งเตือนเกี่ยวกับโหมดส่วนขยายปัจจุบันใน ExtensionMode#AUTO ดูการแก้ไขข้อบกพร่องเพิ่มเติมได้ในประกาศเกี่ยวกับเบต้าและ RC

เวอร์ชัน 1.4.0-rc04

16 ตุลาคม 2024

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

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

  • แก้ไขปัญหาที่การเรียกใช้ startFocusMetering ด้วย PreviewView.getMeteringPointFactory ไม่ได้รับพิกัดเซ็นเซอร์ที่ถูกต้องเมื่อเปิดใช้เอฟเฟกต์หรือเมื่อมีการเชื่อมโยง Use Case 4 รายการ (การแชร์สตรีม) (I916c5, b/345993685)

เวอร์ชัน 1.4.0-rc03

2 ตุลาคม 2024

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

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

  • เพิ่มฟังก์ชันแฟลช/ไฟฉาย/3A สำหรับการจับภาพด้วย CameraEffect ตอนนี้รูปภาพที่จับภาพด้วย CameraEffect ควรมีการประมวลผลก่อนและหลังการจับภาพ (เช่น การทำงานของแฟลช การรวม 3A ฯลฯ เมื่อมี) เหมือนกับรูปภาพที่จับภาพโดยไม่มี CameraEffect (I5ff30)
  • เพิ่มประสิทธิภาพความลื่นไหลของการบีบนิ้วเพื่อซูมใน PreviewView (I04ffc)
  • แยก Ultra HDR ออกจากความสามารถในการแสดงผล 10 บิต เนื่องจากการรองรับ Ultra HDR ไม่ได้กำหนดให้อุปกรณ์ต้องมีความสามารถแสดงผล 10 บิตอีกต่อไป (I96ff2, I0c3b3)

เวอร์ชัน 1.4.0-rc02

18 กันยายน 2024

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

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

  • แก้ไขข้อขัดข้องเมื่อเรียกใช้ bindToLifecycle ด้วย LifecycleOwner ที่ทำลายแล้ว (I6e6d8)
  • เพิ่มภาพเคลื่อนไหวระดับการเข้าถึงใน ScreenFlashView สำหรับ ScreenFlash#apply ซึ่งจะแก้ไขข้อบกพร่องเนื่องจากการเปลี่ยนแปลงความสว่างเสร็จสมบูรณ์แบบไม่พร้อมกันหลังจากผ่านไประยะหนึ่งด้วย (I37cdb)
  • ปรับปรุงการซูมให้ราบรื่นขึ้นด้วยการลบล้างการตั้งค่าการซูมในเฟรมเวิร์กในอุปกรณ์ที่รองรับ

เวอร์ชัน 1.4.0-rc01

7 สิงหาคม 2024

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

ฟีเจอร์ใหม่

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

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

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

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

  • แก้ไขปัญหาการเปิดรับแสงและสีของภาพเมื่อจับภาพโดยเปิดใช้แฟลชในที่แสงน้อยโดยมีการเชื่อมโยง Use Case ของ 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

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

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

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

เวอร์ชัน 1.4.0-beta01

14 พฤษภาคม 2024

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

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

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

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

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

เวอร์ชัน 1.4.0-alpha05

17 เมษายน 2024

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

ฟีเจอร์ใหม่

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

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

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

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

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

เวอร์ชัน 1.4.0-alpha04

24 มกราคม 2024

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

ฟีเจอร์ใหม่

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

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

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

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

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

เวอร์ชัน 1.4.0-alpha03

13 ธันวาคม 2023

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

ฟีเจอร์ใหม่

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

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

  • รองรับฟีเจอร์ใหม่ของส่วนขยาย(ความคืบหน้าของกระบวนการดูและบันทึกภาพหลังการดู): เพิ่ม ImageCapture#getImageCaptureCapabilities() API สําหรับแอปเพื่อสอบถามความสามารถของคอลแบ็กความคืบหน้าของกระบวนการดูและบันทึกภาพหลังการดู แอปสามารถเปิดใช้การแสดงผลโพสต์ได้โดยใช้ ImageCapture.Builder#setPostviewEnabled() คุณเลือกขนาดของโพสต์วิวได้โดยใช้ ImageCapture.Builder#setPostviewResolutionSelector() เมื่อเรียกใช้ takePicture() คุณสามารถใช้ onPostviewBitmapAvailable และ onCaptureProcessProgressed ใน OnImageSavedCallback หรือ OnImageCapturedCallback เพื่อรับการแจ้งเตือนความคืบหน้าหลังดูและประมวลผลได้ หากรองรับ (I5cd88)
  • API สำหรับคำนวณการเปลี่ยนรูปแบบพิกัดจากเซ็นเซอร์ไปยังบัฟเฟอร์ปัจจุบัน โดยมี Flag ที่ระบุว่าพื้นผิวมีข้อมูลการวางแนวกล้องหรือไม่ (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 เป็นวิธีเลือกความละเอียดที่ครอบคลุมมากขึ้นและสอดคล้องกับ camera-core API (I93abd, b/286801438)

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

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

เวอร์ชัน 1.4.0-alpha01

20 กันยายน 2023

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

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

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

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

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

เวอร์ชัน 1.3

เวอร์ชัน 1.3.4

12 มิถุนายน 2024

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

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

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

เวอร์ชัน 1.3.3

17 เมษายน 2024

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

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

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

เวอร์ชัน 1.3.2

6 มีนาคม 2024

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

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

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

เวอร์ชัน 1.3.1

13 ธันวาคม 2023

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

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

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

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

  • UseCases 4 ตัว: Preview + ImageCapture + ImageAnalysis + VideoCapture

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

    • Google Pixel 7: ประมาณ 9-7 มิลลิวินาที
    • Samsung Galaxy S23 Ultra: ประมาณ 6-5 มิลลิวินาที
    • Samsung A53 5G: ประมาณ 32-12 ms
  • เพิ่ม 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 และ Preview ได้เมื่อเปิดใช้โหมดส่วนขยายบางโหมดในอุปกรณ์บางรุ่น การแก้ไขนี้จะแสดงผลลัพธ์ที่ถูกต้องเมื่อแอปค้นหาความพร้อมจำหน่าย ImageAnalysis ผ่าน ExtensionsManager#isImageAnalysisSupported() (I7d538)
  • แก้ไขปัญหาที่เสียงและวิดีโอของวิดีโอที่บันทึกไว้ไม่ตรงกันเมื่อเปิดใช้โหมดมิเรอร์ใน Xiaomi Poco X3 NFC (I20b4c)

เวอร์ชัน 1.3.0-rc01

23 สิงหาคม 2023

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

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

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

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

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

เวอร์ชัน 1.3.0-beta02

26 กรกฎาคม 2023

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

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

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

เวอร์ชัน 1.3.0-beta01

21 มิถุนายน 2023

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

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

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

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

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

เวอร์ชัน 1.3.0-alpha07

24 พฤษภาคม 2023

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

ฟีเจอร์ใหม่

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

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

  • เปลี่ยนชื่อค่าคงที่ ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON เป็น ALLOWED_RESOLUTIONS_NORMAL/SLOW และเปลี่ยนชื่อฟังก์ชัน setHighResolutionEnabledFlag ของบิลเดอร์เป็น setAllowedResolutionMode (Iae817)
  • ตอนนี้ CameraInfo#getSupportedFrameRateRanges() จะแสดงผลเป็น Set แทน List เพื่อแสดงว่าช่วงไม่มีลําดับได้ดียิ่งขึ้น (I02f43)
  • เพิ่มโปรแกรมรับฟังข้อผิดพลาดใน CameraEffect เพื่อจัดการข้อผิดพลาดที่กู้คืนไม่ได้ (Ice471)
  • เพิ่มคอนสตรัคเตอร์แบบสาธารณะใน ResolutionInfo เพื่อให้ทดสอบได้ดีขึ้น (If6d1c)
  • มี API UseCase.snapToSurfaceRotation(int) ไว้ใช้แทน setTargetRotationDegrees และเลิกใช้งาน API ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) และ VideoCapture.setTargetRotationDegrees(int) (Ia9010)
  • เพิ่ม API ใหม่ Preview#getTargetFrameRate และ Preview.Builder#setTargetFrameRate เพื่อให้ตั้งค่าและเรียกดูอัตราเฟรมเป้าหมายสำหรับกรณีการใช้งานเวอร์ชันตัวอย่างได้ (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 ตัวทำงานพร้อมกันได้ โดยแต่ละกล้องจะเชื่อมโยงกับ {@link UseCase} ได้สูงสุด 2 รายการ ความละเอียดสูงสุดคือ 720p หรือ 1440p ดูรายละเอียดเพิ่มเติมได้ที่ลิงก์ต่อไปนี้ CameraManager#getConcurrentCameraIds()
  • ขอแนะนํา ResolutionSelector API ใหม่ที่มีฟีเจอร์ต่อไปนี้
    • แอปพลิเคชันสามารถระบุสัดส่วนภาพและกลยุทธ์ความละเอียดเพื่อเลือกความละเอียดที่ดีที่สุดตามความต้องการ
    • พารามิเตอร์ขนาดและสัดส่วนภาพทั้งหมดจะแสดงเป็นพิกัดของเซ็นเซอร์อุปกรณ์กล้อง
    • แอปพลิเคชันสามารถใช้ตัวกรองความละเอียดที่กำหนดเองเพื่อจัดเรียงขนาดที่รองรับตามลำดับที่ต้องการ
    • แอปพลิเคชันยังเปิดใช้การจับภาพความละเอียดสูงเพื่อให้ได้รูปภาพที่มีความละเอียดสูงขึ้นได้ด้วย อย่างไรก็ตาม โปรดทราบว่าการใช้ความละเอียดสูงอาจทำให้เวลาในการจับภาพช้าลง
    • เพิ่ม API การมิเรอร์ VideoCapture รายการ ระบบจะไม่มิเรอร์วิดีโอที่บันทึกโดย VideoCapture โดยค่าเริ่มต้น อย่างไรก็ตาม ระบบจะปรับภาพตัวอย่างของกล้องให้เหมือนกับภาพในกระจกในกล้องหน้าโดยค่าเริ่มต้น VideoCapture mirroring API ช่วยให้คุณจัดแนวกับตัวอย่างภาพจากกล้องได้เมื่อใช้กล้องหน้า มี MirrorMode 3 รายการ ได้แก่ OFF, ON และ ON_FRONT_ONLY หากต้องการปรับให้ตรงกับตัวอย่างภาพจากกล้อง เราขอแนะนำให้ใช้ ON_FRONT_ONLY ซึ่งหมายความว่าระบบจะไม่เปิดใช้การมิเรอร์สำหรับกล้องหลัง แต่เปิดใช้สำหรับกล้องหน้า

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

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

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

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

เวอร์ชัน 1.3.0-alpha05

22 มีนาคม 2023

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

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

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

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

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

เวอร์ชัน 1.3.0-alpha04

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

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

ฟีเจอร์ใหม่

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

  • ก่อนหน้านี้ เมื่อมีการเชื่อมโยง "Preview, VideoCapture, ImageAnalysis" ในฮาร์ดแวร์กล้องระดับ FULL และต่ำกว่า หรือเชื่อมโยง "Preview, VideoCapture, ImageCapture" ในฮาร์ดแวร์ระดับ LEGACY ทาง CameraX จะแสดงข้อผิดพลาด IllegalArgumentException
  • ลักษณะการทำงานใหม่คือ การเชื่อมโยงจะทํางานโดยไม่แสดงข้อยกเว้น แต่จะใช้ OpenGL เพื่อคัดลอกสตรีมที่ใช้ร่วมกันไปยังทั้งการแสดงตัวอย่างและ 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 ผู้ให้บริการแพลตฟอร์มสามารถแจ้งได้ว่าแพลตฟอร์มที่ระบุก่อนหน้านี้ไม่ถูกต้องแล้ว (Idc649)
  • เพิ่ม ImageProcessor API อินเทอร์เฟซนี้มีไว้สําหรับแทรกเอฟเฟกต์หลังการประมวลผลลงในไปป์ไลน์ ImageCapture (I575c6)
  • เพิ่ม API Recorder.Builder.setAspectRatio() ซึ่งสามารถใช้ร่วมกับ QualitySelector เพื่อรองรับความละเอียดของวิดีโอได้มากขึ้น (I8a082)
  • เพิ่ม Recorder.Builder#setTargetVideoEncodingBitRate เพื่อตั้งค่าการเข้ารหัสวิดีโอเป้าหมาย BitRate และ Recorder#getTargetVideoEncodingBitRate เพื่อรับอัตราบิตการเข้ารหัสวิดีโอเป้าหมาย (I5984d)

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

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

เวอร์ชัน 1.3.0-alpha02

7 ธันวาคม 2022

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

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

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

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

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

เวอร์ชัน 1.3.0-alpha01

9 พฤศจิกายน 2022

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

ฟีเจอร์ใหม่

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

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

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

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

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

เวอร์ชัน 1.2

เวอร์ชัน 1.2.3

24 พฤษภาคม 2023

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

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

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

เวอร์ชัน 1.2.2

22 มีนาคม 2023

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

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

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

เวอร์ชัน 1.2.1

25 มกราคม 2023

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

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

  • แก้ไขปัญหาการเขียนข้อมูลตำแหน่ง Exif ในอุปกรณ์ Samsung Android 12 บางรุ่นทำให้รูปภาพ JPEG เสียหาย (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 ใหม่
  • API การทดสอบใหม่สำหรับเวลาในการตอบสนองของชัตเตอร์เป็น 0 เพิ่มประสิทธิภาพไปป์ไลน์การจับภาพเพื่อให้เวลาในการตอบสนองดีขึ้นโดยยังคงคุณภาพรูปภาพที่ดี เมื่อตั้งค่าโหมดการจับภาพเป็น 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
  • แก้ไขปัญหาการแสดงตัวอย่างเป็นสีดําที่เกิดขึ้นเมื่อเปิดใช้ส่วนขยายโบเก้ในอุปกรณ์ Samsung บางรุ่นและผู้ใช้เปลี่ยนกล้อง
  • แก้ไขปัญหาPreview/VideoCaptureการยืดของ Samsung J7 Prime (SM-G610M) และ J7 (SM-J710MN) ในอุปกรณ์ API ระดับ 27
  • ปิดใช้วิธีแก้ปัญหาในการพลิกพื้นที่ AF ของกล้องหน้าในแนวนอนบน Samsung Android T เนื่องจากปัญหาได้รับการแก้ไขแล้ว

เวอร์ชัน 1.2.0-rc01

24 ตุลาคม 2022

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

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

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

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

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

เวอร์ชัน 1.2.0-beta02

21 กันยายน 2022

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

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

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

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

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

เวอร์ชัน 1.2.0-beta01

24 สิงหาคม 2022

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

ฟีเจอร์ใหม่

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

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

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

เวอร์ชัน 1.2.0-alpha04

27 กรกฎาคม 2022

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

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

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

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

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

เวอร์ชัน 1.2.0-alpha03

29 มิถุนายน 2022

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

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

  • นำคำอธิบายประกอบเวอร์ชันทดลองของ ImageAnalysis.Analyzer และ MLKitAnalyzer ออกแล้ว (I0ff22)

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

  • เพิ่มการหมดเวลาเริ่มต้นของโฟกัสอัตโนมัติ 5000ms ซึ่งจะทําให้ส่วน AF เสร็จสมบูรณ์ด้วย isFocusSuccessful false หากไม่ยกเลิก 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 เมธอด takePicture จะปิดไฟฉายในอุปกรณ์ที่รายงาน (Ib5eb5, b/228272227)
  • แก้ไขข้อบกพร่องที่ระบบไม่จัดการ AssertionError เมื่อรับลักษณะ CONTROL_ZOOM_RATIO_RANGE (/Ia248a, b/231701345)

เวอร์ชัน 1.2.0-alpha01

18 พฤษภาคม 2022

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

ฟีเจอร์ใหม่

  • เปิดตัวคลังภาพ camera-mlkit-vision ใหม่

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

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

Camera-Camera2, Camera-Core, Camera-Lifecycle และ Camera-Video เวอร์ชัน 1.1.0

เวอร์ชัน 1.1.0

29 มิถุนายน 2022

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

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

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

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

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

เวอร์ชัน 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 เวอร์ชันแรกสำหรับ camera-video, camera-view และ camera-extension

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

  • แก้ไขปัญหาที่ไม่มีการปล่อยตัวแปลงรหัสวิดีโอเมื่อยกเลิกการเชื่อมโยง 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)
  • วิธีการแก้ปัญหาสำหรับอุปกรณ์ที่ขัดข้องเมื่อตรวจสอบความพร้อมใช้งานของแฟลช อุปกรณ์เหล่านี้จะไม่มีไฟฉาย (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

  • เพิ่มความสามารถในการระบุรหัสกล้องจริงผ่าน Camera2Interop (I5aed8)

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

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

เวอร์ชัน 1.1.0-beta01

26 มกราคม 2022

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

ฟีเจอร์ใหม่

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

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

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

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

  • แก้ไขข้อขัดข้องเมื่อบันทึกวิดีโอในอุปกรณ์บางรุ่นก่อน Android O(API 26) (I88fdf, b/212328261)
  • แก้ไขปัญหาบริเวณโฟกัสอัตโนมัติไม่ถูกต้องเมื่อใช้ 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)
  • ตอนนี้เราใช้วิธีการเฮuristic ที่ชาญฉลาดมากขึ้นเพื่อเลือกการตั้งค่าโปรแกรมเปลี่ยนไฟล์ตามโปรไฟล์ที่ OEM ระบุ (Iaeef0)
  • ตัวอย่างแบบคงที่จะมีเส้นสีที่ซ้อนกันหลังจากเริ่มบันทึกวิดีโอ UHD ใน Pixel 1 (I833c6, b/205340278)

เวอร์ชัน 1.1.0-alpha11

17 พฤศจิกายน 2021

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

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

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

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

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

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

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

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

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

การมีส่วนร่วมจากภายนอก

เวอร์ชัน 1.1.0-alpha10

13 ตุลาคม 2021

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

ฟีเจอร์ใหม่

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

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

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

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

  • แสดง InitializationException เพื่อให้แอปจัดการ AssertionError ที่เกิดขึ้นเมื่อสร้าง CameraCharacteristics ได้อย่างราบรื่น (Ibec79)

เวอร์ชัน 1.1.0-alpha09

29 กันยายน 2021

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

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

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

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

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

เวอร์ชัน 1.1.0-alpha08

18 สิงหาคม 2021

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

ฟีเจอร์ใหม่

  • เพิ่ม setOutputImageFormat API สําหรับการกําหนดค่าการวิเคราะห์รูปภาพ ผู้ใช้สามารถเลือก ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 หรือ ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888 โดยค่าเริ่มต้น ระบบจะเลือก ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 (I7902d)

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

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

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

  • แก้ไขหน้าจอแสดงตัวอย่างสว่างเกินไปใน Huawei P20 Lite ปัญหานี้จะเกิดขึ้นเมื่อใช้ความละเอียดของตัวอย่างเพลงพิเศษบางรายการร่วมกับค่าการซูมเข้าขนาดใหญ่เท่านั้น (Idefce, b/192129158)
  • แก้ไขปัญหาที่แฟลชไม่ทำงานในอุปกรณ์บางรุ่นเมื่อตั้งค่าโหมดแฟลชเป็น FLASH_MODE_ON แล้วถ่ายภาพต่อ (Ieb49b)
  • แก้ปัญหาที่การแสดงตัวอย่างจะหยุดชั่วคราวเมื่อถ่ายภาพหากมีการเชื่อมโยง VideoCapture, ImageCapture และ Preview (I56197, b/193864120)
  • อนุญาตให้ ImageAnalysis เลือกความละเอียดที่มากกว่า 1080p อุปกรณ์ที่ระดับ LIMITED ขึ้นไปรองรับความละเอียดขนาด RECORD สำหรับ ImageAnalysis เมื่อมีการเชื่อมโยงกับ Preview และ ImageCapture ข้อเสียคือความละเอียดที่เลือกสำหรับ ImageCapture จะต้องเป็นความละเอียดขนาด RECORD ด้วย หากต้องการเลือกความละเอียดขนาด RECORD สําหรับ ImageAnalysis ให้สําเร็จ คุณควรตั้งค่าความละเอียดเป้าหมายขนาด RECORD ทั้งใน ImageCapture และ ImageAnalysis ซึ่งบ่งชี้ว่าแอปพลิเคชันเข้าใจข้อเสียเปรียบอย่างชัดเจนและต้องการให้ ImageAnalysis มีความละเอียดมากกว่า ImageCapture ที่มีความละเอียดสูงสุด ดูคำจำกัดความของ RECORD, MAXIMUM และรายละเอียดเพิ่มเติมได้ที่ https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture ขนาด RECORD หมายถึงความละเอียดในการบันทึกสูงสุดที่อุปกรณ์กล้องรองรับตามที่ CamcorderProfile กำหนด ขนาด MAXIMUM หมายถึงความละเอียดเอาต์พุตสูงสุดของอุปกรณ์กล้องสำหรับรูปแบบหรือเป้าหมายนั้นจาก StreamConfigurationMap.getOutputSizes(int) (I1ee97, b/192911449)
  • เพิ่มข้อมูล Exif ลงในรูปภาพที่ถ่าย (I01ff0, b/193342619)
  • ใน ImageCapture ให้แสดงผล URI ของรูปภาพที่บันทึกไว้หากตำแหน่งที่บันทึกคือไฟล์ (Ib5b49, b/149241379)
  • แก้ไขปัญหาที่รูปภาพที่ถ่ายโดยใช้แฟลชมืดในอุปกรณ์หลายรุ่น (I4e510)

เวอร์ชัน 1.1.0-alpha07

21 กรกฎาคม 2021

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

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

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

เวอร์ชัน 1.1.0-alpha06

30 มิถุนายน 2021

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

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

  • โปรโมต API การชดเชยแสงเวอร์ชันทดลองสําหรับ camera-core (I08ee8)
  • เพิ่ม API isFocusMeteringSupported ใน CameraInfo ซึ่งช่วยให้แอปพลิเคชันตรวจสอบได้ว่ากล้องปัจจุบันรองรับ FocusMeteringAction ที่ระบุหรือไม่ (Ib45ae, b/188606490)
  • เปิดเผย getResolutionInfo API เพื่อแสดงข้อมูลความละเอียดสำหรับ Preview, ImageCapture และ ImageAnalysis (I2b613, b/188600718)
  • โปรโมต API ทดลองต่อไปนี้เป็น API อย่างเป็นทางการ CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
  • แสดงอินเทอร์เฟซ CameraProvider เพื่อให้สิทธิ์เข้าถึงชุดกล้อง (I1a7b1)
  • โปรโมต UseCaseGroup API เวอร์ชันทดลองสําหรับ camera-core, camera-lifecycle และ camera-video เพิ่ม ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection และ ViewPort.Builder#setScaleType สำหรับการปรับแต่งวิวพอร์ต (I7cee8)

เวอร์ชัน 1.1.0-alpha05

2 มิถุนายน 2021

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

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

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

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

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

เวอร์ชัน 1.1.0-alpha04

21 เมษายน 2021

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

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

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

เวอร์ชัน 1.1.0-alpha01

27 มกราคม 2021

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

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

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

Camera-Camera2, 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-Camera2, 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-Camera2, 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

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

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

เวอร์ชัน 1.0.0-rc02

27 มกราคม 2021

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

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

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

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

เวอร์ชัน 1.0.0-rc01

16 ธันวาคม 2020

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

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

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

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

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

กล้อง Camera2, Core และ Lifecycle เวอร์ชัน 1.0.0-beta12

11 พฤศจิกายน 2020

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

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

  • ปิดใช้แฟลชอัตโนมัติในอุปกรณ์ Samsung A3 เพื่อแก้ไขปัญหาข้อขัดข้องเมื่อถ่ายภาพด้วยโหมด AE แฟลชอัตโนมัติในอุปกรณ์ Samsung A3 (Ia5fe3, b/157535165)
  • แก้ไขปัญหาที่ภาพตัวอย่างถูกยืดในอุปกรณ์ Nexus 4 ที่ใช้ Android L (API ระดับ 21 และ 22) (I4d407, b/158749159)
  • การใช้งานOnImageCapturedCallback#onCaptureSuccessคลาสพื้นฐานจะไม่ปิดรูปภาพอีกต่อไป การดำเนินการนี้มีไว้เพื่อป้องกันไม่ให้นักพัฒนาแอปพบลักษณะการทำงานที่ไม่คาดคิด นักพัฒนาแอปไม่ควรใช้ super.onCaptureSuccess เพื่อปิดรูปภาพ (Ifbf9c)
  • เราได้เลิกใช้งานตัวแปร androidx ของคำอธิบายประกอบเวอร์ชันทดลองเพื่อให้สอดคล้องกับ Kotlin เราได้แทนที่แอตทริบิวต์นี้ด้วยแอตทริบิวต์ RequiresOptIn และอัปเดตโปรแกรมตรวจสอบโค้ดที่ทำงานกับ 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 มีการคอมมิตเหล่านี้

ฟีเจอร์ใหม่

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

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

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

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

23 กันยายน 2020

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

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

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

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

23 กันยายน 2020

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

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

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

16 กันยายน 2020

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

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

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

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

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

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

16 กันยายน 2020

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

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

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

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

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

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

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

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

19 สิงหาคม 2020

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

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

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

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

19 สิงหาคม 2020

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

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

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

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

  • สำหรับการจับภาพ ให้เขียนทับ Flag พลิกแนวนอนในข้อมูลเมตาตามทิศทางของกล้อง (I28499)
  • การเริ่มต้นจะไม่ขัดข้องอีกต่อไปเมื่อใช้ Context ที่ไม่ให้ออบเจ็กต์แอปพลิเคชันจาก 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 หมายความว่า Rect ครอบตัดที่แสดงผลจะเป็น Rect เซ็นเซอร์ที่ใหญ่ที่สุดที่เป็นไปได้ (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

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

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

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

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

24 มิถุนายน 2020

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

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

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

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

  • ตอนนี้คุณกำหนดค่า CameraX ได้ด้วย ProcessCameraProvider#configureInstance()ก่อนการเรียกใช้ ProcessCameraProvider#getInstance() ซึ่งช่วยให้ปรับแต่ง CameraXConfig ได้โดยไม่ต้องติดตั้งใช้งาน CameraXConfig.Provider ในคลาสแอปพลิเคชันของแอป (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)

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

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

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

27 พฤษภาคม 2020

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

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

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

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

27 พฤษภาคม 2020

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

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

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

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

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

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

15 เมษายน 2020

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

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

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

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

15 เมษายน 2020

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

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

  • แก้ไขการถดถอยจาก beta03 ที่การเรียก bindToLifecycle() ที่มี UseCase เป็น 0 จะทำให้เกิดข้อยกเว้น ซึ่งจะช่วยป้องกันไม่ให้ดึงข้อมูล Camera โดยไม่เชื่อมโยง UseCase

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

1 เมษายน 2020

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

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

  • แก้ไข ImageInfo.getRotationDegrees() จาก ImageProxy ที่ ImageCapture สร้างขึ้นเพื่อให้ตรงกับค่าการหมุนการวางแนว EXIF (Id4281, b/150802561)
  • คุณไม่จำเป็นต้องจัดเรียงอย่างชัดแจ้งของ Dependency ของ CameraX ภายใน build.gradle เพื่อใช้การติดตั้งใช้งาน CameraX/Camera2 เริ่มต้นอีกต่อไป ในกรณีที่จำเป็นต้องประกาศ Dependency ที่เข้มงวด ตอนนี้คุณรวม Dependency ทั้งหมดของ CameraX ไว้ในไฟล์บิลด์ได้แล้ว (I46e88)
  • แก้ไขปัญหา IllegalArgumentException ที่เกิดขึ้นในอุปกรณ์ที่มีขนาดการแสดงผลน้อยกว่า 640x480 (Ife3f2, b/150506192)
  • แก้ไข bindToLifecycle เพื่อให้แก้ไข UseCase เฉพาะในกรณีที่มีการเชื่อมโยงสำเร็จเท่านั้น ก่อนหน้านี้เมื่อเรียกใช้ bindToLifecycle เพื่อคํานวณความละเอียด ระบบจะอัปเดต UseCase ตอนนี้ไม่จําเป็นต้องอัปเดต UseCase เพื่อทําการคํานวณอีกต่อไป (I78d9e)

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

1 เมษายน 2020

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

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

  • แก้ไข ImageInfo.getRotationDegrees() จาก ImageProxy ที่ ImageCapture สร้างขึ้นเพื่อให้ตรงกับค่าการหมุนการวางแนว EXIF (Id4281, b/150802561)
  • แก้ไข bindToLifecycle เพื่อให้แก้ไข UseCase เฉพาะในกรณีที่มีการเชื่อมโยงสำเร็จเท่านั้น ก่อนหน้านี้เมื่อเรียกใช้ bindToLifecycle เพื่อคํานวณความละเอียด ระบบจะอัปเดต UseCase ตอนนี้ไม่จําเป็นต้องอัปเดต UseCase เพื่อทําการคํานวณอีกต่อไป (I78d9e)
  • แก้ไขปัญหาที่เซสชันการจับภาพของ Use Case 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 โดยการคง Flag ที่กำหนดผู้ให้บริการ CameraXConfig เริ่มต้นไว้ (I2d6c1)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

22 มกราคม 2020

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

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

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

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

    คลาส Camera2CameraInfo ต้องใช้ ExperimentalCamera2Interop markerClass

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

22 มกราคม 2020

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

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

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

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

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

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

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

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

4 ธันวาคม 2019

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

  • Camera2Config พร้อมใช้งานแล้วสำหรับการใช้กับการจัดเตรียมและการกำหนดค่าการใช้งาน Camera2 สำหรับ CameraX โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ข้อมูลนี้ในการเริ่มต้นใช้งานที่ส่วน camera-core ในหมายเหตุประจำรุ่น
  • ตอนนี้เราได้ทำเครื่องหมายฟังก์ชันการทำงานร่วมกันของ camera2 ว่าเป็นแบบทดลองและย้ายไปยังแพ็กเกจแยกต่างหากแล้ว 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() ซึ่งจะแสดงผลลัพธ์เป็น Future ที่ฟังได้ ซึ่งจะให้ ProcessCameraProvider เมื่อดำเนินการเสร็จสมบูรณ์ ที่นี่จะแสดงเป็น onCreate() สำหรับการใช้งานทั่วไป คุณสามารถเรียกใช้ getInstance() ในภายหลังในวงจรชีวิตของกิจกรรมเพื่อเลื่อนเวลาในการตอบสนองของอินทิเกรชันไปไว้ภายหลัง (เช่น เมื่อผู้ใช้ดำเนินการเปิด UI กล้อง)

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

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

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

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

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

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

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

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

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

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

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

  • เปลี่ยนชื่อ Listeners ที่มีเมธอดมากกว่า 1 รายการเป็น Callback แล้ว

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

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

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

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

  • ฟิลด์ ImageCapture.Metadata จะถูกแทนที่ด้วยตัวรับอินพุต get/set/is

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

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

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

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

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

9 ตุลาคม 2019

androidx.camera:camera-camera2:1.0.0-alpha06 และ androidx.camera:camera-core:1.0.0-alpha06 เผยแพร่แล้ว เหล่านี้คือการคอมมิตที่รวมอยู่ใน camera-camera2:1.0.0-alpha06 และเหล่านี้คือการคอมมิตที่รวมอยู่ใน camera-core:1.0.0-alpha06

ฟีเจอร์ใหม่

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

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

Executor API

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

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

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

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

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

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

Camera-Camera2 และ Camera-Core เวอร์ชัน 1.0.0-alpha05

5 กันยายน 2019

androidx.camera:camera-camera2:1.0.0-alpha05 และ androidx.camera:camera-core:1.0.0-alpha05 เผยแพร่แล้ว เหล่านี้คือการคอมมิตที่รวมอยู่ใน camera-camera2:1.0.0-alpha05 และเหล่านี้คือการคอมมิตที่รวมอยู่ใน camera-core:1.0.0-alpha05

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

    • เปลี่ยนชื่อ ImageCapture.UseCaseError เป็น ImageCapture.ImageCaptureError
    • เปลี่ยนชื่อ VideoCapture.UseCaseError เป็น VideoCapture.VideoCaptureError
  • เพิ่ม CameraControl API ที่มี API การแตะเพื่อโฟกัส

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

      CameraX.getCameraControl(LensFacing lensFacing)

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

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

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

    • เพิ่ม API สําหรับ Factories ของจุดวัดผลที่จะช่วยแปลพิกัดการแตะเป็นพิกัดเซ็นเซอร์ตามคลาสมุมมอง

      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 และ Get ที่เกี่ยวข้องอาจแสดงผลเป็น Null

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

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

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

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

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

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

Camera-Camera2 และ Camera-Core เวอร์ชัน 1.0.0-alpha04

7 สิงหาคม 2019

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

ฟีเจอร์ใหม่

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

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

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

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

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

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

โหมดที่ไม่มีการบล็อกของ ImageAnalysis

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

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

  • แก้ปัญหาการหมดเวลาขณะรอการรวม 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-Camera2 และ Camera-Core เวอร์ชัน 1.0.0-alpha03

2 กรกฎาคม 2019

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

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

  • เพิ่มคำอธิบาย Javadoc สำหรับ "target" ในคําเรียกการกําหนดค่า setTarget

Camera-Core

  • แก้ไขข้อขัดข้องของอินพุต/เอาต์พุตที่ยังไม่ได้กําหนดค่าเมื่อเปิด/ปิดหรือเชื่อมโยง/ยกเลิกการเชื่อมโยงอย่างรวดเร็ว
  • เปลี่ยนไปใช้การใช้งาน 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 มีการคอมมิตเหล่านี้

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

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

Camera-Camera2 และ Camera-Core 1.0.0-alpha01

7 พฤษภาคม 2019

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

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

14 ตุลาคม 2020

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

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

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

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

23 กันยายน 2020

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

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

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

16 กันยายน 2020

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

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

19 สิงหาคม 2020

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

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

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

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

22 กรกฎาคม 2020

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

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

24 มิถุนายน 2020

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

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

  • ตอนนี้คุณกำหนดค่า CameraX ได้ด้วยวิธีใช้ ProcessCameraProvider#configureInstance() ก่อนเรียกใช้ ProcessCameraProvider#getInstance() ซึ่งจะช่วยให้ปรับแต่ง CameraXConfig ได้โดยไม่ต้องใช้ CameraXConfig.Provider ในคลาส Application ของแอป (Ia1a8d)

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

10 มิถุนายน 2020

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

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

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

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

27 พฤษภาคม 2020

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

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

15 เมษายน 2020

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

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

  • แก้ไขการถดถอยจาก beta03 ที่การเรียก bindToLifecycle() ที่มี UseCase เป็น 0 จะทำให้เกิดข้อยกเว้น ซึ่งจะช่วยป้องกันไม่ให้ดึงข้อมูล Camera โดยไม่เชื่อมโยง UseCase
  • การแก้ไขเพื่อรองรับการเปิดตัว camera-core

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

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

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

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

  • แก้ไขเอกสารประกอบเพื่อระบุว่าเมื่อได้รับ ProcessCameraProvider ระหว่างการเริ่มต้น ระบบจะใช้การกำหนดค่าเริ่มต้นและขยาย Application หรือไม่ก็ได้ (I5e395)

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

1 เมษายน 2020

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

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

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

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

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

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

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

  • เพิ่มคำอธิบายประกอบ @MainThread ลงในเมธอด BindToLifecycle, unbind และ unbindAll (I990d2)

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

22 มกราคม 2020

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

อัปเดต

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

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

18 ธันวาคม 2019

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

การเปลี่ยนแปลงทรัพยากร Dependency

  • อัปเดตเพื่อใช้ androidx.camera:camera-core:1.0.0-alpha08

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

4 ธันวาคม 2019

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

หมายเหตุเกี่ยวกับ API

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

Camera-Extensions และ Camera-View เวอร์ชัน 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 ส่วนต่อท้าย Async ของชื่อฟังก์ชันแสดงได้อย่างชัดเจนว่าเป็นฟังก์ชันแบบแอ็กซิงคิวทีฟ (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 ลงใน Public API เพื่อกรองรายการ CameraInfo ตาม CameraSelector (I105d0)

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

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

เวอร์ชัน 1.0.0-alpha30

13 ตุลาคม 2021

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

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

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

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

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

เวอร์ชัน 1.0.0-alpha29

29 กันยายน 2021

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

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

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

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

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

เวอร์ชัน 1.0.0-alpha28

18 สิงหาคม 2021

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

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

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

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

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

เวอร์ชัน 1.0.0-alpha27

21 กรกฎาคม 2021

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

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

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

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

  • แก้ไขปัญหาการยืดโหมด PreviewView PERFORMANCE เมื่อใช้ร่วมกับ 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 ได้แก่ Getter/Setter สำหรับสัดส่วนภาพเป้าหมาย ความละเอียดเป้าหมาย โหมดการจับภาพ CameraControl และตัวดำเนินการที่กำหนดเอง (Iea8f2)
  • เพิ่มคลาส RotationReceiver ที่จะรับการเปลี่ยนแปลงการหมุนของ Surface ซึ่งสามารถใช้เพื่อตั้งค่าการหมุนเป้าหมายเมื่ออุปกรณ์อยู่ในโหมดแนวตั้ง/แนวนอนแบบคงที่ (Ib278f)
  • เปิดเผย API สาธารณะ getEstimatedCaptureLatencyRange ใหม่ในคลาส ExtensionsManager (I6a8ec)
  • ExtensionsErrorListener ที่เลิกใช้งาน ปัจจุบันอินเทอร์เฟซนี้ใช้เพื่อตรวจสอบว่า Preview หรือ 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

  • ตอนนี้ ExperimentalCameraFilter API ไม่ได้อยู่ในระยะทดลองแล้ว และกลายเป็น API อย่างเป็นทางการ สามารถใช้ได้โดยไม่ต้องมีคำอธิบายประกอบ OptIn (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)
  • แก้ไขปัญหา PreviewView ที่ยืดบน Samsung J5 Prime (Ib10b6)

ชิ้นงานกล้องและมุมมองเวอร์ชัน 1.0.0-alpha23

24 มีนาคม 2021

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

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

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

  • กำหนดให้ใช้อาร์ติแฟกต์ 1.0.0 กับรายการที่กําหนดไว้สำหรับมุมมองกล้อง การพึ่งพา camera-view จะไม่ทําให้ Gradle อัปเกรดข้อกําหนดของ camera-core, camera-camera2 และ camera-lifecycle เป็นอาร์ติแฟกต์ 1.1.0 เวอร์ชันล่าสุดโดยอัตโนมัติอีกต่อไป แม้ว่า camera-view จะยังคงเข้ากันได้กับอาร์ติแฟกต์เหล่านั้นหากมีการตั้งค่าให้ใช้ 1.1.0 อย่างชัดเจน (Ic8fa1, b/181599852)
  • แก้ไขการแสดงตัวอย่างที่ยืดของ 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-Extensions & 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)

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

14 ตุลาคม 2020

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

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

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

มุมมองกล้องเวอร์ชัน 1.0.0-alpha18

14 ตุลาคม 2020

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

เผยแพร่เพื่อรองรับรายการอื่นๆ ในคลังกล้อง

Camera-Extensions เวอร์ชัน 1.0.0-alpha17

23 กันยายน 2020

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

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

มุมมองกล้องเวอร์ชัน 1.0.0-alpha17

23 กันยายน 2020

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

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

Camera-Extensions เวอร์ชัน 1.0.0-alpha16

16 กันยายน 2020

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

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

  • เพิ่มเมธอดใน ExtensionsManager เพื่อรับออบเจ็กต์ Extensions ซึ่งใช้ในการเปิดใช้และค้นหาส่วนขยายในอินสแตนซ์กล้อง (I4fb7e)

มุมมองกล้องเวอร์ชัน 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)
  • อนุญาตให้หมุนเป้าหมายแบบกำหนดเองสำหรับการแสดงตัวอย่าง ระบบจะคํานวณข้อมูลการเปลี่ยนรูปแบบและแสดงผลต่อผู้ใช้ทันทีผ่าน TranformationInfoListener callback ใหม่ (I21470)

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

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

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

19 สิงหาคม 2020

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

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

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

    มุมมองกล้องเวอร์ชัน 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)
  • สําหรับการจับภาพ ให้เขียนทับ Flag พลิกแนวนอนในข้อมูลเมตาตามทิศทางของกล้อง (I28499)

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

22 กรกฎาคม 2020

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

มุมมองกล้องเวอร์ชัน 1.0.0-alpha14

22 กรกฎาคม 2020

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

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

24 มิถุนายน 2020

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

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

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

มุมมองกล้องเวอร์ชัน 1.0.0-alpha13

24 มิถุนายน 2020

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

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

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

Camera-Extensions เวอร์ชัน 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)

มุมมองกล้องเวอร์ชัน 1.0.0-alpha12

10 มิถุนายน 2020

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

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

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

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

27 พฤษภาคม 2020

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

มุมมองกล้องเวอร์ชัน 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)

มุมมองกล้อง เวอร์ชัน 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 เป็นตัวอย่างตามหลักเกณฑ์ (Ia2459, b/153607583)
  • คุณตั้งค่าประเภทสเกลของ PreviewView จากเลย์เอาต์ XML ได้โดยการตั้งค่าแอตทริบิวต์ ScaleType (I08565, b/153015659)
  • นำ CameraView.ScaleType ออกแล้ว แต่ให้ใช้ PreviewView.ScaleType เพื่อตั้งค่า/รับประเภทมาตราส่วนด้วย CameraView แทน (Ia8974, b/153014831)
  • กำหนดสีพื้นหลังให้กับ PreviewView โดยค่าเริ่มต้นหากยังไม่มี วิธีนี้จะช่วยป้องกันไม่ให้เนื้อหาที่อยู่เบื้องหลังแสดงขึ้นก่อนที่สตรีมตัวอย่างจะเริ่มเล่น (I09fad)

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

15 เมษายน 2020

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

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

  • การแก้ไขเพื่อรองรับรุ่นของ Camera-Core

มุมมองกล้อง เวอร์ชัน 1.0.0-alpha10

15 เมษายน 2020

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

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

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

Camera-Extensions เวอร์ชัน 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

มุมมองกล้องเวอร์ชัน 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 ที่อนุญาตค่า Null เพื่อเพิ่มประสิทธิภาพการแสดงตัวอย่างโดยใช้ 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)

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

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

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

มุมมองกล้องเวอร์ชัน 1.0.0-alpha08

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

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

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

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

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

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

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

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

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

มุมมองกล้อง เวอร์ชัน 1.0.0-alpha07

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

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

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

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

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

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

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

22 มกราคม 2020

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

อัปเดต

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

มุมมองกล้องเวอร์ชัน 1.0.0-alpha06

22 มกราคม 2020

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

อัปเดต

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

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

18 ธันวาคม 2019

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

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

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

มุมมองกล้องเวอร์ชัน 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 ของกล้อง

Camera-Extensions เวอร์ชัน 1.0.0-alpha04

4 ธันวาคม 2019

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

การเปลี่ยนแปลง 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()
    )
    

มุมมองกล้องเวอร์ชัน 1.0.0-alpha04

4 ธันวาคม 2019

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

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

  • มีคลาส PreviewView ไว้สําหรับแสดงเอาต์พุตจาก Use Case ของตัวอย่างในแอปพลิเคชันได้อย่างง่ายดาย
  • PreviewView สามารถรวมไว้ในเลย์เอาต์ได้ดังนี้

    <androidx.camera.view.PreviewView
      android:id="@+id/preview_view"
       />
    
  • PreviewView มี PreviewSurfaceProvider เพื่อเชื่อมต่อกรณีการใช้งานเวอร์ชันตัวอย่างได้อย่างง่ายดาย

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

  • พารามิเตอร์ของเมธอดบางรายการมีการเปลี่ยนแปลงความสามารถในการเป็น Null

Camera-Extensions และ Camera-View เวอร์ชัน 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

Camera-Extensions และ Camera-View เวอร์ชัน 1.0.0-alpha02

5 กันยายน 2019

androidx.camera:camera-extensions:1.0.0-alpha02 และ androidx.camera:camera-view:1.0.0-alpha02 เผยแพร่แล้ว การคอมมิตที่รวมอยู่ใน camera-extensions:1.0.0-alpha02 และการคอมมิตที่รวมอยู่ใน camera-view:1.0.0-alpha02

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

Camera-Extensions และ Camera-View เวอร์ชัน 1.0.0-alpha01

7 สิงหาคม 2019

androidx.camera:camera-extensions:1.0.0-alpha01 และ androidx.camera:camera-view:1.0.0-alpha01 เผยแพร่แล้ว การคอมมิตที่รวมอยู่ใน camera-extensions:1.0.0-alpha01 และการคอมมิตที่รวมอยู่ใน camera-view:1.0.0-alpha01

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