CameraX

‫CameraX הוא תוסף ל-Jetpack שמקל על הוספת יכולות מצלמה לאפליקציה. הספרייה מספקת מספר תיקוני תאימות ופתרונות עקיפים כדי לעזור למפתחים ליהנות מחוויה עקבית במכשירים רבים.

בטבלה הזו מפורטים כל הארטיפקטים בקבוצה androidx.camera.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה גרסה מועמדת להפצה גרסת בטא גרסת אלפא
camera-camera2 1.6.1 - - ‎1.7.0-alpha01
camera-core 1.6.1 - - ‎1.7.0-alpha01
camera-compose 1.6.1 - - ‎1.7.0-alpha01
camera-effects 1.6.1 - - ‎1.7.0-alpha01
camera-extensions 1.6.1 - - ‎1.7.0-alpha01
camera-feature-combination-query - - - ‎1.5.0-alpha06
camera-feature-combination-query-play-services - - - ‎1.5.0-alpha06
camera-lifecycle 1.6.1 - - ‎1.7.0-alpha01
camera-mlkit-vision 1.6.1 - - ‎1.7.0-alpha01
camera-view 1.6.1 - - ‎1.7.0-alpha01
camera-viewfinder - - ‎1.3.0-beta02 ‎1.4.0-alpha07
camera-video 1.6.1 - - ‎1.7.0-alpha01
הספרייה הזו עודכנה לאחרונה בתאריך: 6 במאי 2026

בדיקת מכשירים

אנחנו בודקים את CameraX במכשירים רבים במעבדה שלנו. רשימת המכשירים שנבדקו במעבדה זמינה במאמר מכשירים שנבדקו במעבדה של CameraX.

הצהרה על יחסי תלות

כדי להוסיף תלות ב-CameraX, צריך להוסיף את מאגר Maven של Google לפרויקט. מידע נוסף זמין במאמר מאגר ה-Maven של Google.

אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:

Groovy

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

Kotlin

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

משוב

המשוב שלכם עוזר לנו לשפר את Jetpack. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.

יצירת דיווח על בעיה חדשה

מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.

גרסה 1.0 של Camera Viewfinder Compose

גרסה ‎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 מכילה את השמירות האלה.

תכונות חדשות

  • ספרייה חדשה. הספרייה הזו מציגה רכיב Viewfinder שניתן להרכבה ב-Compose, שאפשר להשתמש בו עם CameraX ו-Camera2. רכיב ה-Viewfinder המורכב תומך ביחסי גובה-רוחב שונים ובטיפול באירועי מגע.

גרסה 1.4 של עינית המצלמה

גרסה ‎1.4.0-alpha07

‫12 ביוני 2024

androidx.camera:camera-viewfinder:1.4.0-alpha07 וגם androidx.camera:camera-viewfinder-core:1.4.0-alpha07 מופצים. גרסה ‎1.4.0-alpha07 מכילה את השמירות האלה.

גרסה ‎1.4.0-alpha06

‫14 במאי 2024

androidx.camera:camera-viewfinder:1.4.0-alpha06 וגם androidx.camera:camera-viewfinder-core:1.4.0-alpha06 מופצים. גרסה ‎1.4.0-alpha06 מכילה את השמירות האלה.

שינויים ב-API

  • שינוי השם של Viewfinder's ImplementationMode Enums כדי לשקף טוב יותר את ההטמעות הבסיסיות, והוספה של קבועים קבועים ל-TransformationInfo.sourceRotation. (Ic6149)
  • נוסף ZoomGestureDetector.ZoomEvent כדי לתמצת את המצבים של תנועת זום. (I84cdf)

גרסה 1.7

גרסה ‎1.7.0-alpha01

‫11 במרץ 2026

androidx.camera:camera-*:1.7.0-alpha01 מופץ. גרסה ‎1.7.0-alpha01 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו את ה-API של CameraController.setSessionConfig(). כך אפשר לספק SessionConfig מותאם אישית להגדרות מתקדמות של UseCase שלא נחשפות ישירות על ידי CameraController. כשSessionConfig פעיל, שיטות הגדרה אחרות ב-CameraController מושבתות.(I35cf1, b/448525636)

תיקוני באגים

  • העברה של ספריות לשימוש ביעד Java 11. המשמעות היא שקוד הבייט שנוצר יהיה Java 11 (גרסה 55 של קובץ המחלקה) ויכול להיות שיהיה צורך בביטול הסוכר כדי להשתמש בספרייה (If4c2a, ‏ b/457821470)
  • תוקן באג ב-ImageAnalysis שגרם לכך שהתמונות לא סובבו בצורה נכונה כשהפעלתם את האפשרות 'סיבוב תמונת הפלט' והסיבוב היחסי הראשוני היה 0 מעלות. (Id46c2, ‏ b/487160584)

גרסה 1.6 של המצלמה

גרסה 1.6.1

‫6 במאי 2026

androidx.camera:camera-*:1.6.1 מופץ. גרסה 1.6.1 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה שגיאת קומפילציה 'אין גישה לכיתה ListenableFuture' כשמשתמשים ב-CameraX 1.6.0. (Ic8cba, b/497571473)

גרסה 1.6.0

‫25 במרץ 2026

androidx.camera:camera-*:1.6.0 מופץ. גרסה 1.6.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.5.0:

1. העברנו את המצלמה לערימת מצלמה מאוחדת עם ביצועים גבוהים

  • ‫CameraX משתמשת עכשיו ב-CameraPipe – אותה חבילת תוכנה מודרנית ובעלת ביצועים גבוהים שמפעילה את מצלמת Pixel. המעבר הזה מייעל את היעילות האדריכלית ומספק בסיס ניתן להרחבה להוספת תכונות מתקדמות של צילום חישובי למערכת האקולוגית של המפתחים.

2. Media3 Muxer Integration

  • ‫CameraX משלב עכשיו את Media3 Muxer כברירת מחדל בתוך VideoCapture API. להעברה הזו יש כמה יתרונות:
    • ביצועים משופרים: עיבוד ומיקסוס יעילים יותר של סרטונים.
    • עמידות בפני קריסות: הגנה משופרת מפני פגיעה בקובצי וידאו, כדי להבטיח שהנתונים יישמרו גם אם האפליקציה קורסת במהלך ההקלטה.

3. שיפור קבוצת התכונות

4. ‫Stabilized SessionConfig API

  • SessionConfig עבר משלב הניסוי לשלב של API ציבורי יציב לחלוטין, כולל SessionConfig ו-HighSpeedVideoSessionConfig. מעכשיו אפשר להטמיע CameraX Extensions באמצעות AP חדש ExtensionSessionConfig. הוספנו API חדש של isSessionConfigSupported שמאפשר למפתחים לבדוק אם שילוב ספציפי של תרחישי שימוש ותכונות (כמו HDR, ייצוב, רזולוציות ספציפיות, תוספים של CameraX או הילוך איטי) נתמך על ידי המכשיר לפני הקישור למחזור החיים.

תיקוני באגים

  • תוקן קראש שמתרחש במכשירי Android 17 (API 37) מסוימים או בגרסאות מתקדמות יותר. כשמכשירים כאלה חושפים פרופילים חדשים של טווח דינמי (למשל, STANDARD_SMPTE_2094_50(ID 8192)) שלא היו מוכרים ל-CameraX בגרסה 1.5.1 ובגרסאות קודמות, בעבר הספריה לא הצליחה לטפל במזהים האלה בצורה מתאימה, וכתוצאה מכך התרחשה שגיאה מסוג NullPointerException או IllegalArgumentException במהלך ProcessCameraProvider.bindToLifecycle(). התיקון הזה מאפשר ל-CameraX להתעלם בצורה חלקה מפרופילים לא מזוהים של טווח דינמי, וכך למנוע את הקריסה ולשמור על תאימות קדימה. כדי להימנע מהבעיה הזו במכשירים שחושפים את הפרופילים החדשים האלה, צריך לעדכן את התלות ב-CameraX לגרסה 1.5.2 או 1.6.0 (או לגרסה חדשה יותר). פרטים נוספים זמינים בבעיה מספר 519796838. (Ibd7b5)
  • ה-API של קבוצת התכונות מספק עכשיו תוצאות עקביות כשמשתמשים ב-PREVIEW_STABILIZATION עם VideoCapture. התיקון הזה פותר באג שגרם לתוצאות לא עקביות כשמקרה שימוש בתצוגה מקדימה לא היה פעיל. (Ifed82, ‏ b/449913903)
  • תוקנה בעיה שבה תכונות מועדפות שלא נתמכות היו זמינות באופן שגוי. הסינון של התכונות מתבצע עכשיו בצורה נכונה כשלא מתקיימים תרחישי השימוש הנדרשים. ‫(I38db8, ‏ b/449532342)
  • תוקנה בעיה שגרמה לתוצאות וידאו עם תקלות ב-Samsung Galaxy S6. ‫(I612d9, ‏ b/235127608)
  • תוקנה בעיה שבה הפונקציה CameraInfo#isFeatureGroupSupported יכלה להחזיר את הערך true עבור PREVIEW_STABILIZATION באופן שגוי אם SessionConfig בשאילתה כבר הוגדר עם תכונות אחרות. ‫(I2c355c, ‏ b/437816469)
  • החרגנו גדלים של פלט בפורמט YUV בעייתי ממכשיר Samsung Z Fold 4. כשמשתמשים בגדלי הפלט האלה, יש בעיה של עיוות בתמונות שמתקבלות. (I776bf, ‏ b/460322307)
  • תוקנה בעיה ספציפית למכשיר Samsung A53 שבה צילום תמונות עם פנס מופעל נכשל לפעמים אם מקרה השימוש VideoCapture מאוגד. (I0f183, b/458197367)
  • תוקנה בעיה במכשירים מסוימים שבה השימוש בפלאש עם מצלמת ה-Ultrawide עלול לגרום לתמונות עם חשיפה נמוכה מדי. (Ib7530, ‏ b/444590340)
  • עדכנו את התלות ב-ExifInterface כך שיכלול תיקון לניתוח של קובצי JPEG עם ריפוד 0xFF, וכך נפתרה הבעיה של כשלים בצילום תמונות במכשירים שבהם מקודד ה-JPEG מוסיף בייטים של מילוי לפני סמנים. (I0eb49)

גרסה ‎1.6.0-rc01

‫25 בפברואר 2026

androidx.camera:camera-*:1.6.0-rc01 מופץ. גרסה ‎1.6.0-rc01 מכילה את השמירות האלה.

גרסה ‎1.6.0-beta02

‫11 בפברואר 2026

androidx.camera:camera-*:1.6.0-beta02 מופץ. גרסה ‎1.6.0-beta02 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה ב-ImageCapture OUTPUT_FORMAT_RAW_JPEG בצילום בזיכרון IllegalArgumentException. (Id4eec, ‏ b/479990902)
  • הועבר ל-muxer של AndroidX Media3. העדכון הזה פתר שתי בעיות: 1. קובץ וידאו פגום במהלך הפסקות לא צפויות או סגירת האפליקציה, ו-2. קריסות בזמן שמירת סרטונים בתיאורי קבצים של שרת proxy. (I23b63, b/433649708, b/264812009, b/475750115)

גרסה ‎1.6.0-beta01

‫28 בינואר 2026

androidx.camera:camera-*:1.6.0-beta01 מופץ. גרסה ‎1.6.0-beta01 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה בגרסה CameraX 1.6.0-alpha שקשורה לסוג הנוכחי, שבה אובייקט LiveData לא יכול לקבל את נתוני הסוג המעודכנים.CameraExtensionsInfo (I2c7a5)
  • העדכון של התלות ב-ExifInterface כולל תיקון לניתוח של קובצי JPEG עם ריפוד 0xFF, וכך נפתרה הבעיה של כשלים בצילום תמונות במכשירים שבהם מקודד ה-JPEG מוסיף בייטים של מילוי לפני סמנים. (I0eb49)

גרסה ‎1.6.0-alpha02

‫17 בדצמבר 2025

androidx.camera:camera-*:1.6.0-alpha02 מופץ. גרסה ‎1.6.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • נוספה תכונה שניתן לקבץ כדי לציין את התכונה 'ייצוב וידאו' בהגדרת סשן. מפתחים יכולים עכשיו לבקש ייצוב של סרטונים כתכונה נדרשת או מועדפת, וכך ליישר אותה עם תכונות אחרות שאפשר לקבץ כמו UHD_RECORDING ו-PREVIEW_STABILIZATION. (Ic6757, b/419766630)
  • נוספו תכונות שניתן לקבץ כדי לציין את איכות הקלטת הווידאו בהגדרת סשן. מפתחים יכולים עכשיו לבקש איכות ספציפית (למשל, UHD, ‏ FHD) כתכונה נדרשת או מועדפת, בהתאם לתכונות אחרות שאפשר לקבץ כמו HDR ו-60 FPS. (Ib5cd3, ‏ b/437820285)
  • הוספנו תמיכה בשימוש ב-CameraEffect וב-Feature Groups API ב-SessionConfig. (I17f18, b/406370934)
  • הוספנו תמיכה בשימוש ב-ImageAnalysis וב-Feature Groups API ב-SessionConfig. ‫(I87833, b/406371720)

שינויים ב-API

  • נוספה פונקציית setter‏ addUseCase ל-ExtensionSessionConfig.Builder, ונוספו פונקציות getter חסרות ל-ExtensionSessionConfig. (I71e07, b/453988621)
  • נוסף API‏ ExtensionsManager.getInstance שהוא גרסה עם השהיה של ExtensionsManager.getInstanceAsync (I3a0a9, ‏ b/452208792)
  • שינינו את השם של isFeatureGroupSupported ל-isSessionConfigSupported, והוספנו תמיכה בכל סוגי SessionConfig. (I21616, ‏ b/448781299)
  • המרת ExtensionsManager להטמעה ב-Kotlin. ‫(I73091, b/452208792)
  • נוספה האפשרות CameraProvider#getCameraInfo(CameraSelector, SessionConfig) לאחזור CameraInfo כשה-SessionConfig יכול להשפיע על בחירת המצלמה. לדוגמה, כשמשתמשים ב-ExtensionSessionConfig. (Ic548c, ‏ b/451891648)
  • ‫API חשוף של ExtensionSessionConfig. אפליקציות יכולות ליצור ExtensionSessionConfig ולהשתמש בו כדי ליצור סשן של תוספים עכשיו. ‫(I6354c, ‏ b/448524373)
  • androidx.camera.video.HighSpeedVideoSessionConfig API כבר לא ניסיוני, ועכשיו הוא API ציבורי יציב לחלוטין. (I492d4, ‏ b/447558239)
  • androidx.camera.core.SessionConfig API כבר לא ניסיוני, ועכשיו הוא API ציבורי יציב לחלוטין. ‫(Idc87a, ‏ b/447558437)

תיקוני באגים

  • תוקנה קריסה שנגרמה בגלל IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object: ב-Android 17 ואילך. (Ibd7b5, b/463465353)
  • החרגנו גדלים של פלט בפורמט YUV בעייתי ממכשיר Samsung Z Fold 4. כשמשתמשים בגדלי הפלט האלה, יש בעיה של עיוות בתמונות שמתקבלות. (I776bf, ‏ b/460322307)
  • תוקנה הבעיה שבה ההגדרה CaptureRequest.FLASH_MODE לא הוחלה כשהיא הוגדרה דרך Camera2Interop API. (I0004c, ‏ b/459608684)
  • תוקנה בעיה ספציפית למכשיר Samsung A53 שבה צילום תמונות עם פנס מופעל נכשל לפעמים אם מקרה השימוש VideoCapture מאוגד. (I0f183, b/458197367)
  • תוקנה בעיה במכשירים מסוימים שבה השימוש בפלאש עם מצלמת ה-Ultrawide עלול לגרום לתמונות עם חשיפה נמוכה מדי. (Ib7530, ‏ b/444590340)

גרסה ‎1.6.0-alpha01

‫22 באוקטובר 2025

androidx.camera:camera-*:1.6.0-alpha01 מופץ. גרסה ‎1.6.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • ‫CameraX עברה לסט של מצלמות מאוחדות עם ביצועים גבוהים, שמשמש גם את אפליקציית המצלמה של Pixel. הסט החדש הזה, שנקרא CameraPipe, הוא תוצאה של שיתוף פעולה בין הצוותים של CameraX ושל מצלמת Pixel. כך אנחנו מוודאים שכל השיפורים משותפים, ושהם מועילים למשתמשי CameraX ולאפליקציית המצלמה ב-Pixel.

שינויים ב-API

  • נוספו ממשקי API חדשים לזיהוי דינמי של הוספה או הסרה של מצלמות. פרטים נוספים זמינים במאמר בנושא CameraPresenceListener API. (I41ead, ‏ b/427182232, ‏ b/419441394)

תיקוני באגים

  • ה-API של קבוצת התכונות מספק עכשיו תוצאות עקביות כשמשתמשים ב-PREVIEW_STABILIZATION עם VideoCapture. התיקון הזה פותר באג שגרם לתוצאות לא עקביות כשמקרה שימוש של Preview לא היה פעיל. (Ifed82, ‏ b/449913903)
  • תוקנה בעיה שבה תכונות מועדפות שלא נתמכות היו זמינות באופן שגוי. הסינון של התכונות מתבצע עכשיו בצורה נכונה כשלא מתקיימים תרחישי השימוש הנדרשים. (I38db8, ‏ b/449532342)
  • תוקנה בעיה שגרמה לתוצאות וידאו עם תקלות ב-Samsung Galaxy S6. ‫(I612d9, ‏ b/235127608)
  • תוקנה בעיה שבה CameraInfo#isFeatureGroupSupported יכול היה להחזיר את הערך true עבור PREVIEW_STABILIZATION אם SessionConfig בשאילתה כבר הוגדר עם תכונות אחרות. ‫(I2c355c, ‏ b/437816469)

גרסה 1.5 של המצלמה

גרסה 1.5.3

‫28 בינואר 2026

androidx.camera:camera-*:1.5.3 מופץ. גרסה 1.5.3 מכילה את השמירות האלה.

תיקוני באגים

  • התלות ב-ExifInterface עודכנה לגרסה 1.4.2. העדכון הזה מתקן כשל בצילום תמונות שמתרחש במכשירים שמפיקים קובצי JPEG עם בייטים נוספים (ומותרים) של 0xFF לפני סמן. (I16df4)

גרסה 1.5.2

‫4 בדצמבר 2025

androidx.camera:camera-*:1.5.2 מופץ. גרסה 1.5.2 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה קריסה שנגרמה בגלל IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object: ב-Android 17 ואילך. (Ic9184)
  • תוקן באג שגרם לתוצאות לא עקביות של Feature Group API כשנוספה התכונה PREVIEW_STABILIZATION עם תרחיש השימוש VideoCapture, אבל בלי תרחיש השימוש Preview. (Ifed82)
  • תוקנה בעיה שבה תכונות מועדפות קבועות לא סוננו למרות שלא היו תרחישי שימוש נדרשים לתמיכה בתכונות. (I38db8)

גירסה 1.5.1

‫8 באוקטובר 2025

androidx.camera:camera-*:1.5.1 מופץ. גרסה 1.5.1 מכילה את השמירות האלה.

תיקוני באגים

  • תמיכה ב-CameraEffect במצב של קומפוזיציה בו-זמנית של המצלמה. האפקט יופעל על פלט ההרכב. שימו לב: המערכת תתעלם מההגדרה mirrorMode ב-VideoCapture אם האפקט מוגדר במצב של קומפוזיציה מקבילה של המצלמה. (If3d00, b/425565129)
  • תוקנה הבעיה שבה mirrorMode לא מוחל בצורה נכונה על המצלמה המשנית במצב של קומפוזיציה של מצלמות בו-זמנית. (I686cd, b/446430827)
  • תמיכה בקישור של Preview, ImageCapture ו-VideoCapture יחד במצב מצלמה לא מורכב בו-זמנית. (Ib410a, ‏ b/443009871)
  • תוקנה בעיה שבה תרחישי שימוש כמו ImageCapture ו-VideoCapture איבדו את פרטי הרוטציה של הטירגוט אם הם נוצרו מחדש. אם משנים הגדרה כמו imageCaptureMode אחרי שמסובבים את המכשיר, יכול להיות שהתמונות או הסרטונים יהיו בכיוון לא נכון. (I477c8, ‏ b/444734537)
  • תוקנה הבעיה שמנעה את הבחירה ברזולוציות של 16:9 בתצוגה המקדימה ואת ההקלטה ב-QUALITY_1080P ב-VideoCapture. הבעיה הזו התרחשה כשנעשה שימוש בהגדרת רזולוציה של תצוגה מקדימה שמוגדרת כברירת מחדל, בזמן שהתכונה הפנימית StreamSharing הייתה פעילה (למשל, כשארבעה UseCase קשורים בו-זמנית). (I493cb, ‏ b/440364875)
  • תוקנה קריסה שמתרחשת כשמפעילים אפקט אחרי ש-SurfaceProcessor מושבת (I2c450, ‏ b/414150174)
  • תוקן באג ב-CameraController שגרם ל-IllegalStateException כשבתרחיש שימוש ראשוני נבחרה הרזולוציה המקסימלית, מה שמנע לאחר מכן את הקישור של תרחישי שימוש אחרים. (Ifb758, ‏ b/440374234)
  • לא כולל גדלי פלט בעייתיים של YUV_420_888 עבור Nokia 7 Plus, שיגרמו לבעיה של כשל שקט ללא דיווח על הודעות שגיאה. (I3af47, ‏ b/436524501)
  • תוקנה בעיה שבה CameraInfo#isFeatureGroupSupported יכול להחזיר ערך true באופן שגוי לתכונה PREVIEW_STABILIZATION. לפעמים זה קורה כשמבצעים שאילתה עם SessionConfig שכבר הוגדר עם תכונות אחרות. (I2c355, b/437816469)
  • שיפרנו את היציבות של CameraXViewfinder ברמות API ישנות יותר ובמכשירים עם בעיות ב-SurfaceView. במקרים כאלה, ברירת המחדל היא TextureView. מנגנון ברירת המחדל החדש הזה ניתן לשינוי באמצעות תכנות. (Ieb476, ‏ b/437496463)
  • תוקן דליפת זיכרון ב-PreviewView, שעלולה למנוע את איסוף האשפה של הפעילות שלה. זה קורה אם מגיע SurfaceRequest חדש לפני שהטיפול בקוד הקודם מסתיים. (I4aa0b,b/443112512)
  • תוקנה בעיה שגרמה לכך שצילום במהירות גבוהה או בהילוך איטי נכשל במכשירים Huawei P smart, ‏ Infinix Hot 40i ו-Realme C53. (40a668e, b/442984200)

גרסה 1.5.0

‫10 בספטמבר 2025

androidx.camera:camera-*:1.5.0 מופץ. גרסה 1.5.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.4.0:

  • צילום במהירות גבוהה ובהילוך איטי: אפשר לשלב בקלות צילום סרטונים במהירות גבוהה (120/240 פריימים לשנייה) ובהילוך איטי עם מינימום קוד. פרטים נוספים מופיעים במאמרים Recorder#getHighSpeedVideoCapabilities(CameraInfo) וHighSpeedVideoSessionConfig.
  • SessionConfig ו-FeatureGroup API: ה-SessionConfig API החדש מאפשר להגדיר את סשן המצלמה ולהפעיל כמה תכונות יחד בצורה בטוחה, כולל HLG‏ (HDR),‏ UltraHDR,‏ 60 FPS וייצוב התצוגה המקדימה. אפשר גם להגדיר קבוצת תכונות מועדפת עם עדיפות, וכך לאפשר ל-CameraX לקבוע את השילוב הנתמך האופטימלי. למידע נוסף, אפשר לעיין במאמרים בנושא SessionConfig.Builder#setPreferredFeatureGroup, SessionConfig.Builder#setRequiredFeatureGroup ו-CameraInfo#isFeatureGroupSupported(SessionConfig).
  • ‫API של קצב פריימים דטרמיניסטי: כדי לפתור את הבעיות הקודמות ב-setTargetFrameRate, אפשר להשתמש ב-CameraInfo.getSupportedFrameRateRanges(sessionConfig) כדי לשלוח שאילתות וב-SessionConfig.setExpectedFrameRateRange כדי להגדיר קצב פריימים מדויק ונתמך.
  • תוספים למצלמה: יש עכשיו תמיכה בפורמט UltraHDR בתוספים. בודקים את ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats() ומפעילים אותו ב-ImageCapture.Builder.setOutputFormat. כשמפעילים תוספים, יחס הזום ויכולות הייצוב של התצוגה המקדימה משתקפים עכשיו.
  • עוצמת הפנס: משנים את עוצמת הפנס באמצעות CameraControl.setTorchStrengthLevel.
  • מצב שיפור בתאורה נמוכה: אפשר להפעיל את מצב השיפור בתאורה נמוכה(CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) באמצעות ממשקי ה-API הבאים: CameraInfo#isLowLightBoostSupported,‏ CameraInfo#getLowLightBoostState ו-CameraControl#enableLowLightBoostAsync.
  • צילום וידאו: מעכשיו, ההודעה VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE מופיעה אם אין מספיק נפח אחסון במהלך ההקלטה. PendingRecording.withAudioEnabled(boolean initialMuted) מאפשרת לשלוט במצב ההשתקה ההתחלתי של הקלטת האודיו.
  • צילום תמונות: תמיכה בפורמטים DNG ‏ (RAW) ו-JPEG + DNG ‏ (RAW) ב-ImageCapture. בודקים אם יש תמיכה ב-RAW ב-ImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats(). אפשר להשתמש ב-API עם עומס יתר של takePicture עם כמה OutputFileOptions לצילום בפורמט RAW+DNG.
  • ניתוח תמונות: תמיכה בפורמט NV21 ב-ImageAnalysis. מפעילים אותו באמצעות ImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21).

גרסה ‎1.5.0-rc01

‫13 באוגוסט 2025

androidx.camera:camera-*:1.5.0-rc01 מופץ. גרסה ‎1.5.0-rc01 מכילה את השמירות האלה.

תיקוני באגים

  • העברת ברירת המחדל של minSdk מ-API 21 ל-API 23 (Ibdfca, ‏ b/380448311, ‏ b/435705964, ‏ b/435705223)
  • הוסרה ההגבלה על פלט של 10 ביט במצב חשיפה אוטומטית של שיפור תאורה חלשה. אפליקציות יכולות עכשיו להפעיל בו-זמנית את שתי התכונות במכשירים נתמכים. (I5a638)
  • תוקנה בעיה שגרמה למכשירים עם ערכות שבבים מסוג UniSoc להיתקע בזמן צילום תמונה. הבעיה התרחשה כשנעשה שימוש ב-VideoCapture, ב-Preview וב-ImageCapture בו-זמנית, כשכל הזרמים הוגדרו לרזולוציה של 1280x720. (Ia00c4, b/380802479)
  • תוקן באג שגרם למסך שחור בתצוגה המקדימה כשלא הוגדר קצב פריימים גבוה להקלטה במהירות גבוהה או בהילוך איטי. (cdf0ff2e9)
  • שיפור הטיפול בשגיאות והרישום ביומן ב-getViewportAspectRatioInt (82fca18)

גרסה ‎1.5.0-beta02

‫16 ביולי 2025

androidx.camera:camera-*:1.5.0-beta02 מופץ. גרסה ‎1.5.0-beta02 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו ממשקי API חדשים כדי להגדיר או לשאול לגבי קבוצות של תכונות באיכות גבוהה בצורה אינטואיטיבית ומדויקת יותר, כי יכול להיות שהתכונות האלה לא נתמכות כשילוב בכל המכשירים. ‫SessionConfig כולל עכשיו ממשקי API חדשים לציון קבוצת תכונות כנדרשות או מועדפות. ה-API‏ CameraInfo.isFeatureGroupSupported מאפשר לדעת אם קבוצת תכונות נתמכת לפני שמקשרים SessionConfig. ‫SessionConfig מאפשר גם להגדיר מאזין כדי לדעת אילו תכונות נבחרו בסופו של דבר כשמגדירים את התצורה של הסשן. (Ie4d60)
  • הוספנו את ממשקי ה-API החדשים SessoinConfig.Builder.setFrameRateRange(Range<Integer>) ו-CameraInfo.getSupportedFrameRateRanges(SessionConfig), שמאפשרים למפתחים לשלוח שאילתה לגבי קצבי פריימים נתמכים מובטחים שמוגבלים על ידי SessionConfig ספציפי, ואז להחיל את קצב הפריימים על SessionConfig. (Ieacf7)
  • הוספנו את ה-API החדש SessionConfig, שכולל הפשטה טובה יותר להגדרת תרחישי שימוש, פרמטרים של סשנים, CameraEffect, ViewPort וכו'. קישור של SessionConfig ל-LifecycleOwner פותח את סשן המצלמה, מגדיר אותו באמצעות תרחישי השימוש ופרמטרים של הסשנים שצוינו, ומחיל את CameraEffect ו-ViewPort שנקבעו. כשמעדכנים SessionConfig חדש לאותו LifecycleOwner, אפשר פשוט לקשר Sessionconfig חדש בלי להפעיל קודם את ביטול הקישור או את unbindAll. (Iedfc3)
  • נוספו ממשקי API חדשים לצילום סרטונים במהירות גבוהה או בהילוך איטי. פרטים נוספים זמינים במאמר בנושא HighSpeedVideoSessionConfig API. (Ia16f3)

תיקוני באגים

  • תוקנה בעיה ב-API של ImageCaptureCapabilities#getSupportedOutputFormats() שגרמה לדיווח על פורמטים של RAW כנתמכים במכשירים מסוימים, למרות שבפועל אין להם יכולת RAW. (Ibcadb)
  • תוקנה דליפת הזיכרון שמתרחשת כשמשתמשים ב-PreviewView, כש-CameraEffect מופעל או כשמבצעים קישור של 4 תרחישי שימוש(StreamSharing) (I87468)
  • תוקנה קריסת הקלטת סרטון על ידי AssertionError: מצב אודיו פנימי לא תקין: IDLING. (I38d4b, b/414259796)
  • תוקנה הבעיה שבה כשהאפליקציה פועלת במסך חיצוני והמכשיר נמצא במצב לרוחב, התצוגה המקדימה ב-PreviewView נמתחת או מוצגת לרוחב (Ia917a)
  • תוקנה הבעיה שבה הגדרות הייצוב של התצוגה המקדימה לא מוחלות בצורה נכונה כשמשתפים את הסטרימינג מהמצלמה בין התצוגה המקדימה לבין VideoCapture.‏ (I5430e)
  • CameraXViewfinder מטפל עכשיו בצורה תקינה בהחלפת משטח ב-Viewfinder הבסיסי. התרחישים האלה כוללים מצבים שבהם EXTERNAL viewfinder ברמת API 28 ומטה יוצא מהמסך, או אם CameraXViewfinder (עם ImplementationMode כלשהו) הוא חלק מ-moveableContentOf(). במקרים שבהם אי אפשר לשמור על הפעילות של ViewfinderSurfaceSession הבסיסי, CameraXViewfinder יבטל את התוקף של SurfaceRequest הנוכחי של CameraX, ויאפשר ל-CameraX להשתמש ב-Surface החדש. (I79432)
  • תוקנה בעיה ב-Android 10/11 שבה EXTERNAL CameraXViewfinder יכול להופיע מתוח או לא תקין בגלל פעולות שינוי (כמו שינוי גודל או הזזה) שמוחלות מוקדם מדי. המערכת מחכה עכשיו ליצירת הרכיב Surface לפני שהיא מחילה את השינויים האלה בשלב הפריסה, כדי להבטיח פלט נכון. (Icc77c)
  • ‫Composable CameraXViewfinder פועל עכשיו בצורה תקינה עם Pager של Compose. השינוי הזה מבטיח שאפשר לאפס את ה-Composable בהצלחה על ידי הטמעה של הקריאה החוזרת (callback) onReset של AndroidView, עם תמיכה בהטמעות של EMBEDDED ושל EXTERNAL. (I0d9be)
  • תוקן דליפת בעלים של מחזור חיים שמתרחשת כשמבטלים את הקישור של תרחישי שימוש לבעלים של מחזור חיים בלי לסגור את ספק המצלמה.

גרסה ‎1.5.0-beta01

‫7 במאי 2025

androidx.camera:camera-*:1.5.0-beta01 מופץ. גרסה ‎1.5.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP 2.0.0 או גרסה חדשה יותר (Idb6b5)
  • אפשר להשתמש עכשיו בContentScale ובאפשרות 'הזחה' בתוך העינית כדי לשנות את גודל המשטח המוצג ולמקם אותו בתוך המאגר שלו, באופן דומה להתנהגות של androidx.compose.foundation.Image. (Ibcea3)
  • TransformationInfo כולל עכשיו ערכי ברירת מחדל לכל הארגומנטים. כך אפשר ליצור Viewfinders בלי TransformationInfo, שברירת המחדל שלו תהיה סיבוב מקור של 0, ללא שיקוף מקור וללא חיתוך של מלבן. (I2b1b2)
  • נוסף LifecycleCameraProvider, שהוא ספק מצלמות שאפשר ליצור ממנו מופע עם הגדרות שונות לתכונות כמו גישה למצלמה של מכשיר וירטואלי באמצעות הגדרה עם הקשר מותאם אישית. (Ia2992)

תיקוני באגים

  • תוקנה בעיה של הקפאת התצוגה המקדימה כשמשתמשים ב-ImageAnalysis עם סטרימינג אחר שמשתמש ב-TEMPLATE_RECORD במכשיר Samsung SM-E556B. (Ic0e62, ‏ b/409478042)
  • תוקנה בעיה שגרמה להקפאת התצוגה המקדימה כשמשתמשים ב-ImageAnalysis עם סטרימינג אחר שמשתמש ב-TEMPLATE_RECORD במכשיר Samsung SM-M556B. ‫(Ic1a6a, ‏ b/395822788)
  • תוקנה בעיה במצב הלילה של התוספים AssertError במכשירי Pixel עם Android 15 כשמבצעים פעולות שקשורות לשינוי מרחק התצוגה. ‫(I27a5d, ‏ b/401460276)
  • תוקנה בעיה שקשורה לקואורדינטות שגויות של תיבת התוחמת ב-ML Kit Analyzer כשמשתמשים ב-CameraController. (Iae91b, b/409808510)

גרסה ‎1.5.0-alpha06

‫26 בפברואר 2025

androidx.camera:camera-*:1.5.0-alpha06 מופץ. גרסה ‎1.5.0-alpha06 מכילה את השמירות האלה.

שינויים ב-API

  • נוספו CameraInfo.getTorchStrengthLevel, ‏ CameraInfo.getMaxTorchStrengthLevel ו-CameraControl.setTorchStrengthLevel כדי לאפשר התאמה אישית של בהירות הפנס (I00878)
  • נוסף API חדש,‏ CameraController#setTapToFocusAutoCancelDuration, כדי לאפשר למשתמשים לשלוט בהתנהגות של ביטול אוטומטי של אירועי PreviewView tap-to-focus. כברירת מחדל, CameraX מבטל את אירועי המיקוד אחרי 5 שניות (כלומר, המיקוד של המצלמה מתאפס), וממשק ה-API הזה מאפשר לשנות את משך הזמן הזה או להשבית את הביטול האוטומטי לגמרי. (Icf59a)
  • השם של FLASH_STATE_READY השתנה ל-NOT_FIRED, והשמות של הקבועים האחרים FlashState פשוטים יותר כדי שיהיה קל יותר לקרוא אותם. (I8771d)
  • ‫Low Light Boost API נחשף. מכשירים עם Android מגרסה 15 ואילך יכולים לספק תמיכה בהגברת האור בתנאי תאורה חלשים. התכונה הזו יכולה לכוון אוטומטית את הבהירות של התצוגה המקדימה, של הווידאו או של הזרמים של ניתוח התמונות בתנאי תאורה חלשה. אפליקציות יכולות להשתמש ב-API החדש כדי: 1. אפשר להשתמש ב-CameraInfo#isLowLightBoostSupported כדי לבדוק את הזמינות של התכונה. 2. משתמשים ב-CameraControl#enableLowLightBoostAsync כדי להפעיל את המצב כשהמכשירים תומכים בו. 3. אפשר להשתמש בCameraInfo#getLowLightBoostState כדי לעקוב אחרי מצב ההגברה בתאורה חלשה. (I937ed)
  • הוספת מחלקות תאימות כדי לאפשר שאילתות מהירות יותר שאינן camera2 בשאילתת שילוב תכונות של המצלמה. (Ie97ee)
  • במקרה של אירועי הקשה למיקוד, API חדש getTapToFocusInfoState() חושף עכשיו גם את מיקום ההקשה המתאים על ידי החזרת LiveData של מחלקת TapToFocusInfo, בעוד ש-API הקודם LiveData<Integer> שמחזיר getTapToFocusState() יצא משימוש לטובת ה-API החדש.CameraController (I238d2)

תיקוני באגים

  • תוקנה הבעיה שבה ייצוב התצוגה המקדימה לא מוחל כשהוא מופעל באמצעות תוספים. (I24ad7)
  • תוקן מצב המיקוד CameraController שלא מתאפס ל-TAP_TO_FOCUS_NOT_STARTED כש-CameraX מבטל אוטומטית אירוע מיקוד שמתרחש אחרי 5 שניות כברירת מחדל. (I31954)
  • תוקן קפיאת התצוגה המקדימה כשמשתמשים ב-Zero Shutter Lag (ZSL) אחרי כמה צילומים בגלל משאבי תמונה שלא שוחררו. (Ic3c2a)
  • תוקנו בעיות שגרמו לכך שבחלק מהמכשירים, לסרטוני UHD היה גוון אדום כשצינור הנתונים כלל OpenGL. (Idcedc)

גרסה ‎1.5.0-alpha05

‫15 בינואר 2025

androidx.camera:camera-*:1.5.0-alpha05 מופץ. גרסה ‎1.5.0-alpha05 מכילה את השמירות האלה.

שינויים ב-API

  • מוסיפים את VideoCapture.getSelectedQuality() כדי לדעת מהי האיכות שנבחרה על סמך QualitySelector. (I70508, b/204288986)
  • כשמפעילים צילום תמונה באמצעות ImageCapture.OnImageCapturedCallback API, אפשר להשתמש עכשיו ב-ImageInfo ב-ImageProxy שמוחזר כדי לדעת אם נעשה שימוש בפלאש באמצעות ImageInfo.getFlashState() API החדש. (Id2c61, b/380527406)
  • נוספה תמיכה בפורמט הפלט OUTPUT_IMAGE_FORMAT_NV21 עבור ImageAnalysis. (I484ab)
  • הסרת ההערה הניסיונית של פריט המידע שנוצר בתהליך פיתוח (Artifact)‏ featurecombinationquery (I4427f)
  • כשמצב התוספים מופעל, אפשר לשנות את טווח יחסי הזום שמותרים ל-CameraControl לפי מאפיינים ספציפיים לתוספים. (I85af1)

תיקוני באגים

  • שודרג ל-compileSdk כ-35 לשימוש ב-API שקשור ל-Android 15. אפליקציות שמשתמשות בספריות CameraX יצטרכו גם לשדרג את הגדרת התצורה compileSdk שלהן. (Ic80cd)
  • הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן מסוג type-use. מפתחי Kotlin צריכים להשתמש בארגומנט המהדר הבא כדי לאכוף שימוש נכון: -Xjspecify-annotations=strict (זו ברירת המחדל החל מגרסה 2.1.0 של מהדר Kotlin). ‫(Idc6c6, ‏ b/326456246)

גרסה ‎1.5.0-alpha04

‫11 בדצמבר 2024

androidx.camera:camera-*:1.5.0-alpha04 מופץ. גרסה ‎1.5.0-alpha04 מכילה את השמירות האלה.

שינויים ב-API

  • הצגנו את ImageCapture.Builder#setOutputFormat ו-ImageCaptureCapabilities#getSupportedOutputFormats כממשקי API יציבים (Ieb04a)
  • מוסיפים VideoCapture.getResolutionInfo() כדי לקבל את פרטי הרזולוציה כש-VideoCapture מאוגד למחזור חיים. (Icb478)
  • הוספנו את PreviewView.getScreenFlash ו-PreviewView.setScreenFlashOverlayColor כממשקי API יציבים. (I74fee)

תיקוני באגים

  • תוקנה בעיה שגרמה לכשל בצילום במכשיר Vivo 1610 בזמן צילום תמונה עם פלאש בחושך. (I366f4)
  • תוקנה בעיה שגרמה להשבתה לא צפויה של הפנס אחרי צילום תמונה ב-Redmi Note 6 Pro. ‫(I2e0e8, ‏ b/377144569)
  • תוקנה בעיה במכשירי Pixel עם Android 15 שבה מצב הלילה בתוספים לא הצליח לצלם תמונות סטילס עד שהמצלמה התמקדה באובייקט קרוב. (I228d4)
  • תוקנה הבעיה שגרמה לתקלה בצילום תמונות סטילס כשתוספים מופעלים ו-VideoCapture קשור יחד. (I5c745)
  • ההגדרה 'מופעלת' UltraHDR מאפשרת לתוספים לתמוך בצילום תמונות סטילס, אם המכשיר תומך בכך. (I48300)
  • תוקנה בעיה בתזמון של Flash בצילום תמונות ב-Flash בטירגוט של צילומי תמונות במכשירי TCL.CameraEffect (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 בו-זמנית. ה-API החדש ImageCapture#takePicture משמש לצילום תמונות בו-זמני, והוא צריך לספק שני OutputFileOptions, הראשון לתמונה בפורמט RAW והשני לתמונה בפורמט JPEG. (Ib0f3d)

תיקוני באגים

  • תוקנה בעיה של חשיפת חסר בתצוגה מקדימה ובסרטון במכשירי TCL כשההגדרה VideoCapture מופעלת. (Id7a64)
  • תוקנה הבעיה שבה הפעלת startFocusMetering עם PreviewView.getMeteringPointFactory לא מחזירה את הקואורדינטות הנכונות של החיישן כשמופעל אפקט או כשמקושרים 4 תרחישי שימוש (שיתוף סטרימינג). (I916c5, ‏ b/345993685)
  • תוקנה הבעיה שבה האירוע VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE לא מופעל כשמקליטים סרטון ואין מספיק נפח אחסון פנוי. (I35779, b/356399842)

גרסה ‎1.5.0-alpha02

‫2 באוקטובר 2024

androidx.camera:camera-*:1.5.0-alpha02 מופץ. גרסה ‎1.5.0-alpha02 מכילה את השמירות האלה.

תכונות חדשות

  • ממשקי API חדשים לשליחת שאילתות לגבי תכונות המצלמה שהמכשיר תומך בהן. לדוגמה, אפשר לבדוק אם אפשר להפעיל בו-זמנית את ההגדרה HDR ואת ההגדרה 60FPS. היא כוללת 2 ארטיפקטים: camera-feature-combination-query ו-camera-feature-combination-query-play-services. זוהי גרסה תואמת של CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported API של camera2 עם נתונים נוספים שמסופקים על ידי Google Play Services.

תיקוני באגים

  • תוקנה בעיה בקצב הפריימים המהיר בדגמי מכשירים ברמת LEGACY‏ Preview/VideoCapture. הערך של קצב הפריימים של היעד שהוגדר באמצעות API‏ setTargetFrameRate או Camera2Interop תמיד נדרס לערך שסופק על ידי AeFpsRangeLegacyQuirk. בעקבות התיקון הזה, ספריית CameraX תכבד את הערך שהוגדר באמצעות API‏ setTargetFrameRate או Camera2Interop. (Ie2d32)
  • נוספו פונקציות של פלאש/פנס/3A לצילום תמונות באמצעות CameraEffect. התמונות שצולמו עם CameraEffect צריכות לעבור עכשיו את אותם תהליכי עיבוד לפני הצילום ואחרי הצילום (למשל הפעלת פלאש, המרת 3A וכו' כשזה רלוונטי) כמו תמונות שצולמו בלי CameraEffect. (I5ff30)
  • החרגנו גדלי פלט בעייתיים עבור ImageAnalysis במכשיר Samsung SM-A057G. אם משתמשים ברזולוציה של 1920x1440 או יותר, תהיה בעיה בתצוגה המקדימה של המסך השחור.ImageAnalysis החלנו את ExcludedSupportedSizesQuirk במכשיר SM-A057G כדי למנוע את הבעיה. ‫(I63dfe, ‏ b/365877975)
  • תוקנה בעיה שקשורה ליעד קצב הפריימים כשמנגנון שיתוף השידור מופעל באופן פנימי כדי לשתף שידור ל-Preview ול-VideoCapture.Preview/VideoCapture (I4fdac)
  • הפעלנו את הפתרון העקיף לתיקון הבעיה של מטא-נתונים שגויים של תמונות JPEG במכשירי Samsung S10e ו-S10+. בעקבות התיקון, אפשר לשמור תמונת JPEG באמצעות CameraX, או להחזיר אובייקטים של 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)
  • תוקנה בעיה שבה ניסיון שני להקלטת סרטון נכשל ב-Oppo A5 ‏ (CPH1931). (I181d6)

גרסה ‎1.5.0-alpha01

‫4 בספטמבר 2024

androidx.camera:camera-*:1.5.0-alpha01 מופץ. גרסה ‎1.5.0-alpha01 מכילה את השמירות האלה.

תכונות חדשות

  • camera-compose, ארטיפקט חדש, יוצא עבור CameraX Viewfinder Compose Adapter, שמציג זרם תצוגה מקדימה מ-CameraX ‏SurfaceRequest מ-camera-core. (I8666e)
  • נוסף רכיב קומפוזבילי חדש, CameraXViewfinder, שפועל כרכיב קומפוזבילי אידיומטי שמתאים את רכיבי SurfaceRequest של CameraX לרכיב הקומפוזבילי Viewfinder. (I4770f)

שינויים ב-API

  • מספק API להגדרת הגדרות קומפוזיציה לצילום וידאו בו-זמני משתי מצלמות. ההגדרות כוללות ערך אלפא למיזוג, היסט בקואורדינטות x ו-y, קנה מידה של הרוחב והגובה של חלון התצוגה של מסגרת המצלמה. ההיסט, הרוחב והגובה מצוינים בקואורדינטות מנורמלות של המכשיר. (Ia2b8a)
  • ה-API הזה חשוף לשימוש כ-API רשמי.CameraProvider.getCameraInfo (I901cd)
  • נוסף API‏ PendingRecording.withAudioEnabled(boolean initialMuted) לשליטה במצב ההשתקה הראשוני. ‫(I635c3, ‏ b/354829267)

תיקוני באגים

  • תוקנה הקריסה שמתרחשת כשמפעילים את bindToLifecycle עם LifecycleOwner שהושמד. (I6e6d8)
  • תוקנה בעיה שבה התצוגה המקדימה היא מסך שחור במצלמה הקדמית בזמן הקישור ל-VideoCapture ב-Motorola Edge 20 Fusion. (I1fe88)
  • בוצעה אופטימיזציה של ההגדרה לזיהוי תנועות זום ב-PreviewView כדי לשפר את החלקות. (I04ffc)

גרסה 1.4 של המצלמה

גרסה 1.4.2

‫26 במרץ 2025

androidx.camera:camera-*:1.4.2 מופץ. גרסה 1.4.2 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה של הקפאת תצוגה מקדימה כשמשתמשים ב-ImageAnalysis עם סטרימינג אחר שמשתמש ב-TEMPLATE_RECORD ב-Samsung Galaxy M55. ‫(Ic1a6a, ‏ b/395822788)

גרסה 1.4.1

‫11 בדצמבר 2024

androidx.camera:camera-*:1.4.1 מופץ. גרסה 1.4.1 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה במכשירי Pixel עם Android 15 שבה מצב הלילה בתוספים לא הצליח לצלם תמונות סטילס עד שהמצלמה התמקדה באובייקט קרוב. (I228d4)
  • תוקנה הבעיה שגרמה לתקלה ב-ImageCapture#takePicture כשהתוספים מופעלים ו-VideoCapture קשור אליהם. (I5c745)

גרסה 1.4.0

‫30 באוקטובר 2024

androidx.camera:camera-*:1.4.0 מופץ. גרסה 1.4.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.3.0

גרסה CameraX 1.4.0 כוללת עדכונים מרגשים! כך זה נראה:

תכונה מרכזית: HDR באיכות 10 ביט:

  • אפשר לצלם בקלות תמונות וסרטונים מדהימים ב-HDR.
  • תמיכה בקידוד HLG ו-HEVC של 10 ביט.
  • ליהנות מתצוגה מקדימה של HDR באיכות 10 ביט ולשאול על יכולות המכשיר.
  • התכונה פועלת עם תמונות UltraHDR וסרטוני HDR במגוון הולך וגדל של מכשירים.

תכונות מגניבות נוספות:

  • תוספים ל-Kotlin: נוספו פונקציות ההשהיה takePicture ו-awaitInstance.
  • אפקטים בזמן אמת: אפשר להחיל אפקטים כמו סימני מים והדגשת אובייקטים.
  • ‫CameraController API: אמצעי בקרה חדשים להגדרת צילום וידאו.
  • ייצוב התצוגה המקדימה: שאילתת יכולת המכשיר והפעלת הייצוב.
  • שיפורים ב-VideoCapture: שליטה מדויקת יותר באיכות וגישה לרזולוציות גבוהות יותר.
  • שילוב של CameraX Extensions: שילוב חלק עם VideoCapture ותכונות חדשות של ImageCapture.
  • ‫Shutter Sound API: בדיקה קלה של הדרישות האזוריות לגבי צלילי צמצם.
  • פלאש במסך: שיפור התמונות בתאורה חלשה במצלמות הקדמיות.
  • ממשקי 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 לא מחזירה את הקואורדינטות הנכונות של החיישן כשמופעל אפקט או כשמקושרים 4 תרחישי שימוש (שיתוף סטרימינג). (I916c5, ‏ b/345993685)

גרסה ‎1.4.0-rc03

‫2 באוקטובר 2024

androidx.camera:camera-*:1.4.0-rc03 מופץ. גרסה ‎1.4.0-rc03 מכילה את השמירות האלה.

תיקוני באגים

  • נוספו פונקציות של פלאש/פנס/3A לצילום תמונות באמצעות CameraEffect. התמונות שצולמו עם CameraEffect צריכות לעבור עכשיו את אותם תהליכי עיבוד לפני הצילום ואחרי הצילום (למשל הפעלת פלאש, המרת 3A וכו' כשזה רלוונטי) כמו תמונות שצולמו בלי CameraEffect. (I5ff30)
  • בוצעה אופטימיזציה של הפעולה 'סגירת אצבעות כדי להגדיל את התצוגה' ב-PreviewView (I04ffc)
  • הפרדה בין Ultra HDR לבין יכולת פלט של 10 ביט, כי תמיכה ב-Ultra HDR לא מחייבת יותר שלמכשירים תהיה יכולת פלט של 10 ביט. ‫(I96ff2, ‏ I0c3b3)

גרסה ‎1.4.0-rc02

‫18 בספטמבר 2024

androidx.camera:camera-*:1.4.0-rc02 מופץ. גרסה ‎1.4.0-rc02 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה הקריסה שמתרחשת כשמפעילים את bindToLifecycle עם LifecycleOwner שהושמד. (I6e6d8)
  • נוספה אנימציה של שינוי הרשאות הגישה ב-ScreenFlashView עבור ScreenFlash#apply, וגם תוקנו באגים שקשורים לשינוי הבהירות שמתבצע באופן אסינכרוני אחרי זמן מה. (I37cdb)
  • שיפור החלקות של הזום על ידי ביטול הגדרות הזום במסגרת במכשירים נתמכים.

גרסה ‎1.4.0-rc01

‫7 באוגוסט 2024

androidx.camera:camera-*:1.4.0-rc01 מופץ. גרסה ‎1.4.0-rc01 מכילה את השמירות האלה.

תכונות חדשות

  • נוספה תכונה ניסיונית CameraInfo.getCameraInfo כדי לספק מידע ספציפי על המצלמה בלי לקשר תרחישי שימוש למצלמה. (I550d1)

שינויים ב-API

  • נוספו ממשקי API‏ PreviewView.getScreenFlash ו-PreviewView.setScreenFlashOverlayColor למקרים שבהם ScreenFlashView לא נוסף באופן מפורש. (I43945)

תיקוני באגים

  • תוקנו בעיות בחשיפה ובגוון הצבעים כשמצלמים תמונה עם פלאש מופעל בתנאי תאורה חלשים, עם שימוש בתרחיש לדוגמה של VideoCapture. (Ic9814)
  • תוקנה בעיה שבה הפסקת בקשת takePicture עם הפעלת התוספים עלולה לגרום לכך שלא תתקבל תוצאה, ובקשת takePicture הבאה עלולה לא לפעול יותר. (Iae78f)
  • תוקנה בעיה של דליפת זיכרון שמתרחשת כשהתוספים מופעלים. (Iab276)
  • תוקנה תקלה בתוספים של CameraX במכשירים כמו Pixel 7/8 וסדרת Samsung Galaxy S24. הבעיה, שנובעת מ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 לתרחיש לדוגמה של תצוגה מקדימה. הוא יתמוך בהפעלה ובהשבתה של מצב שיקוף עבור זרם התצוגה המקדימה באמצעות OutputConfiguration.setMirrorMode מ-API 33 ואילך. בממשקי API ישנים יותר, הוא לא יבצע פעולה. (I821f4)

תיקוני באגים

  • תוקנה הבעיה שבה לא ניתן לצלם תמונות באפליקציות ב-Samsung Tab A8 כשבוחרים באפשרות 1920x1080 בשילוב של ImageCapture + Preview + ImageCapture UseCase.VideoCapture ‫(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)

תיקוני באגים

  • תוקן באג שגורם לכך שעדיין לא מתבצע שימוש בערכי מצב הייצוב או בערכי הפריימים לשנייה של הבקשה החוזרת בצילום ובפוקוס בלחיצה, מה שעלול ליצור מחדש את סשן הצילום ולגרום לבעיות של זמן אחזור או להקפאה של התצוגה המקדימה במכשירים מסוימים. (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. הפורמט תואם לאחור לפורמט SDR JPEG ותומך בהצגת תוכן ב-HDR. כלומר, באפליקציות או במכשירים ישנים יותר, התמונות יופיעו בצורה חלקה כ-JPEG רגיל. באפליקציות ובמכשירים שעודכנו כך שיתמכו בפורמט באופן מלא, התמונות יופיעו כ-HDR. (I5de50)
  • הוספת PhysicalCameraInfo ב-CameraInfo כדי לשלוח שאילתה לגבי פרטי מצלמה פיזית והוספת פונקציות setter/getter של מזהה מצלמה פיזית ב-CameraSelector (Ic5b90)
  • מחליפים את CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED ב-ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED. הערך של הקבוע נשאר זהה. הפעולה הזו מאפשרת לרכז את כל הקבועים במקום אחד. (I890bb)
  • ה-API החדש של RetryPolicy מאפשר למפתחים להתאים אישית את התנהגות הניסיונות החוזרים לאתחול של CameraX. (I36dd2)
  • הפעלת יצירה של אובייקט ImageCaptureLatencyEstimate כדי לסייע בבדיקה (Iaba99)
  • מוסיפים ImageAnalysis#COORDINATE_SYSTEM_SENSOR. כשמשתמשים בשיטה הזו, הפונקציה MlKitAnalyzer מחזירה קואורדינטות במערכת הקואורדינטות של חיישן המצלמה. (I3ec61)
  • ‫Exposed extensions metadata API. ממשקי CameraExtensionsInfo ו-CameraExtensionsControl החדשים מאפשרים לאפליקציות לעקוב אחרי הגדרות העוצמה של התוסף ולשנות אותן. אפליקציות יכולות לקבל את מופע CameraExtensionsInfo או CameraExtensionsControl באמצעות השיטות ExtensionsManager#getCameraExtensionsInfo() או ExtensionsManager#getCameraExtensionsControl() שנוספו לאחרונה. (I28e1a)
  • נוספה ProcessCameraProvider.awaitInstance שהיא גרסה להשעיה של ProcessCameraProvider.getInstance (Ib22b9)
  • מוסיפים PreviewView#getSensorToViewTransform() API. המטריצה מייצגת את הטרנספורמציה מקואורדינטות של חיישן המצלמה לקואורדינטות של PreviewView. אפשר להשתמש בזה כדי להמיר קואורדינטות ממערכת UseCase אחת לאחרת. לדוגמה, שינוי הקואורדינטות של אובייקטים שזוהו ב-ImageAnalysis לכיסוי PreviewView. (I947ab)
  • הפיכת camera-viewfinder-core API לגנרי יותר כדי שאפשר יהיה להשתמש בו ב-camera-viewfinder וב-camera-viewfinder-compose. (I1e295)
  • הוספת הפונקציה getSurface אל ViewfinderSurfaceRequest. (I781a0)
  • להשתמש ב-camera-viewfinder-core ב-camera-viewfinder ולהוציא משימוש את ViewfinderSurfaceRequest ואת CameraViewfinder. (I6198c)
  • נוספה ZoomGestureDetector שמפרשת תנועות של שינוי גודל שהוגדרו במיוחד לפעילות של צביטה להגדלה. (Ifafbf)

תיקוני באגים

  • תוקנה הבעיה ImageAnalysis'בחירת רזולוציה שקשורה להגדרת ברירת המחדל של הרזולוציה של כלי הניתוח: רזולוציית היעד נשמרה באופן שגוי כ-640x480 גם אם האפליקציות הגדירו הגדרת רזולוציה שונה כברירת מחדל של כלי הניתוח. אם האפליקציות נתקלות בבעיה הזו (1.3.0 עד 1.3.2) ואי אפשר לשדרג אותן כדי להשתמש בגרסאות החדשות יותר שכוללות את הפתרון, אפשר לעקוף את הבעיה הזו על ידי הגדרה ישירה של ResolutionSelector עם הרזולוציה המועדפת ושל AspectRatioStrategy תואם ל-ImageAnalysis UseCase. (I81f72, b/330091012)
  • תוקנה בעיה שבה בקשת takePicture בתור עלולה להיכשל אם הבקשה הנוכחית נכשלה. (Ie0801)
  • הוספנו בדיקה של נתוני JPEG לא תקינים במכשירי Vivo X60 ו-X60 Pro. הפעולה הזו יכולה לפתור בעיה של תמונות גדולות באופן חריג במכשירים האלה. (I82247, ‏ b/288828159)
  • תוקנה הבעיה של מטא-נתונים שגויים בתמונות JPEG במכשירי Samsung A24. בעקבות התיקון, אפשר לשמור תמונת JPEG באמצעות CameraX, או להחזיר אובייקטים של Bitmap תקינים כשמפעילים את הפונקציה ImageProxy.toBitmap() במכשירי Samsung A24. (I8d6eb, b/309005680)
  • הגדרת בדיקה של נתוני JPEG לא תקינים שתחול על כל מכשירי Samsung אם התמונה שצולמה גדולה מ-10MB. הפעולה הזו יכולה לפתור בעיה של תמונות גדולות באופן חריג במכשירי Samsung. ‫(Ic2a65, ‏ b/288828159)
  • הסרנו את התמיכה ב-ImageAnalysis בתוספים של CameraX, כי הרבה הטמעות של תוספים של יצרני ציוד מקורי לא פועלות טוב עם ImageAnalysis, ויכולות לגרום לבעיות לא עקביות. (I2d926)

גרסה ‎1.4.0-alpha04

‫24 בינואר 2024

androidx.camera:camera-*:1.4.0-alpha04 מופץ. גרסה ‎1.4.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

  • פריט חדש: camera-effects: ספרייה להחלת אפקטים בזמן אמת על פלט של CameraX, כולל Preview, ‏ VideoCapture ו/או ImageCapture. הארטיפקט הזה מכיל הטמעות של OpenGL של ממשק CameraEffect API שמבצע מניפולציה של פלט המצלמה בצורה יעילה.
  • OverlayEffect: לציור שכבות-על באמצעות Canvas API של Android. ההרשאה הזו מאפשרת לאפליקציה להוסיף סימן מים או להדגיש אובייקטים שזוהו בפלט של המצלמה.
  • DynamicRange ממשקי API לתרחיש השימוש בתצוגה מקדימה: עכשיו אפשר להגדיר את הטווח הדינמי בתרחיש השימוש בתצוגה מקדימה, בנפרד מתרחיש השימוש בסרטון. כך אפשר להשתמש בטווחים דינמיים של HDR כמו HLG10 לתצוגה מקדימה בלבד. בנוסף, יש ממשקי API חדשים ב-CameraInfo שאפשר להשתמש בהם כדי לברר אילו טווחי תאורה דינמיים נתמכים בכל מצלמה.

שינויים ב-API

  • השם של ScreenFlashUiCompleter השתנה ל-ScreenFlashListener והפריט ScreenFlashUiCompleter#getExpirationTimeMillis הועבר לפרמטר expirationTimeMillis של ScreenFlash#apply. (I13944)
  • נוספו ממשקי API חדשים שמאפשרים להגדיר טווח דינמי בתרחיש השימוש של תצוגה מקדימה, ולשאול על טווחים דינמיים שנתמכים על ידי כל מצלמה. כך אפשר להשתמש בטווחים דינמיים של HDR, כמו HLG10, רק בתרחיש השימוש של התצוגה המקדימה, ולא נדרש יותר VideoCapture שיוגדר בו-זמנית. (If25e3)
  • השם של getMirroring() שונה ל-isMirroring() (I47063)
  • נוספה תמיכה בהערכת זמן האחזור של צילום תמונות סטילס בזמן אמת ב-CameraX. תוספי מצלמה מאפשרים לאפליקציות להשתמש ב-API שמספק הערכה של משך הצילום. ההערכה מתבססת על תנאי הסביבה הנוכחיים ומצב המצלמה, וכוללת את הזמן שנדרש לעיבוד בקשות לצילום של כמה פריימים, וגם את הזמן הנוסף שנדרש לקידוד של מאגרי נתונים שעברו עיבוד, אם יש צורך בכך. (I05c3a)
  • השם ScreenFlashUiControl הוחלף ל-ScreenFlash, השם ScreenFlashUiControl#applyScreenFlashUi הוחלף ל-ScreenFlash#apply, השם ScreenFlashUiControl#clearScreenFlashUi הוחלף ל-ScreenFlash#clear, והוספה method getScreenFlashUiApplyTimeoutSeconds במקום חשיפה ישירה של SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS. (Iccdd0)

תיקוני באגים

  • תוקנה דליפת זיכרון שגורמת לכך שפעילויות או קטעים לא משוחררים כשהתוספים מופעלים (I14215)
  • תוקנה הבעיה שבה getZoomRatio החזיר ערך מופחת באופן שגוי כשמחילים יחס זום הולך וגדל. ‫(I4aa0d, ‏ b/317543616)
  • האירוע ImageCapture#ScreenFlash#clear מופעל באופן מיידי כשמבטלים את הקישור של ImageCapture או כשסוגרים את המצלמה. בנוסף, תוקנו כמה באגים שבהם האירוע לא מופעל אף פעם בגלל שהלכידות בתרחישים האלה לא הושלמו כראוי. (If99f9)
  • תוקנה הקריסה שמתרחשת כשמחזור החיים נעצר לפני השלמת הבקשה takePicture (Idf017, ‏ b/306202751)
  • תוקנה הבעיה שבה התצוגה המקדימה של המצלמה הופכת לשחורה כשהתוספים מופעלים במכשירים מסוימים (I1ffd0)
  • תוקן משך ההקלטה השגוי של סרטונים במכשירים עם Snapdragon 778G SoC. ‏(If6aa7, ‏ b/316057919)

גרסה ‎1.4.0-alpha03

‫13 בדצמבר 2023

androidx.camera:camera-*:1.4.0-alpha03 מופץ. גרסה ‎1.4.0-alpha03 מכילה את השמירות האלה.

תכונות חדשות

  • נוסף CameraInfo.mustPlayShutterSound כדי לספק מידע על הצורך בהשמעת צליל צילום בהתאם להגבלות אזוריות. (Ifda84)
  • נוספו OnImageCapturedCallback.onCaptureStarted ו-OnImageSavedCallback.onCaptureStarted כדי לקבל התראה כשהמצלמה מתחילה לחשוף פריים. מומלץ להשמיע את צליל הצילום או להציג את אנימציית הצילום בשלב הזה. (Ic49b3)
  • נוספה תמיכה בתכונה 'הבהוב מסך' ב-CameraX לצילום תמונות במצלמה הקדמית. ‫CameraX מטפל ב-API בצד המסגרת ומסנכרן את התזמון עם שינויים בממשק המשתמש של האפליקציה לפי הצורך (לדוגמה, הפעלת AE לפני הצילום אחרי שינוי הצבע או הבהירות של מסך האפליקציה). באפליקציות צריך להוסיף את ההטמעות של ממשק המשתמש בממשק ScreenFlashUiControl שמועבר ל-CameraX. (I8ae84)
  • הוספנו תמיכה בהטמעה של התכונה 'הבהוב מסך' בצד ממשק המשתמש ב-CameraX. אפליקציות יוכלו לקבל הטמעה בסיסית של ImageCapture.ScreenFlashUiControl מ-PreviewView או מ-ScreenFlashView שנוסף לאחרונה. ההטמעה הזו תוסיף תצוגת שכבת-על בצבע אחד ותגדיל את בהירות המסך במהלך צילום תמונות עם הבהוב המסך. (I1810e)

שינויים ב-API

  • תמיכה בתכונות חדשות של תוספים(תהליך הצילום וההתקדמות של הצילום): נוספו ממשקי API‏ ImageCapture#getImageCaptureCapabilities() לאפליקציות כדי לשאול על היכולות של תהליך הצילום וההתקדמות של הקריאה החוזרת של הצילום. אפליקציות יכולות להפעיל את התכונה 'אחרי הצפייה' באמצעות ImageCapture.Builder#setPostviewEnabled(). אפשר לבחור את הגודל של התמונה אחרי הצפייה באמצעות ImageCapture.Builder#setPostviewResolutionSelector(). כשמפעילים את takePicture(), אפשר להטמיע את onPostviewBitmapAvailable ו-onCaptureProcessProgressed ב-OnImageSavedCallback או ב-OnImageCapturedCallback כדי לקבל את ההודעה על התקדמות העיבוד והצגת הפוסט אם יש תמיכה בכך. (I5cd88)
  • ממשקי API לחישוב טרנספורמציה של קואורדינטות מהחיישן למאגר הנוכחי, עם דגל שמציין אם המשטח מכיל את פרטי האוריינטציה של המצלמה. (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 של פורמט הפלט ל-CameraController.ImageAnalysis (I9a96c, b/308240643)

תיקוני באגים

  • מתוך מצלמה 1.3.1: שיפרנו את הביצועים של ProcessCameraProvider#bindToLifecycle(). השינוי העיקרי הוא אופטימיזציה של התהליך לזיהוי שילובי הגדלים המתאימים ביותר ל-UseCases. התוצאות האופטימליות משתנות בהתאם לשילובי UseCase הספציפיים ולמספר גדלי הפלט הנתמכים במכשירי היעד. (I454f2)
  • התרת השימוש ב-VideoCapture כשהתוספים מופעלים. (I91f32)
  • תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי סדרות Samsung A71 ו-M51. תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. היא גורמת לגודל קובץ קיצוני של התמונות שצולמו. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (I01afc, b/288828159)
  • כדי להימנע מהבאג ב-Pixel שגורם להחזרת הגדלים הלא ריקים שנתמכים ב-ImageAnalysis בטעות, צריך להשבית את התמיכה ב-ImageAnalysis ב-Pixel. (I7ec31)
  • תוקנה בעיית ביצועים שבה העומס על המעבד וצריכת החשמל גדלו כשהתוספים הופעלו. (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. היא גורמת לכך שגודל הקובץ של התמונות שצולמו יהיה גדול. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. ‫(I79505, ‏ b/299069235)
  • תוקנה הבעיה שבה אי אפשר לקשר בין ImageAnalysis לבין ImageCapture ותצוגה מקדימה כשחלק ממצבי התוסף מופעלים במכשירים מסוימים. התיקון יחזיר ערך נכון כשאפליקציות יבצעו שאילתה לגבי הזמינות של ImageAnalysis באמצעות ExtensionsManager#isImageAnalysisSupported(). (I7d538)
  • צריך לעדכן את JavaDoc כך שיתאים להתנהגות. במקום שהפעולות #setZoomRatio, #setLinearZoom ו-#enableTorch יסתיימו באופן מיידי, הן יחכו עד שהמצלמה תהיה מוכנה. בנוסף, הוספנו מידע על קבלת שדה הראייה המקסימלי באמצעות #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)
  • הסרנו את אפשרות הרזולוציה ‎9,280x6,944 במכשירי Redmi Note 9 Pro בגלל בעיות. (Ia23da)

גרסה 1.3.1

‫13 בדצמבר 2023

androidx.camera:camera-*:1.3.1 מופץ. גרסה 1.3.1 מכילה את השמירות האלה.

תיקוני באגים

שיפור בProcessCameraProvider#bindToLifecycle() הביצועים. השינוי העיקרי הוא אופטימיזציה של התהליך לזיהוי שילובי הגדלים המתאימים ביותר ל-UseCases. התוצאות האופטימליות משתנות בהתאם לשילובי UseCase הספציפיים ולמספר גדלי הפלט הנתמכים במכשירי היעד. (I454f2)

הנה כמה תוצאות לדוגמה לתרחישים שונים:

  • ארבעה UseCases: Preview + ImageCapture + ImageAnalysis + VideoCapture

    • ‫Google Pixel 7: בערך 430ms עד 60ms
    • ‫Samsung Galaxy S23 Ultra: בערך 540 אלפיות השנייה עד 45 אלפיות השנייה
    • ‫Samsung A53 5G: בערך 115ms עד 70ms
  • שלושה UseCases: Preview + ImageCapture + ImageAnalysis

    • ‫Google Pixel 7: בערך 9ms עד 7ms
    • ‫Samsung Galaxy S23 Ultra: בערך 6 עד 5 אלפיות השנייה
    • ‫Samsung A53 5G: בערך 32ms עד 12ms
  • הוספנו את Snapdragon 480 אל CameraUseInconsistentTimebaseQuirk. העדכון הזה פותר בעיה ב-Android 12 במכשירים שמשתמשים בערכת השבבים הזו, שבה האודיו בהקלטות מוסט בפרק הזמן שבו המכשיר נמצא במצב השהיה. (I58010)

גרסה 1.3.0

‫18 באוקטובר 2023

androidx.camera:camera-*:1.3.0 מופץ. גרסה 1.3.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.2.0

גרסה ‎1.3.0-rc02

‫20 בספטמבר 2023

androidx.camera:camera-*:1.3.0-rc02 מופץ. גרסה ‎1.3.0-rc02 מכילה את השמירות האלה.

תיקוני באגים

  • כדי לשפר את היציבות של התוספים, צריך לוודא שהאירועים של ההפעלה וההשבתה מופעלים בסדר הנכון. התיקון הזה פתר כמה בעיות שקשורות לתצוגה מקדימה שחורה כשעוברים בין מצבי תוספים או בין מצלמות. (Iddaac)
  • תוקנה הבעיה שבה אי אפשר לקשר בין ImageAnalysis לבין ImageCapture ותצוגה מקדימה כשחלק ממצבי התוסף מופעלים במכשירים מסוימים. התיקון יחזיר ערך נכון כשאפליקציות יבצעו שאילתה לגבי הזמינות של ImageAnalysis באמצעות ExtensionsManager#isImageAnalysisSupported(). (I7d538)
  • תוקנה הבעיה שבה האודיו והווידאו של הסרטון המוקלט לא היו מסונכרנים כשמצב שיקוף הופעל ב-Xiaomi Poco X3 NFC. (I20b4c)

גרסה ‎1.3.0-rc01

‫23 באוגוסט 2023

androidx.camera:camera-*:1.3.0-rc01 מופץ. גרסה ‎1.3.0-rc01 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו את PendingRecording.asPersistentRecording כדי לאפשר הקלטה רציפה בזמן ש-VideoCapture שאליו מצורף מכשיר ההקלטה מוגדר מחדש. (I517c6)

תיקוני באגים

  • תוקנה קריסה שמתרחשת כשמשתפים סטרימינג עם VideoCapture ועם תצוגה מקדימה. בנוסף, תוקנה בעיה של מסך שחור במכשירים מדור קודם כשהשיתוף של הסטרימינג מופעל.
  • תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי Samsung S7 (SM-G930T, ‏ SM-G930V). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. היא גורמת לכך שגודל הקובץ של התמונות שצולמו יהיה גדול. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (I407b0, ‏ b/288828159)
  • תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי סדרת Samsung S22 ‏ (SM-S901B, ‏ SM-S901B/DS) ו-S22+ ‏ (SM-S906B). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. הבעיה גורמת לכך שגודל הקובץ של התמונות שצולמו הוא גדול, כ-13MB במכשיר S22 SM-S901B/DS. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. ‫(I73be9, b/288828159)
  • תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי סדרות Samsung A5, ‏ A52, ‏ A70 ו-A72. תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. היא גורמת לגודל הקובץ של התמונות שצולמו להיות גדול במיוחד (לדוגמה, כ-32MB או אפילו 96MB). נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. ‫(I97c4d, ‏ b/288828159)
  • תוקנה קריסת האפליקציה המקורית כשמצלמים תמונות עם הפעלת התוספים (I698f5)

גרסה ‎1.3.0-beta02

26 ביולי 2023

androidx.camera:camera-*:1.3.0-beta02 מופץ. גרסה ‎1.3.0-beta02 מכילה את השמירות האלה.

תיקוני באגים

  • שימוש בפנס כפלאש בגרסאות של Pixel 4 ו-Pixel 5 כדי לשפר את איכות הצילום בתנאי תאורה חלשים (I56ff5, b/280221967)
  • תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי Samsung A5 (2017). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. הגודל של קובצי התמונות שנוצרים הוא כ-32MB. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (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 מייצגות את הטווח הדינמי של התמונות. אפשר להשתמש באפשרות הזו כדי לבחור פורמטים של טווח דינמי גבוה (HDR) כפלט של VideoCapture עד VideoCapture.Builder#setDynamicRange(). (Ib0377)
  • נוסף API ‏isImageAnalysisSupported ל-ExtensionsManager שמאפשר לאפליקציות לקבוע אם אפשר לקשר תרחיש שימוש ב-Preview וב-ImageCapture כשהתוספים מופעלים.ImageAnalysis (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 מכילה את השמירות האלה.

תכונות חדשות

  • ה-API החדש של VideoCapture.Builder# setTargetFrameRate(Range) מאפשר לצלם הקלטות וידאו בקצבי פריימים אחרים, בנוסף לקצב ברירת המחדל של המכשיר. אפשר לבצע שאילתה לגבי קצבי הפריימים הזמינים להקלטות באמצעות ממשק ה-API החדש של CameraInfo#getSupportedFrameRates().

שינויים ב-API

  • השמות של הקבועים ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON שונו ל-ALLOWED_RESOLUTIONS_NORMAL/SLOW, והשם של פונקציית ה-builder setHighResolutionEnabledFlag שונה ל-setAllowedResolutionMode. (Iae817)
  • הפונקציה CameraInfo#getSupportedFrameRateRanges() מחזירה עכשיו Set ולא List כדי לייצג טוב יותר את העובדה שהטווחים לא מסודרים. (I02f43)
  • מוסיפים מאזין שגיאות ל-CameraEffect כדי לטפל בשגיאות שלא ניתן לשחזר (Ice471)
  • הוספת constructor ציבורי ב-ResolutionInfo כדי לשפר את יכולת הבדיקה (If6d1c)
  • UseCase.snapToSurfaceRotation(int) API נוסף כדי להחליף את השימוש ב-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 הם null. (Idf124, ‏ b/282025204)
  • תוקנה הבעיה שבה Preview.setSurfaceProvider(null) לא משהה את התצוגה המקדימה בתוספים (Ia903e)
  • תוקנה בעיה שבה ConcurrentModificationException מופעל במהלך פתיחת המצלמה כש-VideoCapture מאוגד. (Ic8ac4)

גרסה ‎1.3.0-alpha06

‫19 באפריל 2023

androidx.camera:camera-*:1.3.0-alpha06 מופץ. גרסה ‎1.3.0-alpha06 מכילה את השמירות האלה.

תכונות חדשות

  • מצלמה בו-זמנית היא תכונה חדשה שהוצגה ב-Android 11, שתומכת בהזרמה בו-זמנית של מכשירי מצלמה. לדוגמה, היא מאפשרת למכשיר להפעיל את המצלמה הקדמית והמצלמה האחורית בו-זמנית. נכון לעכשיו, CameraX תומך רק במצלמות כפולות שפועלות בו-זמנית, ומאפשר להפעיל שתי מצלמות בו-זמנית, עם שני {@link UseCase}s לכל היותר שמשויכים לכל אחת מהן. הרזולוציה המקסימלית היא 720p או 1440p. פרטים נוספים זמינים בקישור הבא: CameraManager#getConcurrentCameraIds()
  • אנחנו משיקים את ResolutionSelector API חדש, שכולל את התכונות הבאות:
    • אפליקציות יכולות לציין יחס גובה-רוחב ואסטרטגיות רזולוציה כדי לבחור את הרזולוציה הכי טובה לצרכים שלהן.
    • כל הפרמטרים של הגודל ויחס הגובה-רוחב מבוטאים בקואורדינטות של חיישן מכשיר המצלמה.
    • אפליקציות יכולות להטמיע מסנן רזולוציה מותאם אישית כדי לסדר את הגדלים הנתמכים בסדר הרצוי.
    • אפליקציות יכולות גם להפעיל צילום ברזולוציה גבוהה כדי לקבל תמונות ברזולוציה גבוהה יותר. עם זאת, חשוב לזכור ששימוש ברזולוציה גבוהה עלול להוביל לזמני צילום ארוכים יותר.
    • נוספו ממשקי API של VideoCapture שיקוף. הסרטונים שמוקלטים באמצעות VideoCapture לא משתקפים כברירת מחדל. עם זאת, התצוגה המקדימה של המצלמה במצלמה הקדמית היא הפוכה כברירת מחדל. ממשקי ה-API של שיקוף VideoCapture מאפשרים לבצע התאמה לתצוגה המקדימה של המצלמה כשמשתמשים במצלמה הקדמית. יש שלושה MirrorMode, OFF, ON ו-ON_FRONT_ONLY. כדי להתאים את התמונה לתצוגה המקדימה במצלמה, מומלץ להשתמש ב-ON_FRONT_ONLY. המשמעות היא שהיפוך התמונה לא מופעל במצלמה האחורית, אבל הוא מופעל במצלמה הקדמית.

שינויים ב-API

  • נחשף ResolutionSelector API חדש. אפליקציות יכולות לציין יחסי גובה-רוחב ואסטרטגיות רזולוציה עם כללי חזרה או מסנן רזולוציה בהתאמה אישית כדי לקבל את התוצאות הרצויות. אפליקציות יכולות לציין דגל כדי להפעיל צילום ברזולוציה גבוהה. כך המערכת תוכל לבחור רזולוציות גבוהות יותר כשמצלמים תמונות או סרטונים. עם זאת, חשוב לזכור ששימוש ברזולוציה גבוהה עלול להוביל לזמני צילום ארוכים יותר. (Ibed95)
  • עכשיו אפשר לשלוח שאילתה לגבי טווחי ה-FPS שנתמכים על ידי אלגוריתם ה-AE באמצעות CameraInfo#getSupportedFrameRateRanges(). (Iaa67f)
  • מאחדים את השמות של כל השיטות לקביעת קצב הפריימים לשימוש ב-FrameRate. צריך לתקן את השגיאה ב-Javadoc ב-VideoCapture#getTargetFrameRate() (I83304)
  • הוצאנו משימוש את ממשקי ה-API ‏setTargetAspectRatio ו-setTargetResolution מהדור הקודם. במקומו צריך להשתמש ב-API החדש ResolutionSelector. (I542c3)
  • הוספנו ממשקי API ציבוריים להפעלת שתי המצלמות במקביל, כולל
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. boolean isConcurrentCameraModeOn() וגם ConcurrentCameraConfig, SingleCameraConfig וגם ConcurrentCamera (Iab1c1)
  • ‫Make ImageProcessor.Response#getOutputImage NonNull (Ib9c60)
  • הוספנו ממשקי API לשיקוף VideoCapture, כולל VideoCapture.Builder.setMirrorMode(int) ו-VideoCapture.getMirrorMode(). ממשקי ה-API שימושיים לאפליקציות שנדרשת בהן הקלטת וידאו שתהיה עקבית עם התנהגות נפוצה של תצוגה מקדימה של מצלמה, כלומר התצוגה המקדימה של המצלמה האחורית לא משתקפת, אבל התצוגה המקדימה של המצלמה הקדמית משתקפת. (I713b6, ‏ b/194634656)
  • מוסיפים את setTargetFrameRate() API ב-VideoCapture.Builder ואת getTargetFramerate() API ב-VideoCapture (I109d4)
  • הגדרת SurfaceOutput כהרחבה של Closable והסתרת הבונה הציבורי של SurfaceOutput.Event. (I60ea8)
  • נוספה האפשרות Recording.mute להשתקה או לביטול השתקה של הקלטה בתהליך. ההקלטה RecordingStats תכיל את AudioStats.AUDIO_STATE_MUTED אם ההשתקה של ההקלטה במהלך העיבוד בוצעה באופן מפורש. (Ie17fc)
  • הפרמטר #setEffects() לא יכול להיות null. הוספנו #clearEffects() API לניקוי אפקטים. האפליקציה צריכה לקרוא ל-#clearEffects() כדי להסיר אפקטים. (I4b4d9)
  • מוסיפים בנאי שני ל-ViewfinderSurfaceRequest.Builder כדי לקבל בנאי להעתקה (I621a7)

תיקוני באגים

  • תוקנה הבעיה שגרמה לקריסה של אפליקציות שמפעילות את Extensions API כשסוגרים את המצלמה (Ib27e5)
  • תוקנה בעיה שבה אי אפשר היה להשתמש ב-VideoCapture עם המצלמה הקדמית בחלק מהמכשירים. לדוגמה, ב-Samsung Galaxy S23 וב-Xiaomi 2107113SG. (Ibec7e, ‏ b/270656244)
  • תוקנה הבעיה שבה צילום תמונות באמצעות קובץ בתיקייה הציבורית של האחסון החיצוני תמיד נכשל ב-Android 10 ומעלה. שימו לב: ב-Android 10, כדי לצלם תמונות באמצעות קובץ בתיקייה הציבורית של האחסון החיצוני, צריך להגדיר את requestLegacyExternalStorage כ-true בתג האפליקציה. (I11b2c)
  • תוקנה קריסה של RejectedExecutionException ב-DefaultSurfaceProcessor. הקריסה יכולה לקרות כש-VideoCapture מאוגד והפעילות מושהית. (Idb46a, ‏ b/273713906)

גרסה ‎1.3.0-alpha05

‫22 במרץ 2023

androidx.camera:camera-*:1.3.0-alpha05 מופץ. גרסה ‎1.3.0-alpha05 מכילה את השמירות האלה.

שינויים ב-API

  • הוספנו ממשקי API של סבב VideoCapture, כולל VideoCapture.Builder.setTargetRotation(int), ‏ VideoCapture.setTargetRotation(int), ‏ VideoCapture.setTargetRotationDegrees(int) ו-VideoCapture.getTargetRotation(). ממשקי ה-API שימושיים לאפליקציות שנועלות את כיוון המכשיר. נוספים גם ImageCapture.setTargetRotationDegrees(int) ו-ImageAnalysis.setTargetRotationDegrees(int). (Id3ffe, b/205242781)
  • התרת שימוש ב-VIDEO_CAPTURE וב-PREVIEW|VIDEO_CAPTURE כיעדי אפקטים. אפקטים שמטרגטים את VIDEO_CAPTURE יוחלו על VideoCapture UseCase; אפקטים שמטרגטים את PREVIEW|VIDEO_CAPTURE יוחלו על סטרימינג משותף לפני ההעתקה ל-Preview ולסטרימינג VideoCapture. (Iee6f3)

תיקוני באגים

  • מ-Camera 1.2.2: תוקנה הבעיה שבה CameraX Extensions לא פועל כמו שצריך כש-proguard מופעל במכשירים מסוימים כמו Pixel‏ (I90aa2)
  • תוקן באג PreviewView שגרם לעיוות של התצוגה המקדימה בסיבוב המסך, אם האפליקציה טיפלה בעצמה בכיוון המסך. הדבר הזה קורה רק במכשירים מסוימים. אפשר לשחזר את הבעיה ב-Pixel a4,‏ Pixel 5 ו-Pixel 6a. (I14340, ‏ b/223488673)

גרסה ‎1.3.0-alpha04

‫22 בפברואר 2023

androidx.camera:camera-*:1.3.0-alpha04 מופץ. גרסה ‎1.3.0-alpha04 מכילה את השמירות האלה.

תכונות חדשות

תכונה חדשה לתמיכה בשילובים של Surface שלא נתמכו בעבר, על ידי שיתוף של סטרימינג אחד עם כמה תרחישי שימוש.

  • בעבר, כשביצעתם קישור של Preview, ‏ VideoCapture, ‏ ImageAnalysis ברמת חומרה של מצלמה FULL ומטה, או קישור של Preview, ‏ VideoCapture, ‏ ImageCapture ברמת חומרה LEGACY, ‏ CameraX השליכה IllegalArgumentException.
  • ההתנהגות החדשה היא שהקישורים יעבדו בלי להציג חריגים. במקום זאת, CameraX משתמשת ב-OpenGL כדי להעתיק סטרימינג משותף גם לתצוגה המקדימה וגם ל-VideoCapture.
  • העלות של עותק המאגר היא שהאפליקציה עשויה לראות עלייה בחביון ובצריכת החשמל.

שינויים ב-API

  • מוסיפים API להמרה של ImageProxy ל-Bitmap. הפורמטים הנתמכים של ImageProxy הם ImageFormat.YUV_420_888 ו-PixelFormat.RGBA_8888. אם הפורמט לא תקין, המערכת תציג את השגיאה IllegalArgumentException. (Ic7110)
  • הוספנו את CoroutineCameraViewfinder כדי לתמוך בהגדרת עינית המצלמה באמצעות פונקציות השהיה ב-Kotlin. (I657bc)
  • הוספת constructor ציבורי חדש ל-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 להגדרת Target Video Encoding BitRate ו-Recorder#getTargetVideoEncodingBitRate להשגת Target Video Encoding BitRate. (I5984d)

תיקוני באגים

  • תוקנה בעיה שגרמה לכך ש-ImageCapture נכשל כשאין יחידת פלאש ומצב הפלאש מופעל. (I9e8b4, b/263391112)
  • תוקנה בעיה שגרמה להשחתת תמונות JPEG אם נתוני מיקום של Exif נכתבו בחלק ממכשירי Samsung עם Android 12. ‫(Ib7086, ‏ b/263747161, ‏ b/263289024)
  • כשמגדירים פנס או זום לפני שאתחול המצלמה מסתיים, למשל כשקוראים ל-CameraController#enableTorch, הפעולה שממתינה נשמרת במטמון ונשלחת ברגע שהאתחול מסתיים. (I11e92, b/264157663)

גרסה ‎1.3.0-alpha02

‫7 בדצמבר 2022

androidx.camera:camera-*:1.3.0-alpha02 מופץ. גרסה ‎1.3.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת API חדש להחלת אפקט של עיבוד שלאחר הצילום על פלט התצוגה המקדימה. (Ic17d5)
  • השם של OutputOptions.getDurationLimit שונה ל-OutputOptions.getDurationLimitMillis ושל OutputOptions.setDurationLimit ל-OutputOptions.setDurationLimitMillis. (I91f0c)
  • הוספת מחלקה AudioConfig לטיפול בהגדרה שקשורה לאודיו בזמן הקלטת סרטון. ההערה @RequiresPermission מועברת מפונקציות startRecording אל AudioConfig כדי למנוע בקשות מיותרות להרשאות במקרים שבהם לא נדרש אודיו. (I28755)
  • הסרת המחלקות Metadata‏, OnVideoSavedCallback‏, OutputFileOptions ו-OutputFileResults שלא נמצאות יותר בשימוש אחרי החלת ה-API החדש לצילום וידאו. (I38cd8)
  • החלת ממשק ה-API החדש לצילום וידאו. השיטות getVideoCaptureTargetSize ו-setVideoCaptureTargetSize הוחלפו בשיטות getVideoCaptureTargetQuality ו-setVideoCaptureTargetQuality בהתאמה, כי אין יותר תמיכה ב-setTargetResolution. (I2a1d5)

תיקוני באגים

  • הסרת ה-API ‏core.VideoCapture שהוצא משימוש. (I531e0)
  • תוקנה הבעיה שפונקציית ה-callback‏ 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)

תיקוני באגים

  • הוספת quirk כדי לאפשר למכשירים בעייתיים מסוימים לנסות לצלם שוב פעם אחת אם הם נתקלים בכשלים בצילום. (Id4795)
  • פתרון בעיה של מסך שחור בהטמעה של PreviewView SurfaceView ב-ViewPager2 כחלק מהתיקון, PreviewView ישתמש מחדש ב-SurfaceView אם הרזולוציה המבוקשת לא תשתנה. (Ib3f27)
  • תמיכה בחיתוך סרטונים (תכונת WYSIWYG) כשמשתמשים ב-API‏ ViewPort או CameraController. (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 Extensions לא פועל כמו שצריך כש-proguard מופעל במכשירים מסוימים כמו Pixel‏ (I90aa2)

גרסה 1.2.1

‫25 בינואר 2023

androidx.camera:camera-*:1.2.1 מופץ. גרסה 1.2.1 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון בעיה של קובץ JPEG פגום אם נתוני מיקום Exif נכתבים בחלק ממכשירי Samsung עם Android 12. (b/263289024)

גרסה 1.2.0

‫7 בדצמבר 2022

androidx.camera:camera-*:1.2.0 מופץ. גרסה 1.2.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.1.0

  • ספרייה חדשה camera-mlkit-vision. קל לשלב את CameraX עם הרבה תכונות של MLKit, כולל סריקת ברקודים, זיהוי פנים, זיהוי טקסט וכו'. הוספנו MLKitAnalyzer כממשקי API חדשים.
  • ‫API חדש ניסיוני של השהיית תריס אפסית. אופטימיזציה של צינור הלכידה כדי להקטין את זמן האחזור, תוך שמירה על איכות תמונה טובה. כשמצב הצילום מוגדר ל-CAPTURE_MODE_ZERO_SHUTTER_LAG, זמן האחזור בין הלחיצה על לחצן הצמצם לבין צילום התמונה צפוי להיות מינימלי, בהשוואה למצבי צילום אחרים. במכשירים שלא תומכים ב-ZERO_SHUTTER_LAG, המערכת תחזור ל-CAPTURE_MODE_MINIMIZE_LATENCY.
  • הוצאה משימוש של android.camera.core.VideoCapture.
  • הוספנו את setStreamUseCase() בתור API ציבורי של Camera2Interop.
  • הוספנו דרישה לרמת API‏ setOutputImageRotationEnabled.
  • השם של ImageAnalysis.Analyzer#getTargetResolutionOverride() שונה ל-ImageAnalysis.Analyzer#getDefaultTargetResolution().
  • הוספנו API להגדרת מטא-נתונים של מיקום בסרטון השמור.
  • תוקנה בעיה של קצב פריימים נמוך כשמשתמשים ב-VideoCapture ובתרחישי שימוש בתצוגה מקדימה עם יחס גובה-רוחב של 16:9
  • תוקנה בעיית התצוגה המקדימה השחורה שמתרחשת כשתוסף ה-BOKEH מופעל בחלק ממכשירי Samsung והמשתמש מחליף בין המצלמות.
  • תוקנה בעיה של מתיחה ב-Samsung J7 Prime (SM-G610M) וב-J7 (SM-J710MN) Preview/VideoCapture במכשירים ברמת API‏ 27.
  • השבתנו את הפתרון העקיף לשינוי כיוון אופקי של אזור המיקוד האוטומטי במצלמות קדמיות ב-Samsung Android T, כי הבעיה נפתרה

גרסה ‎1.2.0-rc01

24 באוקטובר 2022

androidx.camera:camera-*:1.2.0-rc01 מופץ. גרסה ‎1.2.0-rc01 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת setStreamUseCase API ל-OutputConfiguration. המשתמש יכול לציין את תרחיש השימוש בסטרימינג עבור סשן הסטרימינג, ולבטל את הלוגיקה הפנימית של CameraX לבחירת תרחיש השימוש בסטרימינג כדי לבצע אופטימיזציה בהתאם לצורך שלו. (Ib1a95)

תיקוני באגים

  • תוקנה בעיה של מתיחה ב-Samsung J7 Prime (SM-G610M) וב-J7 (SM-J710MN) Preview/VideoCapture במכשירים ברמת API‏ 27. רזולוציה של 1920x1080 גורמת למתיחה של תמונות Preview/VideoCapture. נוסף פתרון עקיף כדי לא לבחור ברזולוציה 1920x1080 לתצוגה מקדימה או ל-VideoCapture, וכך למנוע את בעיית מתיחת התמונה. (I0e04e)
  • תוקן קצב פריימים נמוך כשמשתמשים ב-VideoCapture ובתרחישי שימוש בתצוגה מקדימה עם יחס גובה-רוחב של 16:9 בחלק ממכשירי Huawei. (If8c88, ‏ b/223643510)
  • תוקנה בעיה שגרמה לכך שלא הייתה אפשרות לפתוח את המצלמה כשההגדרה SurfaceProvider של התצוגה המקדימה לא הוגדרה. במסגרת התיקון, תצוגה מקדימה ללא הגדרה של SurfaceProvider לא תוגדר יותר בסשן של צילום המצלמה. (I99681)

גרסה ‎1.2.0-beta02

‫21 בספטמבר 2022

androidx.camera:camera-*:1.2.0-beta02 מופץ. גרסה ‎1.2.0-beta02 מכילה את השמירות האלה.

שינויים ב-API

  • הוספת דרישה לרמת API‏ setOutputImageRotationEnabled (I26e3e, ‏ b/240993561)

תיקוני באגים

  • השבתנו את הפתרון העקיף לשיקוף אופקי של אזור המיקוד האוטומטי במצלמות קדמיות ב-Samsung Android T, כי הבעיה נפתרה. (I05f69)
  • תוקנה בעיית התצוגה המקדימה השחורה שקורית כשתוסף BOKEH מופעל בחלק ממכשירי סמסונג והמשתמש מחליף בין המצלמות. (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. מטא-נתוני Exif שגויים בתמונות JPEG שצולמו מ-HAL. במטא-נתונים של 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)

תיקוני באגים

  • נוסף זמן קצוב לתפוגה של מיקוד אוטומטי (AF) כברירת מחדל של 5,000 מילי-שניות, שישלים את החלק של המיקוד האוטומטי עם הערך isFocusSuccessful false אם לא מתבצע ביטול של FocusMeteringAction והחלק של המיקוד האוטומטי לא מתכנס במהלך משך הזמן. (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 נועד לספק את זמן האחזור המינימלי לצילום מיידי. היא מיושמת על בסיס מאגר זמני (ring buffer), ששומר במטמון תוצאות ביניים של צילום כדי לעבד אותן מחדש מאוחר יותר, כשהמשתמש לוחץ על לחצנים כדי לצלם תמונות. אם {@link VideoCapture} מאוגד או שמצב הפלאש הוא לא OFF או שהתוסף 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

תיקוני באגים

  • תוקנה בעיה שבה לא ניתן להקליט סרטון באיכות UHD כשמופעלת אסטרטגיית חזרה למצב קודם.QualitySelector הבעיה מתרחשת כש-VideoCapture משויך ל-ImageCapture ולתצוגה מקדימה במכשיר מצלמה ברמת חומרה מלאה או גבוהה יותר. שיטת גיבוי של QualitySelector גורמת לכך ש-VideoCapture מקבל רזולוציית FHD באופן שגוי. למעשה, רזולוציית UHD נתמכת בשילוב הזה של תרחישי שימוש, וכדאי להשתמש בה. (I0e788, b/230651237)
  • תוקן NullPointerException בתאריך ImageCapture.takePicture(). (I92366, ‏ b/230454568, ‏ b/229766155)
  • תיקון התנהגות ההשהיה האסינכרונית של androidx.camera.video.Recorder (Ia8ce8)

‫Camera-Camera2,‏ Camera-Core,‏ Camera-Lifecycle ו-Camera-Video גרסה 1.1.0

גרסה 1.1.0

29 ביוני 2022

androidx.camera:camera-*:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.

שינויים חשובים מאז גרסה 1.0.0

  • השקנו את הספריות Landed View, ‏ Extension ו-Video Capture כגרסת ה-RC הראשונה שלהן. החל מגרסה 1.1.0-beta01, כל ספריות CameraX יתאימו לאותו מספר גרסה. כך יהיה למפתחים קל יותר לעקוב אחרי גרסאות, והם לא יצטרכו להתמודד עם מטריצות מורכבות של תאימות בין גרסאות.
  • השקנו ממשקי API ותכונות חדשים לציבור, כולל:
  • הוספת ספריית הווידאו הרשמית של המצלמה כדי לתמוך בתרחישי שימוש בצילום וידאו.
  • יכולת המרה וסיבוב מ-YUV ל-RGB‏ (ImageAnalysis.Builder.setOutputImageRotationEnabled ו-setOutputImageFormat)
  • תמיכה במצב מרובה חלונות על ידי מתן אפשרות לאפליקציות CameraX להפעיל מחדש את המצלמה כשאפליקציה אחרת מפריעה למצלמה והמיקוד חוזר.
  • התיקון מבטיח ש-CameraX תפעל בצורה טובה במכשירים מתקפלים, כי הוא פותר כמה בעיות בתצוגה המקדימה.
  • הוספנו CameraState API שייחשף דרך CameraInfo.
  • נוסף API‏ ProcessCameraProvider.getAvailableCameraInfos() לאחזור ישיר של מידע על המצלמות הזמינות
  • פורמט הפלט של ImageCapture#OnImageCapturedCallback הוא JPEG כשהתוספים מופעלים.
  • נוסף ממשק API‏ isFocusMeteringSupported ב-CameraInfo שמאפשר לאפליקציות לבדוק אם FocusMeteringAction נתמך במצלמה הנוכחית או לא.
  • הוספנו getResolutionInfo API כדי לספק את פרטי הרזולוציה לתצוגה מקדימה, ImageCapture ו-ImageAnalysis.
  • נוסף API חדש ImageCapture.Builder#setJpegQuality שמאפשר לשנות את איכות הדחיסה של תמונת ה-JPEG שנוצרת כשמצלמים תמונות.
  • הוספנו את CameraSelector#filter ל-API הציבורי כדי לסנן רשימה של CameraInfos על סמך CameraSelector.
  • נוספה האפשרות Camera2CameraControl.clearCaptureRequestOptions לניקוי האפשרויות הקיימות של בקשת הצילום.
  • הוספנו API ניסיוני לשימוש ב-CameraController עם ספריות חיצוניות לעיבוד תמונות, למשל MLKit
  • נוסף API ניסיוני CameraInfo#getCameraSelector() שמחזיר CameraSelector ייחודי למצלמה שלו
  • קידמנו כמה ממשקי API ניסיוניים לממשקי API ציבוריים רשמיים
  • החלפנו את ההערה @Experimental בהערה @RequiresOptIn בממשקי API ניסיוניים. כדי לקרוא ל-APIs ניסיוניים, צריך להשתמש ב-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(),
  • ממשקי API של @ExperimentalCameraFilter
  • ממשקי API ניסיוניים לפיצוי חשיפה.
  • קידמנו את ה-API הניסיוני UseCaseGroup עבור 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 כשהמצב extension מופעל והמצב 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)

External Contribution

  • בוצע עדכון של :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)
  • תוקנה הבעיה שקשורה לאזור ה-AF הלא נכון כשמשתמשים ב-cameraControl#startFocusAndMetering() במצלמה הקדמית במכשירי Samsung (‏Ifbf59, ‏ b/210548792)
  • שימוש בפנס כמבזק ב-Pixel 3a/Pixel 3a XL כדי לשפר את המהירות ואת איכות התמונה שצולמה בחושך (Ib12b6, ‏ b/211474332)
  • האפשרות הזו מאפשרת לאפליקציות להפעיל מחדש את המצלמה כשהשימוש בה מופסק על ידי אפליקציה אחרת עם עדיפות גבוהה יותר במצב מרובה חלונות, והמיקוד חוזר לאפליקציה. חשוב לדעת: יכול להיות שיהיה עיכוב(של שנייה עד 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() הוסר, ועכשיו צריך להעביר את רכיב ה-event listener אל PendingRecording.start(). הדרישה הזו ל-רכיב event 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)
  • מעכשיו נעשה שימוש בהיוריסטיקה חכמה יותר כדי לבחור את הגדרות המקודד על סמך פרופילים שצוינו על ידי יצרן הציוד המקורי. (Iaeef0)
  • תצוגה מקדימה קבועה תכלול קווים צבעוניים משולבים אחרי הפעלת צילום סרטון באיכות UHD ב-Pixel1. (I833c6, ‏ b/205340278)

גרסה ‎1.1.0-alpha11

17 בנובמבר 2021

androidx.camera:camera-*:1.1.0-alpha11 מופץ. גרסה ‎1.1.0-alpha11 מכילה את השמירות האלה.

שינויים ב-API

  • נוסף CameraSelector#filter לממשק ה-API הציבורי כדי לסנן רשימה של 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} אחד לאחר. לדוגמה, מיפוי של קואורדינטות של הפנים שזוהו באמצעות 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)

External Contribution

גרסה ‎1.1.0-alpha10

‫13 באוקטובר 2021

androidx.camera:camera-*:1.1.0-alpha10 מופץ. גרסה ‎1.1.0-alpha10 מכילה את השמירות האלה.

תכונות חדשות

  • הגרסה הראשונה של אלפא ל-Video הושקה באופן רשמי ב-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)

תיקוני באגים

  • כדי שהאפליקציה תוכל לטפל בצורה תקינה ב-AssertionError שמתרחש כשיוצרים CameraCharacteristics, צריך להקפיץ הודעת שגיאה (throw) InitializationException. (Ibec79)

גרסה ‎1.1.0-alpha09

‫29 בספטמבר 2021

הגרסאות של androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 וגם androidx.camera:camera-lifecycle:1.1.0-alpha09 יוצאות. גרסה ‎1.1.0-alpha09 מכילה את השמירות האלה.

שינויים ב-API

  • ההערה ExperimentalUseCaseGroup הוסרה עכשיו כי ממשקי ה-API כבר לא ניסיוניים. (I01ef5)

תיקוני באגים

  • תוקנה הבעיה שבה התמונות שצולמו מטושטשות במצב MAXIMIZE_QUALITY. (I173a9, ‏ b/193823892)
  • תוקנה בעיה ב-Samsung Galaxy J5 שגרמה למצלמה להיתקע אחרי צילום תמונות עם פלאש מופעל או אוטומטי בסביבה חשוכה (I3aab9)
  • כשצריך לחתוך תמונה ב-ImageCapture, התמונה החתוכה שנוצרת נדחסת לפי רמת האיכות שצוינה בפורמט JPEG, בהתאם למצב הצילום שהוגדר. אם מצב הצילום הוא CAPTURE_MODE_MINIMIZE_LATENCY, איכות הדחיסה של JPEG תהיה 95. אם מצב הצילום הוא CAPTURE_MODE_MAXIMIZE_QUALITY, איכות הדחיסה של JPEG תהיה 100. ‫(Ieb37c, ‏ b/142856426)

גרסה ‎1.1.0-alpha08

‫18 באוגוסט 2021

הגרסאות של androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08 וגם androidx.camera:camera-lifecycle:1.1.0-alpha08 יוצאות. גרסה ‎1.1.0-alpha08 מכילה את השמירות האלה.

תכונות חדשות

  • הוספת API של setOutputImageFormat להגדרת ניתוח תמונות. המשתמש יכול לבחור באחת מהאפשרויות הבאות: ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 או ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. כברירת מחדל, האפשרות ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 תהיה מסומנת. (I7902d)

שינויים ב-API

  • ההערה ExperimentalUseCaseGroupLifecycle הוסרה עכשיו כי ממשקי ה-API כבר לא ניסיוניים. (I17b85)

תיקוני באגים

  • תוקנה בעיה שבה מסך התצוגה המקדימה בהיר מדי ב-Huawei P20 Lite. הבעיה הזו מתרחשת רק כשמשתמשים ברזולוציות מסוימות של תצוגה מקדימה יחד עם ערך גדול של הגדלה. (Idefce, ‏ b/192129158)
  • תוקנה בעיה שבה הפלאש לא פועל בחלק מהמכשירים כשמגדירים את מצב הפלאש ל-FLASH_MODE_ON ואז מצלמים תמונות. (Ieb49b)
  • תוקנה הבעיה שבה התצוגה המקדימה נעצרת לזמן מה כשמצלמים תמונות אם VideoCapture, ‏ ImageCapture ו-Preview קשורים. ‫(I56197, ‏ b/193864120)
  • מאפשר ל-ImageAnalysis לבחור רזולוציה גדולה מ-‎1080p. מכשיר ברמה LIMITED ומעלה יכול לתמוך ברזולוציה של גודל RECORD עבור ImageAnalysis כשהוא משולב עם Preview ו-ImageCapture. הפשרה היא שגם הרזולוציה שנבחרה ל-ImageCapture תצטרך להיות רזולוציה בגודל RECORD. כדי לבחור בהצלחה רזולוציה של גודל RECORD עבור ImageAnalysis, צריך להגדיר רזולוציית יעד של גודל RECORD גם ב-ImageCapture וגם ב-ImageAnalysis. המשמעות היא שהאפליקציה מבינה בבירור את הפשרה, ומעדיפה שהרזולוציה של ImageAnalysis תהיה גדולה יותר מאשר שהרזולוציה של ImageCapture תהיה מקסימלית. הגדרות של RECORD, גדלים מקסימליים ופרטים נוספים זמינים בכתובת https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. הגודל של RECORD מתייחס לרזולוציית ההקלטה המקסימלית הנתמכת של מכשיר המצלמה, כפי שנקבע על ידי CamcorderProfile. הגודל המקסימלי מתייחס לרזולוציית הפלט המקסימלית של מכשיר המצלמה עבור הפורמט או היעד הזה מתוך StreamConfigurationMap.getOutputSizes(int). (I1ee97, b/192911449)
  • הוספת נתוני Exif לתמונה שצולמה. (I01ff0, b/193342619)
  • ב-ImageCapture, מחזירים את ה-URI של התמונה שנשמרה אם מיקום השמירה הוא File (קובץ). (Ib5b49, ‏ b/149241379)
  • תוקנה בעיה שגרמה לכך שתמונות שצולמו עם פלאש היו כהות בהרבה מכשירים. (I4e510)

גרסה ‎1.1.0-alpha07

21 ביולי 2021

הגרסאות של androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07 וגם androidx.camera:camera-lifecycle:1.1.0-alpha07 יוצאות. גרסה ‎1.1.0-alpha07 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה במכשיר Samsung Galaxy Note 5 שגורמת למצלמה להיתקע אחרי צילום תמונות עם פלאש מופעל או אוטומטי בסביבה חשוכה (If6871)
  • תוקנה בעיית YuvToJpegProcessor EOFException כשמצב התוסף מופעל ומצב ImageCapture#CAPTURE_MODE_MAX_QUALITY מוגדר. (I538bd, b/192017012)

גרסה ‎1.1.0-alpha06

‫30 ביוני 2021

הגרסאות של androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06 וגם androidx.camera:camera-lifecycle:1.1.0-alpha06 יוצאות. גרסה ‎1.1.0-alpha06 מכילה את השמירות האלה.

שינויים ב-API

  • קידום ממשקי ה-API הניסיוניים של פיצוי החשיפה עבור camera-core ‏ (I08ee8)
  • נוסף API‏ isFocusMeteringSupported ב-CameraInfo שמאפשר לאפליקציות לבדוק אם הפעולה FocusMeteringAction נתמכת במצלמה הנוכחית או לא. (Ib45ae, ‏ b/188606490)
  • הוספנו את ה-API ‏getResolutionInfo כדי לספק את פרטי הרזולוציה לתצוגה מקדימה, ל-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)
  • קידום ה-API הניסיוני UseCaseGroup עבור 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 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה דליפת זיכרון שנגרמה מכמה שרשורים שניגשים בו-זמנית לאותו אוסף. דליפת הזיכרון עשויה לגרום לכך שהפעילות או ה-Fragment יישמרו על ידי מופע של Preview. (I7b4b8)
  • החלפנו את ההערה @Experimental בהערה @RequiresOptIn בממשקי API ניסיוניים. כדי לקרוא לממשקי API ניסיוניים, צריך להשתמש ב-androidx.annotation.OptIn במקום ב-androidx.annotation.experimental.UseExperimental שהוצא משימוש. (Iff226)
  • תוקנה בעיה ב-ImageCapture שגורמת לכך שתמונות שצולמו עם פלאש מופעל או אוטומטי ב-Samsung Galaxy S7 נראות דהויות. (I30001)
  • נוסף CameraState API שייחשף דרך CameraInfo. (I75392)

גרסה ‎1.1.0-alpha03

‫24 במרץ 2021

הגרסאות של androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03 וגם androidx.camera:camera-lifecycle:1.1.0-alpha03 יוצאות. גרסה ‎1.1.0-alpha03 מכילה את השמירות האלה.

תיקוני באגים

  • פורמט הפלט של ImageCapture#OnImageCapturedCallback הוא JPEG כשהמצב 'תוספים' מופעל. (I0d7b1)
  • תוקנה בעיה שגרמה לכשל באתחול במכשירי UMIDIGI BISON (I57d9e, b/180818665)
  • תוקנה תצוגה מקדימה מתוחה ב-PreviewView ב-Samsung A3. (Iacb30, b/180121821)

גרסה ‎1.1.0-alpha02

24 בפברואר 2021

הגרסאות של androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02 וגם androidx.camera:camera-lifecycle:1.1.0-alpha02 יוצאות. גרסה ‎1.1.0-alpha02 מכילה את השמירות האלה.

שינויים ב-API

  • נוסף API‏ ProcessCameraProvider.getAvailableCameraInfos() לאחזור ישיר של מידע על המצלמות הזמינות, שהן כל המצלמות במכשיר או המצלמות שנבחרו על ידי CameraSelector שסופק ב-CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector). (Ieac08)

תיקוני באגים

  • עכשיו, CameraX מנסה לפתוח מצלמה בכוח בניסיון הראשוני, ולכן יכול להיות ש-CameraX יגנוב את המצלמה מלקוחות אחרים של המצלמה אם לאפליקציה שלו יש עדיפות גבוהה יותר. (Iab069, ‏ b/175820568)
  • תוקנה הבעיה שגרמה לכשל בבדיקת Robolectric כשנעשה שימוש ב-setAvailableCamerasLimiter ב-CameraXConfig. (Ice307)
  • השינוי הזה מטפל בחריגה כשמגיעים למקסימום של תור התמונות ב-ImageAnalysis. לכן, במקום שהאפליקציה תקרוס, יכול להיות שתבחינו בתרחישי שימוש אחרים שנתקעים או פועלים לאט. לדוגמה, תצוגה מקדימה שנתקעת או פועלת לאט. (Ic12da, b/175851631)
  • תוקן ExtensionsErrorListener כדי לדווח על שגיאות כשרק Preview או ImageCapture מאוגדים. (I5ae39)
  • בוצע תיקון של רגרסיה בביצועים של ImageCapture על ידי הסרת האימות של מיקום שמירת התמונה לפני הצילום. אחרי שמבצעים את השינוי הזה, אם יעד השמירה לא תקין, ייקח יותר זמן לקבל את תגובת השגיאה כי המערכת תנסה לשמור את התמונה אחרי הצילום. ‫(I1fd4e, ‏ b/177061560)
  • תוקנה רגרסיה בביצועים של ImageCapture עם OutputFileOptions מסוג File. ‫(I5164a, ‏ b/177061560)
  • התיעוד עודכן, ועכשיו מומלץ לא להשתמש ב-ProcessCameraProvider.configureInstance(...) מקוד הספרייה. (Ib8a9f)

גרסה ‎1.1.0-alpha01

‫27 בינואר 2021

הגרסאות של androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01 וגם androidx.camera:camera-lifecycle:1.1.0-alpha01 יוצאות. גרסה ‎1.1.0-alpha01 מכילה את השמירות האלה.

תיקוני באגים

  • נוסף פתרון לבעיה של נתוני תמונה פגומים לסירוגין ב-JPEG במצלמה האחורית של SM-G930T. (I52001, b/159831206)
  • תוקנה בעיה מספר IllegalArgumentException שקרתה כשכל הגדלים הנתמכים בתצוגה מקדימה קטנים מ-640x480 וגודל התצוגה גדול מ-640x480. ‫(I2a63c, b/150506192)
  • משאבים בספריות ללא משאבים ציבוריים שהוגדרו במפורש (למשל, דרך public.xml) הם עכשיו פרטיים כברירת מחדל. (Ia1dcc, b/170882230)

גרסה 1.0.2 של Camera-Camera2,‏ Camera-Core ו-Camera-Lifecycle

גרסה 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

  • ‫CameraX תומך ב-Preview,‏ ImageCapture ו-Analysis
  • ‫CameraX מנהל את מחזור החיים של המצלמה באמצעות API קל לשימוש
  • מטרת CameraX היא לספק שכבת תאימות שמתקנת הרבה בעיות במערכת האקולוגית של מצלמות Android

בעיות מוכרות

גרסה ‎1.0.0-rc05

21 באפריל 2021

הגרסאות של androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05 וגם androidx.camera:camera-lifecycle:1.0.0-rc05 יוצאות. גרסה ‎1.0.0-rc05 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה ב-ImageCapture שגורמת לכך שתמונות שצולמו עם פלאש מופעל או אוטומטי ב-Samsung Galaxy S7 נראות דהויות. (I30001)

גרסה ‎1.0.0-rc04

‫24 במרץ 2021

הגרסאות של androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04 וגם androidx.camera:camera-lifecycle:1.0.0-rc04 יוצאות. גרסה ‎1.0.0-rc04 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה שגרמה לכשל באתחול במכשירי UMIDIGI BISON (I57d9e, b/180818665)

גרסה ‎1.0.0-rc03

24 בפברואר 2021

הגרסאות של androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03 וגם androidx.camera:camera-lifecycle:1.0.0-rc03 יוצאות. גרסה ‎1.0.0-rc03 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון שגיאת פורמט במסמך של ProcessCameraProvider#getInstance
  • תוקנה הבעיה שגרמה לכשל בבדיקת Robolectric כשנעשה שימוש ב-setAvailableCamerasLimiter ב-CameraXConfig.
  • בוצע תיקון של רגרסיה בביצועים של ImageCapture על ידי הסרת האימות של מיקום שמירת התמונה לפני הצילום. אחרי שמבצעים את השינוי הזה, אם יעד השמירה לא תקין, ייקח יותר זמן לקבל את תגובת הכשל כי המערכת תנסה לשמור את התמונה אחרי הצילום
  • השינוי הזה מטפל בחריגה כשמגיעים למקסימום של תור התמונות ב-ImageAnalysis. לכן, במקום קריסה, יכול להיות שתבחינו בתרחישי שימוש אחרים שנתקעים או פועלים לאט. לדוגמה, תצוגה מקדימה שנתקעת או פועלת לאט.
  • נוסף פתרון לבעיה של נתוני תמונה פגומים לסירוגין ב-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)

‫Camera Camera2, Core, & Lifecycle Version 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 של ההערה Experimental הוצאה משימוש כדי לספק שוויון עם Kotlin. היא הוחלפה בהערה RequiresOptIn, והכלי לבדיקת קוד (linter) של Java עודכן כדי לתמוך גם בהערה החדשה של Kotlin וגם בגרסה החדשה של androidx. (I52495, b/151331381)

מצלמה-מצלמה2 גרסה ‎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)
  • שיפור זמן האחזור של אתחול CameraX ו-bindToLifecycle ‏ (I61dc5)
  • כדי ליצור UseCases לא צריך לאתחל את CameraX. כל ההגדרות הספציפיות להטמעה מוגדרות ב-UseCase אחרי שהוא מצורף למופע של Camera, שהוא ProcessCameraProvider.bindToLifecycle() ב-API הציבורי. (Ia5411)
  • הפונקציה <UseCase>.getTargetRotation() תחזיר Surface.ROTATION_0 אם היא נקראת לפני שהיא מצורפת למופע של Camera, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)

גרסה ‎1.0.0-beta11 של Camera-Core

‫14 באוקטובר 2020

androidx.camera:camera-core:1.0.0-beta11 מופץ. גרסה ‎1.0.0-beta11 מכילה את השמירות האלה.

תכונות חדשות - תמיכה ב-API של Android 11‏ CONTROL_ZOOM_RATIO להגדלת התצוגה במכשירי Android 11 ואילך שמכילים CONTROL_ZOOM_RATIO_RANGE תקין. (I62cc6)

תיקוני באגים

  • תוקנה הבעיה NumberFormatException שקרתה כשמזהה המצלמה לא היה מספר שלם. (Ib2228)
  • כדי ליצור UseCases לא צריך לאתחל את CameraX. כל ההגדרות הספציפיות להטמעה מוגדרות ב-UseCase אחרי שהוא מצורף למופע של Camera, שהוא ProcessCameraProvider.bindToLifecycle() ב-API הציבורי. (Ia5411)
  • הפונקציה <UseCase>.getTargetRotation() תחזיר Surface.ROTATION_0 אם היא נקראת לפני שהיא מצורפת למופע של Camera, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)

גרסה 1.0.0-beta10 של Camera-Core

‫23 בספטמבר 2020

androidx.camera:camera-core:1.0.0-beta10 מופץ. גרסה ‎1.0.0-beta10 מכילה את השמירות האלה.

תיקוני באגים

  • תיקון באג באימות יעד השמירה של קובץ לצילום תמונות (I8c565, b/167697553)

מצלמה-מצלמה2 גרסה ‎1.0.0-beta10

‫23 בספטמבר 2020

androidx.camera:camera-camera2:1.0.0-beta10 מופץ. גרסה ‎1.0.0-beta10 מכילה את השמירות האלה.

תיקוני באגים

מצלמה-מצלמה2 גרסה ‎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)
  • כדי שהאפליקציה תוכל לטפל בצורה תקינה בשגיאת AssertionError שמתרחשת כשיוצרים CameraCharacteristics, צריך להשתמש ב-InitializationException. (I89c8c, b/160524721)
  • הוספנו ממשקי ניסויים ל-ExposureCompensation ‏ (If96c7)

גרסה ‎1.0.0-beta09 של Camera-Core

16 בספטמבר 2020

androidx.camera:camera-core:1.0.0-beta09 מופץ. גרסה ‎1.0.0-beta09 מכילה את השמירות האלה.

שינויים ב-API

  • תוקן הבאג שבו אזור התצוגה מסומן כלא null ב-UseCaseGroup. מפתחים צריכים להיות מסוגלים ליצור חלון תצוגה בלי להגדיר חלון תצוגה. (Ie3d2e)
  • נוספו ממשקי ניסוי ל-ExposureCompensation (If96c7)
  • מאפשרים סיבוב שרירותי של היעד בתצוגה המקדימה. פרטי השינוי מחושבים ומוחזרים למשתמש באופן מיידי באמצעות קריאה חוזרת (callback) חדשה של TranformationInfoListener. (I21470)

תיקוני באגים

  • תוקנה הבעיה שגרמה לכך שהפלאש בחלק מהמכשירים לא נכבה. הבעיה הזו מתרחשת כשמצב הפלאש מוגדר ל-FLASH_MODE_ON לצילום תמונה, ואז משתנה ל-FLASH_MODE_OFF כשהפלאש מופעל. הסימפטום דומה למצב פנס שמופעל. (Ib4451, ‏ b/162568128)
  • הכריח את PreviewView להשתמש ב-TextureView אם אפקט התוסף מופעל וההטמעה של ספריית הספק צריכה לבצע תהליך מיוחד במשטח הפלט. (I0c3cc)
  • תוקן דליפת הפעילות/הקטע כשמועבר הקשר של פעילות/קטע אל ProcessCameraProvider.getInstance(Context).

בעיות מוכרות

  • כשמגדירים את ViewPort, יכול להיות שחיתוך המלבן של ImageCapture יהיה שגוי במכשירים שמסובבים את מאגר התמונות ב-HAL. נפתור את הבעיה הזו במהדורה הבאה.

מצלמה-מצלמה2 גרסה ‎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 שמונעת את הפעולה בגלל מרוץ תהליכים (I2279f, ‏ b/152333890, ‏ b/160714166)

גרסה ‎1.0.0-beta08 של Camera-Core

‫19 באוגוסט 2020

androidx.camera:camera-core:1.0.0-beta08 מופץ. גרסה ‎1.0.0-beta08 מכילה את השמירות האלה.

שינויים ב-API

  • DisplayOrientedMeteringPointFactory מקבל מופע במקום CameraSelector, כך שיש מיפוי ישיר למצלמה שהמפעל ייצור עבורה נקודות.CameraInfo כל המחלקות שמשתמשות ב-DisplayOrientedMeteringPointFactory מקבלות גם מופע של CameraInfo במקום CameraSelector. (I400c1)

תיקוני באגים

  • לצילום תמונות, המערכת דורסת את הדגל של היפוך אופקי במטא נתונים על סמך כיוון המצלמה. (I28499)
  • ההפעלה לא אמורה לקרוס יותר כשמשתמשים בהקשר שלא מחזיר אובייקט של אפליקציה מ-Context.getApplicationContext(). (I3d3c9, b/160817073)

מצלמה-מצלמה2 גרסה ‎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)

גרסה ‎1.0.0-beta07 של Camera-Core

22 ביולי 2020

androidx.camera:camera-core:1.0.0-beta07 מופץ. גרסה ‎1.0.0-beta07 מכילה את השמירות האלה.

שינויים ב-API

  • מיזוג של FIT_CENTER,‏ FIT_START ו-FIT_END עם סגנון ההתאמה FIT. FITהמשמעות היא שגבולות החיתוך שיוחזרו יהיו הגבולות המקסימליים האפשריים של החיישן. (Ia73c3)
  • הגדרת אזור החיתוך של התצוגה המקדימה מתבצעת לפי אזור התצוגה. רק האזור שמכוסה על ידי מלבן החיתוך צריך להיות גלוי למשתמשי הקצה. (I142a4)

תיקוני באגים

  • תוקנה הבעיה שבה התצוגה המקדימה נמתחת במכשיר מדור קודם עם Android 5.0. (I0c03a)
  • תוקנה הבעיה של ConcurrentModificationExceptionחריגה כשמבטלים את הקישור של תרחישי שימוש. (I371c0)

מצלמה-מצלמה2 גרסה ‎1.0.0-beta06

‫24 ביוני 2020

androidx.camera:camera-camera2:1.0.0-beta06 מופץ. גרסה ‎1.0.0-beta06 מכילה את השמירות האלה.

שינויים ב-API

  • נוספו ממשקי ניסוי לסינון מצלמות לפי מזהה מצלמה (cameraID) ומאפייני מצלמה (CameraCharacteristics). (I28f61)

תיקוני באגים

  • תוקנה הבעיה שבה הפונקציה startFocusAndMetering לא מצליחה להתמקד ב-Samsung Galaxy S7. (If3be7, b/159039233)
  • תוקנה הבעיה שבה אי אפשר לסגור את המצלמה אחרי שיוצאים מהאפליקציה. (I7a7b3)
  • תיקון של בעיה שגורמת להפסקת התצוגה המקדימה כשמחליפים מצלמה שוב ושוב, כשמשתמשים בהטמעה של SurfaceView של PreviewView ‏ (I920ce)
  • CameraControl#startFocusAndMetering ייכשל אם אף אחד מ-MeteringPoint שצוין לא יכול ליצור מלבני מדידה תקינים. (Id53ce)

גרסה ‎1.0.0-beta06 של Camera-Core

‫24 ביוני 2020

androidx.camera:camera-core:1.0.0-beta06 מופץ. גרסה ‎1.0.0-beta06 מכילה את השמירות האלה.

שינויים ב-API

  • נוספו ממשקי ניסוי לסינון מצלמות לפי מזהה מצלמה (cameraID) ומאפייני מצלמה (CameraCharacteristics). (I28f61)

תיקוני באגים

  • מעכשיו אפשר להגדיר את CameraX עם ProcessCameraProvider#configureInstance() לפני שמפעילים את ProcessCameraProvider#getInstance(). כך אפשר להתאים אישית את CameraXConfig בלי להטמיע את CameraXConfig.Provider במחלקת האפליקציה של האפליקציה. (Ia1a8d)
  • CameraControl#startFocusAndMetering ייכשל אם אף אחד מ-MeteringPoint שצוין לא יכול ליצור מלבני מדידה תקינים. (Id53ce)

מצלמה-מצלמה2 גרסה ‎1.0.0-beta05

‫10 ביוני 2020

androidx.camera:camera-camera2:1.0.0-beta05 מופץ. גרסה ‎1.0.0-beta05 מכילה את השמירות האלה.

תיקוני באגים

  • תוקן קריסת האפליקציה בזמן ההפעלה כשמאתחלים את CameraX בזמן שהטלפון במצב 'נא לא להפריע'. ‫InitializationException מכיל CameraUnavailableException שיוגדר ל-ListenableFuture של תוצאת האתחול במקום לגרום לקריסת האפליקציה. (I9909a, ‏ b/149413835)
  • תוקנה הקריסה שמתרחשת כשמתקשרים אל startFocusAndMetering במכשירים שבהם CONTROL_AF_STATE הוא null. (Ife55e, ‏ b/157084254)

גרסה ‎1.0.0-beta05 של Camera-Core

‫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)

מצלמה-מצלמה2 גרסה ‎1.0.0-beta04

27 במאי 2020

androidx.camera:camera-camera2:1.0.0-beta04 מופץ. גרסה ‎1.0.0-beta04 מכילה את השמירות האלה.

תיקוני באגים

  • אפליקציות מורשות יכולות להגדיר כל פרמטר של בקשת צילום camera2 דרך Camera2Interop בלי לגרום לקריסה. חשוב לזכור שאם יש בעיות שנובעות משינוי הפרמטרים, לא מובטחת יציבות והתנהגות כשעוקפים פרמטרים באמצעות Camera2Interop. (Ibe5a1, b/149103700)
  • תוקנה בעיה שקשורה להפעלה אוטומטית של תהליך האתחול כשמשתמשים באפליקציה במכשיר שמוגדר בו פסאודו-לוקאל. (I3bef3, ‏ b/154767663)
  • הומרה יומן שגיאות שקשור לתרחיש שימוש מנותק ליומן ניפוי באגים ב-Camera2CameraImpl. (I1a565, ‏ b/154422490)
  • תוקנה בעיה שבה התמונה שצולמה הייתה חשוכה מדי לפעמים, גם אם נעשה שימוש בפלאש. (I5d9fa, b/149729613)
  • תיקון באג שבו המאגר ב-ImageProxy מ-ImageCapture לא הוחזר אחורה (I0c455, b/153249512)
  • תוקנו הבעיות שבהן קישור ImageCapture בלבד: (1) לא הצליח לצלם תמונות עם MAX_QUALITY;‏ (2) יצר איכות תמונה נמוכה כי החשיפה האוטומטית לא פעלה. ‫(I17782, ‏ b/145326998)
  • שיפור המהימנות של פתיחה מחדש של המצלמה כשמצלמת CameraX מתנתקת בגלל תהליך אחר או נתיב קוד שגורם להשתלטות על המצלמה (I1fbc3, ‏ b/153714651)

‫Camera-Core גרסה ‎1.0.0-beta04

27 במאי 2020

androidx.camera:camera-core:1.0.0-beta04 מופץ. גרסה ‎1.0.0-beta04 מכילה את השמירות האלה.

שינויים ב-API

  • נוסף API ניסיוני, CameraXConfig.Builder#setSchedulerHandler() להגדרת ה-handler שמשמש באופן פנימי את מחסנית המצלמה של CameraX. ‫API החדש הזה, יחד עם CameraXConfig.Builder#setCameraExecutor(), אמור לאפשר שליטה מלאה בשרשורים שבהם נעשה שימוש במערך המצלמות של CameraX. (I7bf32, b/121160431)

תיקוני באגים

  • תוקנה קריסה ב-ImageAnalysis שמתרחשת כשניגשים אל ImageProxy אחרי שסוגרים את ImageReaderProxy. בנוסף, כל ImageProxy שמתקבלים על ידי Analyzer צריכים להיסגר לפני ש-ImageReaderProxy ייסגר. (I4b299, ‏ b/145956416, ‏ b/154155377, ‏ b/156357269)
  • הפרמטר CameraInfo הוסר מ-PreviewView#createSurfaceProvider(). עכשיו PreviewView מאחזר אותו באופן פנימי מ-SurfaceRequest. (If18f0, b/154652477)
  • תוקנה בעיה שקשורה להפעלה אוטומטית של תהליך האתחול כשמשתמשים באפליקציה במכשיר שמוגדר בו פסאודו-לוקאל. (I3bef3, ‏ b/154767663)
  • תוקנה בעיה שבה התמונה שצולמה הייתה חשוכה מדי לפעמים, גם אם נעשה שימוש בפלאש. (I5d9fa, b/149729613)
  • תוקנה בעיה ב-ImageAnalysis שבה כמה קריאות ל-setAnalyzer/clearAnalyzer גרמו לכך שהכלי לניתוח לא קיבל תמונות לניתוח. ‫(I6169f, ‏ b/151605317, ‏ b/153514544)
  • תיקון באג שבו המאגר ב-ImageProxy מ-ImageCapture לא הוחזר אחורה (I0c455, b/153249512)
  • תוקנה הבעיה שבה המצלמה הראשונה ברשימת המצלמות הנתמכות מ-CameraManager לא תמיד נבחרת לשימוש. (I4c624, ‏ b/153418028)
  • נפתרה בעיה שגרמה לקריסה לסירוגין בגלל שהגדרת Preview.SurfaceProvider לא שחררה את השטח שנדרש קודם. ‫“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

מצלמה-מצלמה2 גרסה ‎1.0.0-beta03

15 באפריל 2020

androidx.camera:camera-camera2:1.0.0-beta03 מופץ. גרסה ‎1.0.0-beta03 מכילה את השמירות האלה.

תיקוני באגים

  • תיקונים לתמיכה בהשקה של camera-core

Camera-Core Version 1.0.0-beta03

15 באפריל 2020

androidx.camera:camera-core:1.0.0-beta03 מופץ. גרסה ‎1.0.0-beta03 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה רגרסיה מגרסה beta03 שבה קריאה ל-bindToLifecycle() עם אפס UseCases גרמה להחזרת חריגה. כך נמנעת אחזור של Camera בלי קישור של UseCase.

מצלמה-מצלמה2 גרסה ‎1.0.0-beta02

‫1 באפריל 2020

androidx.camera:camera-camera2:1.0.0-beta02 מופץ. גרסה ‎1.0.0-beta02 מכילה את השמירות האלה.

תיקוני באגים

  • תוקן ImageInfo.getRotationDegrees() מתוך ImageProxy שנוצר על ידי ImageCapture כך שיתאים לערך הסיבוב של כיוון ה-EXIF. (Id4281, b/150802561)
  • כבר לא נדרש סידור מפורש של יחסי התלות של CameraX בתוך build.gradle כדי להשתמש בהטמעה של CameraX/Camera2 כברירת מחדל. במקרים שבהם נדרש להצהיר על תלות מחמירה, אפשר עכשיו לכלול את כל התלויות של CameraX בקובץ ה-build. (I46e88)
  • תוקנה הבעיה מספר IllegalArgumentException שמתרחשת במכשירים שבהם גודל התצוגה קטן מ-640x480. (Ife3f2, b/150506192)
  • תוקן bindToLifecycle כך שהוא ישנה את UseCase רק אם הוא נקשר בהצלחה. בעבר, כשמתקשרים אל bindToLifecycle כדי לבצע חישובי רזולוציה, מתבצע עדכון של UseCase. עכשיו אין צורך לעדכן את UseCase כדי לבצע את החישובים (I78d9e)

גרסה ‎1.0.0-beta02 של Camera-Core

‫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)
  • תוקנה הבעיה שבה סשן הצילום של תרחיש השימוש Preview לא התעדכן כשמשטח התצוגה המקדימה השתנה אחרי קריאה ל-Preview.setSurfaceProvider() יותר מפעם אחת.

מצלמה-מצלמה2 גרסה ‎1.0.0-beta01

‫26 בפברואר 2020

androidx.camera:camera-camera2:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

תיקוני באגים

  • השם של SurfaceRequest.setSurface(Surface) שונה ל-SurfaceRequest.provideSurface(Surface), ושל SurfaceRequest.setWillNotComplete() שונה ל-SurfaceRequest.willNotProvideSurface(). (I224fe)
  • תוקנה בעיה שבה יחס הגובה-רוחב של תמונה שנשמרה לא היה נכון אחרי שינוי ערך הסיבוב של היעד באמצעות ImageCapture.setTargetRotation(). (I474ea, ‏ b/148763432)
  • תוקנה בעיה באתחול של וריאציות של אפליקציות עם ProGuard מופעל, על ידי שמירה של הדגל שמגדיר את ספק ברירת המחדל של CameraXConfig. (I2d6c1)

גרסה ‎1.0.0-beta01 של Camera-Core

‫26 בפברואר 2020

androidx.camera:camera-core:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

שינויים ב-API

  • החלפתי את ListenableFuture ב-SurfaceRequest.provideSurface() ב-Executor וב-Callback. השינוי הזה מפשט את ה-API כי כבר לא צריך לטפל בחריגים ב-provideSurface(), ומבטיח שלא ניתן לבטל את הקריאה החוזרת (callback) של provideSurface(). הסיבה לכך היא למנוע קריסות במכשירים ישנים יותר שנגרמות בגלל שחרור מוקדם מדי של משטחים. האובייקט SurfaceRequest.Result משמש עכשיו למעקב אחרי השימוש של SurfaceRequest ב-Surface שסופק. (I7854b)
  • השם של SurfaceRequest.setSurface(Surface) שונה ל-SurfaceRequest.provideSurface(Surface) ושל SurfaceRequest.setWillNotComplete() ל-SurfaceRequest.willNotProvideSurface(). (I224fe)

תיקוני באגים

  • תוקנה בעיה שבה יחס הגובה-רוחב של תמונה שנשמרה לא היה נכון אחרי שינוי ערך הסיבוב של היעד באמצעות ImageCapture.setTargetRotation(). (I474ea, ‏ b/148763432)
  • תוקנה בעיה באתחול של וריאציות של אפליקציות עם ProGuard מופעל, על ידי שמירה של הדגל שמגדיר את ספק ברירת המחדל של CameraXConfig. (I2d6c1)
  • עדכנו את התיעוד של ממשקי API של מצב פלאש כדי לכלול ערכים אפשריים. (I4a3ec)

מצלמה-מצלמה2 גרסה ‎1.0.0-alpha10

‫10 בפברואר 2020

androidx.camera:camera-camera2:1.0.0-alpha10 מופץ. גרסה ‎1.0.0-alpha10 מכילה את השמירות האלה.

תיקוני באגים

  • שיפור היציבות במכשירי INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY על ידי שמירה על Surfaces רק למשך השימוש ב-Camera2. (I9dac2)
  • תוקנה בעיה בתצוגה מקדימה של חשיפת חסר במכשירים מדגם LEGACY על ידי התאמה נכונה של 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 חדש. ה-method‏ Preview.getPreviewSurfaceProvider() הוסרה בגלל הפוטנציאל לשימוש לרעה כשמשלבים את Preview עם מחלקות אחרות כמו PreviewView. (I20105)
  • הוספת את getTargetRotation() ואת getTargetName() אל Preview. (Iceee7)
  • הוספת את getTargetRotation(),‏ getBackpressureStrategy() ואת getImageQueueDepth() ב-ImageAnalysis. (I9d6d9)
  • הוספת את getTargetRotation() ואת getCaptureMode() ב-ImageCapture() (I5bc17)
  • הארגומנטים שהועברו קודם ב-ImageCapture.OnImageSavedCallback.onError() וב-ImageCapture.OnImageCapturedCallback.onError() הוחלפו עכשיו בארגומנט יחיד ImageCaptureException, שעדיין מכיל את כל המידע שהועבר קודם.
  • הוסר הארגומנט של הקובץ שהועבר בעבר ב-ImageCapture.OnImageSavedCallback.onImageSaved(). (I750d2)
  • הכיתות Preview ו-ImageCapture מסומנות עכשיו כסופיות. (I2500b)
  • ‫API עודכן, עם שיטות getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ו-getLinearZoom() של מיזוג CameraInfo לתוך getZoomState() שמחזיר מופע ZoomState. (Ib19fe)
  • הוסרו שדות ה-API‏ OPTION_TARGET_CLASS ו-OPTION_TARGET_NAME מ-CameraXConfig כי הם מיועדים לשימוש פנימי בספרייה בלבד. הוסר קונסטרוקטור עבור CameraXConfig.Builder. (I96912)
  • הוסרה הדרישה שהאפליקציה תרחיב את Application כדי לאתחל את CameraX. ‫CameraX יאותחל עכשיו עם הגדרת ברירת מחדל של Camera2, כל עוד ארטיפקט camera-camera2 כלול ב-build.gradle של האפליקציה. ‫(I58ff5) (b/146923574)

מצלמה-מצלמה2 גרסה ‎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 דורשת את markerClassExperimentalCamera2Interop.

גרסה ‎1.0.0-alpha09 של Camera-Core

‫22 בינואר 2020

androidx.camera:camera-core:1.0.0-alpha09 מופץ. גרסה ‎1.0.0-alpha09 מכילה את השמירות האלה.

שינויים ב-API

  • הפרמטר SurfaceOrientedMeteringPointFactory useCaseForSurface שונה ל-useCaseForAspectRatio, והרחבנו את מאמרי העזרה.
  • השיטות FocusMeteringAction.Builder.from() מוחלפות ב-constructors‏ FocusMeteringAction.Builder().
  • הוסרה DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float). באפליקציות צריך להשתמש בבונה שמקבל פרמטר Display ולהעביר את התצוגה הנוכחית.
  • שיפורים ב-Javadoc עבור ממשקי API של מיקוד ומדידה בנוגע ל-MeteringMode ולדגלים של 3A, ושימוש בפרמטר Display.
  • הרחבנו את מאמרי העזרה בנושא setZoomRatio ו-setLinearZoom.

תיקוני באגים

  • תוקנו בעיות שקרו כשסוגרים ואז פותחים מצלמות, שגרמו לכשל בבדיקת 'תנאי מוקדם'.
  • תוקנה בעיה ב-ConcurrentModificationException שיכולה להתרחש כשמשתמשים בממשקי API של פנס וזום.
  • תוקנה בעיה שגרמה לכך שרזולוציות שנבחרו היו רחוקות מהרזולוציה המבוקשת, כשהיה זמין גודל של מידות mod16.
  • ממשקי ה-API‏ startFocusMetering ו-cancelFocusMetering פועלים עכשיו כמו שמתואר במסמכים, עם תזמון נכון, ויכול להיות שהם יחזירו שגיאות כשהן מתרחשות.
  • תוקנה בעיה שקרתה כשבוצעה בקשה לרזולוציית יעד ספציפית עם יחס גובה-רוחב של חיתוך במכשיר שלא תומך בגדלים כאלה. עכשיו, אם יש תמונה בגודל לא חתוך וברזולוציה מספיקה כדי להגביל את הבקשה המקורית, היא תיבחר.

מצלמה-מצלמה2 גרסה ‎1.0.0-alpha08

18 בדצמבר 2019

androidx.camera:camera-camera2:1.0.0-alpha08 מופץ. גרסה ‎1.0.0-alpha08 מכילה את השמירות האלה.

בעיות מוכרות

  • לא כל האפשרויות של בקשות צילום ב-Camera2 פועלות כשמשתמשים ב-Camera2 interop. אם האפשרות המבוקשת לא נתמכת, הפעלת הסשן נכשלת ועשויה להופיע שגיאה כמו: 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

תיקוני באגים

  • תוקנה בעיה שגרמה למסך שחור בתצוגה המקדימה אחרי סיבוב המצלמה או מעבר למצלמה אחרת ברמות API‏ 21 ו-22.

שינויים ב-API

  • ניסיוני: נוספה דרך פעולה הדדית של camera2 לחילוץ מזהה המצלמה.

גרסה Camera-Core 1.0.0-alpha08

18 בדצמבר 2019

androidx.camera:camera-core:1.0.0-alpha08 מופץ. גרסה ‎1.0.0-alpha08 מכילה את השמירות האלה.

בעיות מוכרות

  • יכול להיות שהתצוגה המקדימה של יחס הגובה-רוחב באפליקציות שמשתמשות ב-PreviewView או ב-CameraView תהיה שגויה. המצב הזה קורה אחרי השהיה או החזרה לפעולה בחלק מהמכשירים המלאים, כמו Pixel2.

תיקוני באגים

  • עדכנו את המסמכים של FocusMeteringAction ו-CameraControl.
  • ההמלצה TorchControl יושמה עבור enableTorch() ו-getTorchState().

שינויים ב-API

  • הסתרנו את IntDefs והעברנו קבועים של IntDef מחוץ להגדרה של IntDef.
  • הפריט rotationDegrees הועבר מהכיתה OnImageCaptureCallback לכיתה ImageInfo.
  • הפריט rotationDegrees הועבר מהכיתה Analyzer לכיתה ImageInfo.

מצלמה-מצלמה2 גרסה ‎1.0.0-alpha07

4 בדצמבר 2019

androidx.camera:camera-camera2:1.0.0-alpha07 מופץ. גרסה ‎1.0.0-alpha07 של camera-camera2 מכילה את השמירות האלה

  • Camera2Config זמין עכשיו לשימוש באתחול ובהגדרה של הטמעה מבוססת Camera2 עבור CameraX. פרטים נוספים על אופן השימוש בשיטה הזו במהלך ההפעלה מופיעים בקטע camera-core בהערות הגרסה.
  • הפונקציונליות של camera2 interop מסומנת עכשיו כניסיונית והועברה לחבילה נפרדת, androidx.camera.camera2.interop.

גרסה ‎1.0.0-alpha07 של Camera-Core

4 בדצמבר 2019

androidx.camera:camera-core:1.0.0-alpha07 מופץ. גרסה ‎1.0.0-alpha07 של camera-core מכילה את השמירות האלה

שימו לב: יש כמה שינויים משמעותיים בגרסת האלפא הזו, כחלק מההכנות לגרסת הבטא. מומלץ לבדוק את השינויים ולשתף משוב בקבוצת Google של CameraX. מפתחים שמשתמשים ב-CameraX באפליקציות שזמינות בחנות Play, מומלץ להמתין לגרסת הבטא הרשמית לפני שמשדרגים את הספרייה באפליקציות.

שינויים ב-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(), שמחזירה listenable future, שמספקת את ProcessCameraProvider בסיום. כאן מוצג השימוש ב-onCreate() בשימוש טיפוסי. אפשר לבצע שיחות אל getInstance() בשלב מאוחר יותר במחזור החיים של הפעילות כדי לדחות את זמן האחזור של האתחול למועד מאוחר יותר (למשל, כשפעולת משתמש פותחת ממשק משתמש של מצלמה).

    import androidx.camera.lifecycle.ProcessCameraProvider
    import com.google.common.util.concurrent.ListenableFuture
    
    class MainActivity : AppCompatActivity() {
       private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider>
       override fun onCreate(savedInstanceState: Bundle?) {
           cameraProviderFuture = ProcessCameraProvider.getInstance(this);
      }
    
  • אפשר להוסיף מאזין ל-ListenableFuture שמוחזר על ידי getInstance(). כך אפשר לאחזר את ספק המצלמה מ-Future בלי לחסום ב-Future.get()

    cameraProviderFuture.addListener(Runnable {
      val cameraProvider = cameraProviderFuture.get()
      cameraProvider.bindToLifecycle(...)
    }, ContextCompat.getMainExecutor(this))
    
  • בחירת המצלמה מתבצעת עכשיו באמצעות בורר מצלמות, במקום לפי תרחיש שימוש

    val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
    
  • CameraProvider.bindToLifecycle מקבל את הבעלים של מחזור החיים, את בורר המצלמות ואת תרחישי השימוש, שמוגדרים בהתאם לבעלים של מחזור החיים ומופעלים עבור המצלמה שנבחרה.

    cameraProvider.bindToLifecycle(this as LifecycleOwner,
           cameraSelector, preview, imageAnalysis)
    
  • הוסרו מחלקות של תרחיש השימוש Config. במקום זאת, אפשר ליצור תרחישים לדוגמה ישירות ולהגדיר אפשרויות בכל כלי ליצירת תרחישים לדוגמה. לדוגמה:

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • תרחיש השימוש בתצוגה המקדימה עודכן כך שיקבל משטח שנוצר ומנוהל על ידי האפליקציה, כדי להבטיח שימוש בשיטות המומלצות של Android. מומלץ מאוד להשתמש בתצוגת הכיתה PreviewView שמופיעה בחבילת תצוגת המצלמה.

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • מידע נוסף על צירוף משטח שמנוהל על ידי אפליקציה במקרים כאלה, האפליקציה מנהלת את מחזור החיים של הפלטפורמה.

  • חשוב: ההטמעה של שיטת הניתוח ImageAnalysis חייבת לקרוא ל-image.close() בתמונות שהתקבלו בסיום השימוש בהן. אחרת, יכול להיות שלא יתקבלו תמונות חדשות או שהמצלמה תיתקע, בהתאם להגדרת הלחץ האחורי. פרטים נוספים מופיעים במאמרי העזרה.

  • השיטה ImageAnalysis ImageReaderMode השתנתה לשיטת ויסות עומס intdef.

  • ImageProxy.getImage() מסומן כניסיוני. אפליקציות צריכות להוסיף הערות לשימוש, למשל באמצעות @androidx.camera.core.ExperimentalGetImage

  • הדרישה להערה UIThread עבור Analyzer הוסרה.

  • הפונקציה ImageAnalysis.clearAnalyzer() נוספת להסרת כלי ניתוח.

  • השם של רכיבי Listener עם יותר מ-method אחת שונה ל-Callback:

    • ImageCapture.OnImageCapturedListener נקרא עכשיו ImageCapture.OnImageCapturedCallback
    • ImageCapture.OnImageSavedListener נקרא עכשיו ImageCapture.OnImageSavedCallback
    • VideoCapture.OnVideoSavedListener נקרא עכשיו VideoCapture.OnVideoSavedCallback
  • הסוגים המנויים (enums) השתנו ל-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) עתידי מיידי, גם אם אין יחידת פלאש. בגרסאות עתידיות, הבעיה הזו תיפתר וההתנהגות תהיה כזו: אם אין יחידת Flash, הפעולה enableTorch(true) תיכשל באופן מיידי (לא תישלח בקשה אל CaptureSession), וההגדרה TorchState תישאר מושבתת.
  • בעיה מוכרת: הפונקציות startFocusAndMetering ו-cancelFocusAndMetering מתחילות ומבטלות את מדידת הפוקוס, אבל מחזירות מייד completed (success) future שלא מייצג את ההתנהגות המתועדת. הערך FocusMeteringResult מ-ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() הוא תוצאה מזויפת ש-isFocusSuccessful() ותמיד מחזירה את הערך false, בניגוד להתנהגות המיועדת והמתועדת.
  • בעיה ידועה: אנחנו מפתחים מפעל של נקודות מדידה לשימוש עם PreviewView אירועי מגע. בשלב הזה, אפליקציות שמתחברות לממשקים מנוהלים בהתאמה אישית יכולות להשתמש במפעלים הקיימים של נקודות המדידה, אבל אין פונקציונליות של מיקוד במגע ל-PreviewView.

‫Camera-Camera2 ו-Camera-Core גרסה ‎1.0.0-alpha06

‫9 באוקטובר 2019

androidx.camera:camera-camera2:1.0.0-alpha06 וגם androidx.camera:camera-core:1.0.0-alpha06 מופצים. אלה השמירות שנכללות ב-camera-camera2:1.0.0-alpha06 ואלה השמירות שנכללות ב-camera-core:1.0.0-alpha06.

תכונות חדשות

שינויים בהגדרת יחסי גובה-רוחב:

  • setTargetAspectRatioMode() נוסף ומקבל ארגומנט מסוג enum. ההגדרה הזו קובעת את מצב יחס הגובה-רוחב עם האפשרויות RATIO_4_3 או RATIO_16_9 במקום יחס גובה-רוחב שרירותי. הערך הזה משקף בצורה מדויקת יותר את העובדה שהמצלמה מספקת רק יחסי גובה-רוחב מסוימים, ולא כל יחס שרירותי.
    • בשלב הזה, יחסי הגובה-רוחב הזמינים הם 16:9 ו-4:3. בשיחות אחד על אחד, רק במכשירים מסוימים יש אפשרות להשתמש במצלמה, וגם אז רק ברזולוציות מוגבלות. אם אתם מתכננים ממשק או עיבוד ביחס של 1:1, מומלץ להשתמש באפשרויות הגמישות יותר של 16:9 או 4:3 ולחתוך את התצוגה או לעבד אזור משנה.
    • יחסי הגובה-רוחב האלה מותאמים לשימוש בשטח החיישן המקסימלי.
  • getTargetAspectRatio() נוסף לממשקי API של הגדרות תרחישי שימוש, והוא מחזיר את יחס הגובה-רוחב של הפלט של תרחיש השימוש.
  • השיטה setTargetAspectRatio(Rational aspectRatio) השתנתה ב-ImageCapture ל-setTargetAspectRatioCustom(Rational aspectRatio). אם מגדירים את האפשרות הזו, הפלט של ImageCapture נחתך בהתאם.

Executor APIs

  • הפונקציות הבאות מקבלות פרמטר של executor, שמאפשר לאפליקציה לקבוע באיזה executor הפונקציה תפעל.
    • Preview.setOnPreviewOutputUpdateListener() API. אם ה-executor לא קיים עבור הפונקציה הזו, היא מופעלת בשרשור הראשי.
    • Preview.setOnPreviewOutputUpdateListener
    • FocusMeteringAction.Builder.setAutoFocusCallback
    • ImageAnalysis.setAnalyzer
    • ImageCapture.takePicture
    • CameraView.takePicture
    • CameraView.startRecording
    • VideoCapture.startRecording

הוספנו את CameraInfo עם ממשקי ה-API של בדיקת הזמינות של הפלאש וסיבוב החיישן

  • נוספו CameraInfo ושיטה getCameraInfo, שמאפשרות לאפליקציות לבדוק אם עדשת CameraInfo זמינה ואם הפלאש זמין במצלמה. לדוגמה:

    try {
        CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing);
        LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable();
        flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE);
    } catch (CameraInfoUnavailableException e) {
        Log.w(TAG, "Cannot get flash available information", e);
        flashToggle.setVisibility(View.VISIBLE);
    }
    
  • הוספנו את CameraInfo.getSensorRotationDegrees(). היא מספקת את הכיוון של חיישן המצלמה ביחס לכיוון הטבעי של המכשיר, או ביחס לכיוון שמתואר על ידי סיבוב של משטח (שמתאר כיוון ביחס לכיוון הטבעי).

שינויים ב-API ותיקוני באגים

  • יחסי גובה-רוחב: בכל תרחיש שימוש, האפליקציות צריכות להפעיל רק את setTargetResolution() או את setTargetAspectRatio(). קריאה לשתי הפונקציות באותו אובייקט builder מחזירה שגיאה.
    • באופן כללי, מומלץ להשתמש ב-setTargetAspectRatio() על סמך עיצוב ממשק המשתמש של האפליקציה. הפתרונות הספציפיים תלויים בתרחיש השימוש. לדוגמה, התצוגה המקדימה היא ברזולוציות מסך קרובות, וצילום התמונה מספק תמונות סטילס ברזולוציה גבוהה. מידע נוסף זמין בטבלה של פתרונות אוטומטיים.
    • כדאי להשתמש ב-setTargetResolution() במקרים ספציפיים יותר, למשל כשנדרשת רזולוציה מינימלית (כדי לחסוך בחישובים) או רזולוציה מקסימלית (כדי לעבד פרטים).
  • ‫Executor API: הסרנו את הקריאה setCallbackHandler() מממשקי API להגדרת תרחישי שימוש. במקום זאת, אפליקציות יכולות להגדיר את ה-executor כפרמטר בממשקי API שונים אחרים שמגדירים קריאה חוזרת.
  • עדכנו את ההערות לגבי ערכי null בפונקציות שונות.
  • תוקנה בעיה שגרמה להצגת השגיאה java.lang.IllegalStateException at Camera$StateCallback.onError כשפותחים את המצלמה.
  • תוקנה בעיה שבה נבחרו רזולוציות קטנות מדי (פחות מ-640x480) כשהאפליקציה ביקשה רזולוציות גדולות יותר או רזולוציות ברירת מחדל, וכתוצאה מכך תמונת התצוגה המקדימה הייתה מטושטשת או מורכבת מריבועים. אפליקציות שזקוקות באופן ספציפי לרזולוציות קטנות יותר יכולות לבקש אותן באופן מפורש.
  • תוקנה בעיה שבה המצלמה הציגה מסך שחור (הפעלת המצלמה נכשלה) אחרי חזרה מ-Intent שהפעיל אפליקציית מצלמה אחרת.
  • תוקן באג שגרם להצגת השגיאה הבאה כשמפעילים או מפסיקים אפליקציות שוב ושוב: java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • תוקנה השגיאה הבאה שמתרחשת כשמשביתים את ImageAnalysis: java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
  • נוספו בדיקות נוספות לתהליך הניתוק של המצלמה.
  • שיפרנו את החוסן של מערכת הבדיקה כשמריצים בדיקות מצלמה בזו אחר זו.

‫Camera-Camera2 ו-Camera-Core גרסה ‎1.0.0-alpha05

‫5 בספטמבר 2019

androidx.camera:camera-camera2:1.0.0-alpha05 וגם androidx.camera:camera-core:1.0.0-alpha05 מופצים. אלה השמירות שנכללות ב-camera-camera2:1.0.0-alpha05 ואלה השמירות שנכללות ב-camera-core:1.0.0-alpha05.

  • שינוי ב-API: שמות המשתנים של שגיאות בתרחישי שימוש שונו:

    • השם של ImageCapture.UseCaseError שונה לImageCapture.ImageCaptureError
    • השם של VideoCapture.UseCaseError שונה לVideoCapture.VideoCaptureError
  • נוסף CameraControl API עם ממשקי Tap-to-Focus APIs

    • הוספנו 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 ל-Metering Point 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()
  • הגדרות שונות של config מקבלות עכשיו פרמטרים מסוג null, ופונקציות ה-getter המתאימות עשויות להחזיר 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 מתפשרת על רזולוציה או יחסי גובה-רוחב על סמך יכולות המכשיר, כדי להתחיל סשן צילום בתור המטרה הראשונה שלה, ולכן יכול להיות שבקשות מדויקות לא יתקבלו. הסיבה לכך יכולה להיות:

  • מכשירים שלא תומכים ברזולוציה המבוקשת
  • בעיות תאימות, למשל במכשירים מדור קודם שבהם צריך להשתמש ברזולוציות מסוימות כדי שהמכשיר יפעל בצורה תקינה
  • במכשירים מסוימים, פורמטים מסוימים זמינים רק ביחסי גובה-רוחב מסוימים
  • העדפה של 'הערך הקרוב ביותר שמתחלק ב-16' לקידוד JPEG או וידאו. ראו CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP

למרות ש-CameraX יוצרת את הסשן ומנהלת אותו, תמיד צריך לבדוק את גדלי התמונות שמוחזרים בפלט של תרחיש השימוש בקוד, ולבצע התאמות בהתאם.

בוצעו כמה שינויים בהגדרת הרזולוציות ויחסי הגובה-רוחב, במטרה להפוך את ה-API לברור יותר:

  • תצוגה מקדימה של תרחיש שימוש נחשבת כעת כבעלת יחס גובה-רוחב של 4:3 כברירת מחדל, אם לא הוגדר יחס גובה-רוחב.
  • כש-CameraX שוקלת באופן פנימי שינויים ברזולוציות וביחסי הגובה-רוחב המבוקשים על סמך יכולת המכשיר, היא קודם מנסה לשמור על אותו יחס גובה-רוחב (כפי שנקבע על ידי קריאות של setTargetAspectRatio או setTargetResolution)
  • גרסה של הרזולוציה שבה המספרים הם הקרובים ביותר למספרים המקוריים שמתחלקים ב-16 ללא שארית נחשבת לאותו יחס גובה-רוחב.

מצב לא חוסם של ImageAnalysis

  • ההתנהגות של ImageReaderMode.ACQUIRE_LATEST_IMAGE היא עכשיו לא חוסמת. היא מקבלת את התמונה האחרונה בתור, אבל היא משליכה תמונות שלא נעשה בהן שימוש באופן רציף כדי לאפשר לצינור המצלמה להימנע מחסימה.
  • הכלי לניתוח יכול להחזיק תמונה אחת ללא הגבלת זמן בלי לעצור את צינור העיבוד.
  • אם האפליקציה מספקת מפעיל שחוסם, תרחיש השימוש ImageAnalysis נחסם.
  • קבוצת ברירת המחדל של המבצעים שמוגדרת באופן פנימי מתנהגת כמבצע לא חוסם.

תיקוני באגים

  • תוקנו בעיות שקשורות לזמן קצוב לתפוגה בהמתנה להתכנסות של 3A בזמן צילום תמונות במכשירים ללא פוקוס אוטומטי, חשיפה אוטומטית ואיזון לבן אוטומטי
  • תוקנה בעיה שקרתה כשצילמו תמונות במהירות באמצעות ImageCapture. תיקון שגיאה: java.lang.IllegalStateException: maxImages (2) has already been acquired
  • תוקנה הבעיה שבה הפונקציה setLensFacing לא הופעלה בתרחיש שימוש מסוים, וכתוצאה מכך התקבל java.lang.IllegalArgumentException: Unable to get camera ID for use case.
  • תוקנה בעיה שבה מכשיר מדור קודם דרש יחס גובה-רוחב ספציפי כרזולוציית JPEG מקסימלית
  • תוקנה בעיה שגרמה לקריסה של האפליקציה כשמעבירים אותה לרקע בזמן פתיחת המצלמה
  • נפתרה בעיה ב-API בגרסה < 25, והוסרה השגיאה checkAndUpdateEglState: invalid current EGLDisplay
  • תוקנה בעיה שבה ביטול הקישור של התצוגה המקדימה אחרי הפעלה והתחלה של תוספים לא פעל
  • תוצרי ה-Build של camera-view ו-camera-extensions מתפרסמים עכשיו כגרסאות אלפא

מצלמה-מצלמה2 ומצלמה-ליבה גרסה 1.0.0-אלפא03

‫2 ביולי 2019

androidx.camera:camera-core:1.0.0-alpha03 וגם androidx.camera:camera-camera2:1.0.0-alpha03 מופצים. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

שינויים ב-API

  • נוספה הבהרה ל-javadoc לגבי 'יעד' בקריאות להגדרת התצורה setTarget

Camera-Core

  • תוקנה קריסת Input/Output Surface שלא הוגדרה בפתיחה/סגירה מהירה או בקישור/ביטול קישור
  • מעבר להטמעות חדשות של חוזים עתידיים
  • בדיקת תיקונים כדי לבצע בדיקות חזקות יותר
  • בבדיקת השילוב המרכזית מוצג עכשיו זמן הצילום של התמונות
  • פותחה מחלקה פנימית לתאימות ל-Executors
  • אפליקציה לבדיקת תזמון של צילום תמונות – ההמתנה להשלמת הפעולה הקודמת משופרת והיציבות משופרת

תוספים

  • נוספו בדיקות של בקרת גרסאות
  • כיסוי בדיקות נוסף – התקשרות חזרה לאירועים של תוספים
  • שיפורים בתמונות ובמטא-נתונים שתואמים באופן פנימי
  • תיקונים למעבר בין מצבים באפליקציית הבדיקה

מצלמה-מצלמה2 ומצלמה-ליבה גרסה 1.0.0-אלפא02

‫5 ביוני 2019

androidx.camera:camera-core:1.0.0-alpha02 וגם androidx.camera:camera-camera2:1.0.0-alpha02 מופצים. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

תיקוני באגים

  • תוקנה בעיה של חלוקה באפס כשמשתמשים באמולטור
  • תוקנה שגיאת NullPointerException/Surface Abandoned שמתרחשת בחלק מהמכשירים כשמצלמים תמונות במהירות בזמן ביטול הקישור וקישור מחדש של תרחישי שימוש במהירות.
  • תוקנה בעיה פנימית כדי לוודא שעדכונים של בקשות צילום מסך משפיעים על כל הפלטפורמות באופן עקבי
  • שיפורים ביציבות כשמפעילים מחדש תרחישי שימוש במופעים חדשים של האפליקציה
  • שינויים בארכיטקטורה הפנימית כדי להתכונן לתמיכה ב-executors ב-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 מכילה את השמירות האלה.

תיקוני באגים

גרסה ‎1.0.0-beta09 של Camera-Lifecycle

16 בספטמבר 2020

androidx.camera:camera-lifecycle:1.0.0-beta09 מופץ. גרסה ‎1.0.0-beta09 מכילה את השמירות האלה.

גרסה 1.0.0-beta08 של Camera-Lifecycle

‫19 באוגוסט 2020

androidx.camera:camera-lifecycle:1.0.0-beta08 מופץ. גרסה ‎1.0.0-beta08 מכילה את השמירות האלה.

תיקוני באגים

  • ההפעלה לא אמורה לקרוס יותר כשמשתמשים בהקשר שלא מחזיר אובייקט של אפליקציה מ-Context.getApplicationContext(). (I3d3c9, b/160817073)

גרסה ‎1.0.0-beta07 של Camera-Lifecycle

22 ביולי 2020

androidx.camera:camera-lifecycle:1.0.0-beta07 מופץ. גרסה ‎1.0.0-beta07 מכילה את השמירות האלה.

גרסה ‎1.0.0-beta06 של Camera-Lifecycle

‫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)

גרסה ‎1.0.0-beta05 של Camera-Lifecycle

‫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() עם אפס UseCases גרמה להחזרת חריגה. כך נמנעת אחזור של Camera בלי קישור של UseCase.
  • תיקונים לתמיכה בהשקה של camera-core

גרסה ‎1.0.0-beta01 של Camera-Lifecycle

‫26 בפברואר 2020

androidx.camera:camera-lifecycle:1.0.0-beta01 מופץ. גרסה ‎1.0.0-beta01 מכילה את השמירות האלה.

תיקוני באגים

  • תיקנו את התיעוד כדי לציין שכאשר מקבלים ProcessCameraProvider במהלך האתחול, נעשה שימוש בהגדרת ברירת מחדל, ושהרחבת Application היא אופציונלית. (I5e395)

גרסה ‎1.0.0-beta02 של Camera-Lifecycle

‫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)

גרסה ‎1.0.0-alpha03 של Camera-Lifecycle

‫22 בינואר 2020

androidx.camera:camera-lifecycle:1.0.0-alpha03 מופץ. גרסה ‎1.0.0-alpha03 מכילה את השמירות האלה.

עדכונים

  • תיקונים ועדכונים שונים לתמיכה בשינויים ב-Camera Core וב-Camera2.

גרסה ‎1.0.0-alpha02 של Camera-Lifecycle

18 בדצמבר 2019

androidx.camera:camera-lifecycle:1.0.0-alpha02 מופץ. גרסה ‎1.0.0-alpha02 מכילה את השמירות האלה.

שינויים בתלות

  • העדכון בוצע כדי להשתמש ב-androidx.camera:camera-core:1.0.0-alpha08.

גרסה ‎1.0.0-alpha01 של Camera-Lifecycle

4 בדצמבר 2019

androidx.camera:camera-lifecycle:1.0.0-alpha01 מופץ. גרסה 1.0.0-alpha01 של camera-lifecycle מכילה את השמירות האלה

הערות לגבי API

  • נוסף ארטיפקט של מחזור החיים של המצלמה, שמספק ממשק LifeCycleCameraProvider ויישום בשם ProcessCameraProvider, שמספק רבות מהפונקציות של המחלקה הקודמת CameraX ב-core, ומתקבל באמצעות שיטת getInstance().
  • כדי להשתמש ב-CameraX, האפליקציות צריכות לכלול את ספריית מחזור החיים של המצלמה.
  • הערות לגבי אופן ההפעלה של CameraX באמצעות ProcessCameraProvider מופיעות בקטע camera-core.

גרסה 1.0.0 של Camera-Extensions ו-Camera-View

גרסה ‎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 של פריט המידע שנוצר בתהליך פיתוח (Artifact) של תוספים למצלמה. ‫(If683a, b/161377155)

תיקוני באגים

  • האפשרות הזו מונעת מהאפליקציה להפעיל מצבי הרחבה כשמבצעים קישור ל-VideoCapture. התוספים של CameraX תומכים רק ב-ImageCapture וב-Preview. עדיין אין תמיכה ב-VideoCapture. אם האפליקציה מבצעת binding ל-VideoCapture ומפעילה מצב הרחבה כלשהו, תופעל IllegalArgumentException. (I0d87b)
  • CameraSelector#filter לא זורק יותר IllegalArgumentException כשקבוצת התוצאות ריקה. (I27804)
  • שם ה-API‏ ExtensionsManager#getInstance שונה ל-getInstanceAsync כי הוא מחזיר ListenableFuture. הסיומת Async של שם הפונקציה יכולה להציג בבירור שמדובר בפונקציה אסינכרונית. (I279d2)
  • הסרת פרמטר הרזולוציה מ-API‏ ExtensionsManager#getEstimatedCaptureLatencyRange כי משתמשים לא יכולים לדעת אילו גדלים נתמכים לתרחיש השימוש ImageCapture, ולא יכולים להבחין אם נתוני ההשהיה שמוחזרים מתייחסים לגודל הפלט המקסימלי של הלכידה או לפרמטר הרזולוציה של הקלט. (I74bb2)
  • העברת הפרמטר CameraProvider של הפונקציות ExtensionsManager אל getInstance() API. כדי שהמשתמשים לא יצטרכו להזין את הפרמטר CameraProvider בכל פעם שהם קוראים לפונקציות ExtensionsManager. (Ic7e48)

גרסה ‎1.0.0-alpha31

17 בנובמבר 2021

androidx.camera:camera-extensions:1.0.0-alpha31 וגם androidx.camera:camera-view:1.0.0-alpha31 מופצים. גרסה ‎1.0.0-alpha31 מכילה את השמירות האלה.

שינויים ב-API

  • נוסף CameraSelector#filter לממשק ה-API הציבורי כדי לסנן רשימה של 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)
  • בוצע refactoring של RotationListener והשם שלו שונה ל-RotationProvider. הוא ממשיך לספק את אותה תכונה עם API שונה במקצת. (Idffc5)
  • משנים את השם של TAP_TO_FOCUS_UNSUCCESSFUL ל-TAP_TO_FOCUS_NOT_FOCUSED ואת השם של TAP_TO_FOCUS_SUCCESSFUL ל-TAP_TO_FOCUS_FOCUSED. הגדרת OutputSize כסופי (I099fa)

תיקוני באגים

  • הוסרו מחלקות <EffectName><UseCase>Extender שהוצאו משימוש, ExtensionsErrorListener וממשקי API קשורים של ExtensionsManager. (I3b8c3)

גרסה ‎1.0.0-alpha27

21 ביולי 2021

androidx.camera:camera-extensions:1.0.0-alpha27 וגם androidx.camera:camera-view:1.0.0-alpha27 מופצים. גרסה ‎1.0.0-alpha27 מכילה את השמירות האלה.

שינויים ב-API

  • העברנו את viewport API מסטטוס ניסיוני לסטטוס פעיל. מסירים את ההערה לגבי הניסוי של ה-API. (I717ea)
  • שינוי השם של CoordinateTransform#getTransform ל-CoordinateTransform#transform ועדכון JavaDoc ‏ (I864ae)

תיקוני באגים

  • תוקנה בעיה במצב PreviewView PERFORMANCE שגרמה למתיחה כשמשתמשים בו יחד עם Compose UI. ‫(Ie1137, ‏ b/183864890)

גרסה ‎1.0.0-alpha26

‫30 ביוני 2021

androidx.camera:camera-extensions:1.0.0-alpha26 וגם androidx.camera:camera-view:1.0.0-alpha26 מופצים. גרסה ‎1.0.0-alpha26 מכילה את השמירות האלה.

שינויים ב-API

  • להוסיף שיטה חדשה CameraController#getTapToFocusState() שחושפת את התוצאה האחרונה של ההקשה להתמקדות. (Iaccb0)
  • הוספנו עוד תכונות ליבת מצלמה ל-CameraController: פונקציות getter/setter ליחס גובה-רוחב של היעד, לרזולוציית היעד, למצב הצילום, ל-CameraControl ולמבצעים מותאמים אישית. (Iea8f2)
  • להוסיף מחלקה RotationReceiver שמקבלת שינויים בסיבוב של Surface. אפשר להשתמש בערך הזה כדי להגדיר את סיבוב היעד כשהמכשיר נמצא במצב קבוע של תצוגה לאורך או פריסה לרוחב. (Ib278f)
  • חשפנו ממשקי API ציבוריים חדשים של getEstimatedCaptureLatencyRange במחלקה ExtensionsManager. (I6a8ec)
  • הוצא משימוש ExtensionsErrorListener. בשלב הזה, הממשק הזה משמש רק למעקב אחרי חוסר בתצוגה מקדימה או ב-ImageCapture כשמפעילים מצבי תוסף. ‫CameraX יוסיף באופן אוטומטי תצוגה מקדימה או ImageCapture נוספים כדי שהפונקציות של התוסף יפעלו בצורה טובה. אחרי כן, לא תדווח שגיאה דרך הממשק הזה. (I47d9e)
  • הוספנו את ממשקי ה-API הציבוריים החדשים ExtensionsManager getInstance, ‏ isExtensionAvailable ו-getExtensionEnabledCameraSelector והוצאנו משימוש את המחלקות הישנות <EffectName><UseCase>Extender וממשקי API קשורים. (I329e6)

גרסה ‎1.0.0-alpha25

‫2 ביוני 2021

androidx.camera:camera-extensions:1.0.0-alpha25 וגם androidx.camera:camera-view:1.0.0-alpha25 מופצים. גרסה ‎1.0.0-alpha25 מכילה את השמירות האלה.

שינויים ב-API

  • ממשקי ה-API של ExperimentalCameraFilter כבר לא ניסיוניים והם הפכו לממשקי API רשמיים. אפשר להשתמש בהם בלי להוסיף הערה ל-OptIn. (I4bc94)
  • להוסיף כלי שמבצע טרנספורמציה של קואורדינטות בין תרחישי שימוש. דוגמה לשימוש: שינוי הקואורדינטות שזוהו בתרחיש לדוגמה של ImageAnalysis והדגשת האובייקט שזוהה בתצוגה המקדימה. (I63ab1, ‏ b/137515129)
  • בוצעה הסרה של CameraView. ‫CameraView הוחלף ב-CameraController. במדריך ההעברה מוסבר איך מעבירים את הנתונים. (Id5005)

תיקוני באגים

  • הטקסט ExperimentalUseCaseGroupLifecycle הוחלף בטקסט ExperimentalUseCaseGroup. (I3b2ef, ‏ b/159033688)

גרסה ‎1.0.0-alpha24

21 באפריל 2021

androidx.camera:camera-extensions:1.0.0-alpha24 וגם androidx.camera:camera-view:1.0.0-alpha24 מופצים. גרסה ‎1.0.0-alpha24 מכילה את השמירות האלה.

תיקוני באגים

  • החלפנו את ההערה @Experimental בהערה @RequiresOptIn בממשקי API ניסיוניים. כדי לקרוא לממשקי API ניסיוניים, צריך להשתמש ב-androidx.annotation.OptIn במקום ב-androidx.annotation.experimental.UseExperimental שהוצא משימוש. (Iff226)
  • תוקנה הבעיה של מתיחת PreviewView ב-Samsung J5 Prime (Ib10b6)

Camera Extensions & View Version 1.0.0-alpha23

‫24 במרץ 2021

androidx.camera:camera-extensions:1.0.0-alpha23 וגם androidx.camera:camera-view:1.0.0-alpha23 מופצים. גרסה ‎1.0.0-alpha23 מכילה את השמירות האלה.

שינויים ב-API

  • התכונה CameraView יוצאת משימוש. במקומה יש להשתמש במדיניות LifecycleCameraController. מדריך ההעברה (Idac2c)
  • נוספה הערה מסוג FloatRange ל-setLinearZoom()‎ (I69971)

תיקוני באגים

  • הצמדת תלויות של תצוגת המצלמה כדי להסתמך על ארטיפקטים בגרסה 1.0.0. הסתמכות על camera-view לא תגרום יותר לשדרוג אוטומטי של camera-core, ‏ camera-camera2 ו-camera-lifecycle לגרסאות האחרונות של ארטיפקטים 1.1.0, למרות ש-camera-view עדיין תואם לארטיפקטים האלה אם הם מוגדרים באופן מפורש לשימוש בגרסה 1.1.0. (Ic8fa1, b/181599852)
  • תוקנה תצוגה מקדימה מתוחה ב-PreviewView ב-Samsung A3. (Iacb30, b/180121821)
  • תוקנה הבעיה שבה אי אפשר להגדיר את בורר המצלמות לפני שהמצלמה מאותחלת. (Ic8bd0)

Camera Extensions & View Version 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)

Camera Extensions & View Version 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 מכילה את השמירות האלה.

הגרסה הזו הושקה כדי לתמוך בארטיפקטים אחרים של ספריות מצלמה.

Camera Extensions & View Version 1.0.0-alpha20

‫16 בדצמבר 2020

androidx.camera:camera-extensions:1.0.0-alpha20 וגם androidx.camera:camera-view:1.0.0-alpha20 מופצים. גרסה ‎1.0.0-alpha20 מכילה את השמירות האלה.

הגרסה הזו הושקה כדי לתמוך בארטיפקטים אחרים של ספריות מצלמה.

גרסה 1.0.0-alpha19 של Camera-Extensions ו-Camera-View

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 מכילה את השמירות האלה.

תיקוני באגים

  • שיפור זמן האחזור של אתחול CameraX ו-bindToLifecycle ‏ (I61dc5)
  • הפונקציה <UseCase>.getTargetRotation() תחזיר Surface.ROTATION_0 אם היא נקראת לפני שהיא מצורפת למופע של Camera, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)

גרסה Camera-View 1.0.0-alpha18

‫14 באוקטובר 2020

androidx.camera:camera-view:1.0.0-alpha18 מופץ. גרסה ‎1.0.0-alpha18 מכילה את השמירות האלה.

הגרסה הזו הושקה כדי לתמוך בארטיפקטים אחרים של ספריות מצלמה.

גרסה 1.0.0-alpha17 של Camera-Extensions

‫23 בספטמבר 2020

androidx.camera:camera-extensions:1.0.0-alpha17 מופץ. גרסה ‎1.0.0-alpha17 מכילה את השמירות האלה.

תיקוני באגים

גרסה ‎1.0.0-alpha17 של Camera-View

‫23 בספטמבר 2020

androidx.camera:camera-view:1.0.0-alpha17 מופץ. גרסה ‎1.0.0-alpha17 מכילה את השמירות האלה.

תיקוני באגים

גרסה 1.0.0-alpha16 של Camera-Extensions

16 בספטמבר 2020

androidx.camera:camera-extensions:1.0.0-alpha16 מופץ. גרסה ‎1.0.0-alpha16 מכילה את השמירות האלה.

תיקוני באגים

  • נוספה method ב-ExtensionsManager כדי לקבל אובייקט Extensions שמשמש להפעלה ולשאילתות של תוספים במופעי מצלמה (I4fb7e)

גרסה 1.0.0-alpha16 של Camera-View

16 בספטמבר 2020

androidx.camera:camera-view:1.0.0-alpha16 מופץ. גרסה ‎1.0.0-alpha16 מכילה את השמירות האלה.

שינויים ב-API

  • הוסרו PreviewView#setDeviceRotationForRemoteDisplayMode() ו-PreviewView#getDeviceRotationForRemoteDisplayMode(). שתי השיטות האלה מיועדות להתאמה אישית של סיבוב התצוגה המקדימה, כשסיבוב התצוגה הרצוי הוא לא סיבוב המסך, למשל כשמדובר במסך מרוחק. כדי לטפל עכשיו בסיבוב התצוגה המקדימה שלא מוצגת, מגדירים את הסיבוב הרצוי באמצעות Preview#setTargetRotation() והמאפיין PreviewView#getViewPort(targetRotation) שנוסף לאחרונה. (Ib62cc)
  • השם של createSurfaceProvider() שונה ל-getSurfaceProvider(). השיטה תמיד תחזיר את אותו מופע של Preview.SurfaceProvider. (Iff83c)

תיקוני באגים

  • הכריח את PreviewView להשתמש ב-TextureView אם אפקט התוסף מופעל וההטמעה של ספריית הספק צריכה לבצע תהליך מיוחד במשטח הפלט. (I0c3cc)
  • מאפשרים סיבוב שרירותי של היעד בתצוגה המקדימה. פרטי השינוי מחושבים ומוחזרים למשתמש באופן מיידי באמצעות קריאה חוזרת (callback) חדשה של TranformationInfoListener. (I21470)

בעיות מוכרות

  • ב-PreviewView, ‏ OnClickListener#onClick() לא מופעל כשמשתמש הקצה לוחץ על PreviewView. אירוע המגע נצרך בטעות על ידי PreviewView#onTouchEvent(). הבעיה תיפתר במהדורה הבאה.
  • יכול להיות שהערך של MeteringPoint שמתקבל מ-PreviewView#getMeteringPointFactory() שגוי אם נעשה שימוש ב-ViewPort עם PreviewView.

גרסה ‎1.0.0-alpha15 של Camera-Extensions

‫19 באוגוסט 2020

androidx.camera:camera-extensions:1.0.0-alpha15 מופץ. גרסה ‎1.0.0-alpha15 מכילה את השמירות האלה.

תיקוני באגים

  • ה-method‏ ExtensionsManager.init() מקבל עכשיו Context כפרמטר במקום 0 ארגומנטים. (Ife754)
  • ההפעלה לא אמורה לקרוס יותר כשמשתמשים בהקשר שלא מחזיר אובייקט של אפליקציה מ-Context.getApplicationContext(). (I3d3c9, b/160817073)

    גרסה Camera-View 1.0.0-alpha15

    ‫19 באוגוסט 2020

androidx.camera:camera-view:1.0.0-alpha15 מופץ. גרסה ‎1.0.0-alpha15 מכילה את השמירות האלה.

תיקוני באגים

  • DisplayOrientedMeteringPointFactory מקבל מופע במקום CameraSelector, כך שיש מיפוי ישיר למצלמה שהמפעל ייצור עבורה נקודות.CameraInfo כל המחלקות שמשתמשות ב-DisplayOrientedMeteringPointFactory מקבלות גם מופע של CameraInfo במקום CameraSelector. (I400c1)
  • בוצעה הסרה של TextureViewMeteringPointFactory. ‫PreviewView מספקת API ציבורי (createMeteringPointFactory()) ליצירת מפעל של נקודות מדידה, בלי קשר לשאלה אם היא משתמשת ב-TextureView או ב-SurfaceView. (Ide693)
  • שינוי השם של מצבי ההטמעה של SURFACE_VIEW/TEXTURE_VIEW ב-PreviewView ל-PERFORMANCE/COMPATIBLE. PERFORMANCE הוא המצב הישן SURFACE_VIEW, ו-COMPATIBLE הוא המצב הישן TEXTURE_VIEW. (I0edc2)
  • לצילום תמונות, המערכת דורסת את הדגל של היפוך אופקי במטא נתונים על סמך כיוון המצלמה. (I28499)

גרסה Camera-Extensions‏ ‎1.0.0-alpha14

22 ביולי 2020

androidx.camera:camera-extensions:1.0.0-alpha14 מופץ. גרסה ‎1.0.0-alpha14 מכילה את השמירות האלה.

גרסה 1.0.0-alpha14 של Camera-View

22 ביולי 2020

androidx.camera:camera-view:1.0.0-alpha14 מופץ. גרסה ‎1.0.0-alpha14 מכילה את השמירות האלה.

גרסה 1.0.0-alpha13 של Camera-Extensions

‫24 ביוני 2020

androidx.camera:camera-extensions:1.0.0-alpha13 מופץ. גרסה ‎1.0.0-alpha13 מכילה את השמירות האלה.

תיקוני באגים

  • נוספו ממשקי ניסוי לסינון מצלמות לפי מזהה מצלמה (camera ID) ומאפייני מצלמה (CameraCharacteristics). (I28f61)

גרסה 1.0.0-alpha13 של Camera-View

‫24 ביוני 2020

androidx.camera:camera-view:1.0.0-alpha13 מופץ. גרסה ‎1.0.0-alpha13 מכילה את השמירות האלה.

תיקוני באגים

  • אפליקציית CameraView לא קורסת יותר עם IllegalArgumentException כשמבצעים binding ל-LifecycleOwner שה-Lifecycle שלו עובר למצב DESTROYED זמן קצר אחרי ה-binding. לא תהיה אפשרות לפתוח את המצלמה אם מחברים מחזור חיים במצב DESTROYED. (I7c2b8)
  • הסטטוס של תצוגה מקדימה של סטרימינג זמין עכשיו דרך CameraView.getPreviewStreamState()‎ (I21a2b)

גרסה 1.0.0-alpha12 של Camera-Extensions

‫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 של Camera-View

‫10 ביוני 2020

androidx.camera:camera-view:1.0.0-alpha12 מופץ. גרסה ‎1.0.0-alpha12 מכילה את השמירות האלה.

תיקוני באגים

  • הוספת PreviewView#getBitmap() API שמחזיר ייצוג Bitmap של התוכן שמוצג באזור התצוגה המקדימה. (I9b500, ‏ b/157659818)

Camera-Extensions Version 1.0.0-alpha11

27 במאי 2020

androidx.camera:camera-extensions:1.0.0-alpha11 מופץ. גרסה ‎1.0.0-alpha11 מכילה את השמירות האלה.

גרסה ‎1.0.0-alpha12 של Camera-View

‫10 ביוני 2020

androidx.camera:camera-view:1.0.0-alpha12 מופץ. גרסה ‎1.0.0-alpha12 מכילה את השמירות האלה.

תכונות חדשות

שינויים ב-API

תיקוני באגים

  • הוספת PreviewView#getBitmap() API שמחזיר ייצוג Bitmap של התוכן שמוצג באזור התצוגה המקדימה. (I9b500, ‏ b/157659818)

Camera-View Version 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 Version 1.0.0-alpha10

15 באפריל 2020

androidx.camera:camera-extensions:1.0.0-alpha10 מופץ. גרסה ‎1.0.0-alpha10 מכילה את השמירות האלה.

תיקוני באגים

  • תיקונים לתמיכה בהשקת Camera-Core

Camera-View Version 1.0.0-alpha10

15 באפריל 2020

androidx.camera:camera-view:1.0.0-alpha010 מופץ. גרסה ‎1.0.0-alpha010 מכילה את השמירות האלה.

תיקוני באגים

  • פתרנו בעיה מוכרת קודמת שבה ההטמעה של PreviewView surfaceView לא פעלה בצורה טובה במכשירים מסוימים, וגרמה לקריסת האפליקציה אחרי חידוש התצוגה המקדימה. (I5ed6b)

Camera-Extensions Version 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 של Camera-View

‫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 שניתן להגדרה כ-nullable, ומשמשת לאופטימיזציה של התצוגה המקדימה באמצעות ImplementationMode.SURFACE_VIEW בכל הזדמנות. אם מועבר מופע null או אם מגדירים את מצב ההטמעה המועדף ל-ImplementationMode.TEXTURE_VIEW, נעשה שימוש פנימי ב-ImplementationMode.TEXTURE_VIEW.
  • בדוגמת הקוד הבאה אפשר לראות איך השתמשו בעבר ב-PreviewView בתרחיש לדוגמה של תצוגה מקדימה.

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

    בשלב הזה, אפשר לכתוב את הדברים הבאים:

    val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
    previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW
    preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
    
  • ההערה @UiThread נוספה ל-PreviewView.getSurfaceProvider(), כלומר צריך להפעיל אותה מה-thread הראשי. (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 של Camera-View

‫26 בפברואר 2020

androidx.camera:camera-view:1.0.0-alpha08 מופץ. גרסה ‎1.0.0-alpha08 מכילה את השמירות האלה.

תיקוני באגים

  • החלפתי את ListenableFuture ב-SurfaceRequest.provideSurface() ב-Executor וב-Callback. השינוי הזה מפשט את ה-API כי כבר לא צריך לטפל בחריגים ב-provideSurface(), ומבטיח שלא ניתן לבטל את הקריאה החוזרת (callback) של provideSurface(). הסיבה לכך היא למנוע קריסות במכשירים ישנים יותר שנגרמות משחרור מוקדם מדי של משטחים. האובייקט SurfaceRequest.Result משמש עכשיו למעקב אחרי השימוש של SurfaceRequest ב-Surface שסופק. (I7854b)
  • השם של SurfaceRequest.setSurface(Surface) שונה ל-SurfaceRequest.provideSurface(Surface) ושל SurfaceRequest.setWillNotComplete() ל-SurfaceRequest.willNotProvideSurface(). (I224fe)
  • תוקנה בעיה באתחול של וריאציות של אפליקציות עם ProGuard מופעל, על ידי שמירה של הדגל שמגדיר את ספק ברירת המחדל של CameraXConfig. (I2d6c1)

Camera-Extensions Version 1.0.0-alpha07

‫10 בפברואר 2020

androidx.camera:camera-extensions:1.0.0-alpha07 מופץ. גרסה ‎1.0.0-alpha07 מכילה את השמירות האלה.

תיקוני באגים

  • הארגומנטים שהועברו קודם ב-ImageCapture.OnImageSavedCallback.onError() וב-ImageCapture.OnImageCapturedCallback.onError() הוחלפו עכשיו בארגומנט יחיד ImageCaptureException, שעדיין מכיל את כל המידע שהועבר קודם.
  • הוסר הארגומנט של הקובץ שהועבר בעבר ב-ImageCapture.OnImageSavedCallback.onImageSaved(). (I750d2)

גרסה ‎1.0.0-alpha07 של Camera-View

‫10 בפברואר 2020

androidx.camera:camera-view:1.0.0-alpha07 מופץ. גרסה ‎1.0.0-alpha07 מכילה את השמירות האלה.

שינויים ב-API

  • ההטמעה של PreviewView ב-TextureView מגדירה עכשיו את הגודל של TextureView לגודל הפלט של חיישן המצלמה לפני שינוי קנה המידה שלו כדי למלא את רכיב האב שלו PreviewView. אם רוצים שהתצוגה המקדימה של המצלמה תמלא חלק שלם בממשק המשתמש (למשל, את המסך כולו), לא צריך להגדיר את הגודל של PreviewView כערך קבוע, או לגרום לו לעטוף את התוכן שלו (למשל באמצעות המאפיין wrap_content). אחרת, יכול להיות שהתצוגה המקדימה של המצלמה תמלא רק חלק מה-PreviewView (אם גודל הפלט של חיישן המצלמה קטן יותר). במקום זאת, צריך להגדיר את PreviewView כך שיהיה גדול כמו רכיב האב שלו (לדוגמה, באמצעות המאפיין match_parent). (1204869)

תיקוני באגים

  • עדכנו את ImageCapture כדי לאפשר שמירת תמונות ב-Uri וב-OutputStream. איחדנו את השיטות העמוסות מדי takePicture לשיטה אחת. עדכנו את אפליקציית הבדיקה כך שתשתמש ב-Uri כדוגמה קנונית. (Ia3bec)
  • השם של Preview.PreviewSurfaceProvider שונה ל-Preview.SurfaceProvider. ב-SurfaceProvider כבר לא נדרש ממפתחים ליצור ListenableFuture משלהם, ואספקת Surface מתבצעת עכשיו באמצעות אובייקט SurfaceRequest חדש. ה-method‏ Preview.getPreviewSurfaceProvider() הוסרה בגלל הפוטנציאל לשימוש לרעה כשמשלבים את Preview עם מחלקות אחרות כמו PreviewView. (I20105)
  • הארגומנטים שהועברו קודם ב-ImageCapture.OnImageSavedCallback.onError() וב-ImageCapture.OnImageCapturedCallback.onError() הוחלפו עכשיו בארגומנט יחיד ImageCaptureException, שעדיין מכיל את כל המידע שהועבר קודם.
  • הוסר הארגומנט של הקובץ שהועבר בעבר ב-ImageCapture.OnImageSavedCallback.onImageSaved(). (I750d2)
  • ה-API עודכן, ושיטות getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ו-getLinearZoom() של CameraInfo מוזגו ל-getZoomState() שמחזירה מופע של ZoomState. (Ib19fe)

גרסה 1.0.0-alpha06 של Camera-Extensions

‫22 בינואר 2020

androidx.camera:camera-extensions:1.0.0-alpha06 מופץ. גרסה ‎1.0.0-alpha06 מכילה את השמירות האלה.

עדכונים

  • תיקונים ועדכונים שונים לתמיכה בשינויים ב-Camera Core וב-Camera2.

גרסה ‎1.0.0-alpha06 של Camera-View

‫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 מכילה את השמירות האלה.

תיקוני באגים

  • העדכון בוצע בהתאם לממשקי ה-API הפנימיים של Camera Core.

גרסה ‎1.0.0-alpha05 של Camera-View

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 מופץ. ‫Version 1.0.0-alpha04 of camera-extensions contains these commits

שינויים ב-API

  • בדיקת הזמינות של תוסף והפעלתו מתבצעות עכשיו באמצעות CameraSelector כפרמטר קלט. זה צריך להיות אותו CameraSelector שמשמש לקישור של תרחיש השימוש.

    val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
    val builder = ImageCapture.Builder()
    val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder)
    if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) {
        bokehImageCaptureExtender.enableExtension(cameraSelector)
    }
    val imageCapture = builder.build()
    mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
    
  • צריך לאתחל את התוספים לפני שמשתמשים בספריית התוספים.

    val availability = ExtensionsManager.init()
    Futures.addCallback<ExtensionsManager.ExtensionsAvailability>(
       availability,
       object : FutureCallback<ExtensionsManager.ExtensionsAvailability> {
           override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) {
               // Ready to make extensions calls
           }
           override fun onFailure(throwable: Throwable) {
               // Extensions could not be initialized
           }
       },
       Executors.newSingleThreadExecutor()
    )
    

גרסה ‎1.0.0-alpha04 של Camera-View

4 בדצמבר 2019

androidx.camera:camera-view:1.0.0-alpha04 מופץ. גרסה ‎1.0.0-alpha04 של camera-view מכילה את השמירות האלה

שינויים ב-API

  • יש מחלקה PreviewView שמאפשרת להציג בקלות את הפלט של תרחיש השימוש בתצוגה מקדימה באפליקציה.
  • 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

גרסה 1.0.0-alpha02 של Camera-Extensions ו-Camera-View

‫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

  • ספרייה חדשה לתוספי מצלמה עתידיים, לגישה לאפקטים במכשירים נתמכים. הספרייה הזו נמצאת בשלבי פיתוח.
  • כיתה חדשה של Camera View. הספרייה הזו נמצאת בשלבי פיתוח.