מצלמהX

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

בטבלה הזו מפורטים כל פריטי המידע שנוצרו בתהליך הפיתוח (Artifact) בקבוצה androidx.camera.

פריט מידע שנוצר בתהליך פיתוח (Artifact) גרסה יציבה מועמד לפרסום גרסת בטא גרסת אלפא
מצלמה 2 1.3.4 1.4.0-rc01 - -
ליבת מצלמה 1.3.4 1.4.0-rc01 - -
אפקטים למצלמה - 1.4.0-rc01 - -
תוספי מצלמה 1.3.4 1.4.0-rc01 - -
מחזור החיים של המצלמה 1.3.4 1.4.0-rc01 - -
מצלמה-מלקיט-ראייה - 1.4.0-rc01 - -
שידור מהמצלמה 1.3.4 1.4.0-rc01 - -
עינית מצלמה - - בטא 02.0-1.30 1.4.0-alpha07
מצלמת וידאו 1.3.4 1.4.0-rc01 - -
הספרייה הזו עודכנה לאחרונה ב-7 באוגוסט 2024

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

CameraX נבדק במכשירים רבים במעבדה שלנו. כדי לראות רשימה של המכשירים שנמצאת עכשיו בשיעור Lab, ראו בדיקת מעבדה של CameraX מכשירים.

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

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

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

מגניב

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

Kotlin

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

משוב

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

דיווח על בעיה חדשה

מקורות מידע בנושא מעקב אחר בעיות אפשר לקבל מידע נוסף.

גרסה 1.0 של הכתיבה בעינית המצלמה

גרסה 1.0.0-alpha02

12 ביוני 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 משוחרר. גרסה 1.0.0-alpha02 מכילה את התחייבויות אלה.

גרסה 1.0.0-alpha01

14 במאי 2024

androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 משוחרר. גרסה 1.0.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

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

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

גרסה 1.4.0-alpha07

12 ביוני 2024

androidx.camera:camera-viewfinder:1.4.0-alpha07 ו-androidx.camera:camera-viewfinder-core:1.4.0-alpha07 שוחררו. גרסה 1.4.0-alpha07 מכילה את התחייבויות אלה.

גרסה 1.4.0-alpha06

14 במאי 2024

androidx.camera:camera-viewfinder:1.4.0-alpha06 ו-androidx.camera:camera-viewfinder-core:1.4.0-alpha06 שוחררו. גרסה 1.4.0-alpha06 מכילה את התחייבויות אלה.

שינויים ב-API

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

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

גרסה 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 או Pixel 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-בטא02 כוללת את ההתחייבויות האלה.

שינויים ב-API

  • בדומה לתרחיש VideoCapture, צריך להוסיף את setMirrorMode לתרחיש לדוגמה של תצוגה מקדימה. היא תתמוך במצב שיקוף, הפעלה והשבתה של תצוגה מקדימה בסטרימינג דרך OutputConfiguration.setMirrorMode מ-API 33 ואילך. בממשקי API ישנים יותר, הפעולה לא תהיה פעילה. (I821f4)

תיקוני באגים

  • תוקנה הבעיה שגרמה לאפליקציות לא לצלם תמונות ב-Samsung Tab A8 כאשר ImageCapture בחר בשילוב של 1920x1080 מתחת ל- Preview + VideoCapture + ImageCapture UseCase. (I5a463, b/336925549)
  • אם תוקן, ההקלטה הקבועה לא תצליח להמשיך בהקלטה אחרי החלפת המצלמה. (Icb0a1)

גרסה 1.4.0-beta01

14 במאי 2024

androidx.camera:camera-*:1.4.0-beta01 משוחרר. גרסה 1.4.0-בטא01 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • נוספה ההגדרה ZoomGestureDetector.ZoomEvent כדי לכלול את המצבים של תנועת זום. (I84cdf)

תיקוני באגים

  • תוקן באג שעדיין לוכד והקשה למיקוד לא כללו ערכים חוזרים של FPS/מצב ייצוב של הבקשה. הערכים האלה עשויים ליצור מחדש את סשן הצילום ולגרום לבעיות בזמן האחזור או שהתצוגה המקדימה קופאת במכשירים מסוימים. (I7dc0b)
  • תוקן באג שגרם לכך שלא ניתן היה לבחור באפשרות 'רזולוציה גבוהה' כש-CameraEffect הופעל במכשירים מסוימים. (למשל: 4,000x3,000 ב-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 כדי לבצע שאילתה על מידע על המצלמה הפיזית ולהוסיף מזהה/מקלט פיזי של המצלמה ב-CameraSelector (Ic5b90)
  • מחליפים את CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED ב-ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED. הערך של הקבוע נשאר ללא שינוי. המטרה היא לאחד את כל הקבועים למקום אחד. (I890b)
  • ממשק API החדש של RetryPolicy מאפשר למפתחים להתאים אישית את ההתנהגות של ניסיונות חוזרים לאתחול CameraX. (I36dd2)
  • הפעלת יצירה של אובייקט ImageCaptureLatencyEstimate כדי לסייע ביכולת בדיקה (Iaba99)
  • הוספת ImageAnalysis#COORDINATE_SYSTEM_SENSOR. כשמשתמשים בשיטה הזו, MlKitAnalyzer מחזיר את הקואורדינטות במערכת הקואורדינטות של חיישן המצלמה. (I3ec61)
  • API למטא-נתונים של תוספים חשופים. ממשקי CameraExtensionsInfo ו-CameraExtensionsControl חדשים מאפשרים לאפליקציות לעקוב אחר ההגדרות של חוזק תוספים ולהתאים אותן. אפליקציות יכולות לקבל את המכונה CameraExtensionsInfo או CameraExtensionsControl באמצעות ה-methods ExtensionsManager#getCameraExtensionsInfo() או ExtensionsManager#getCameraExtensionsControl() שנוספו לאחרונה. (I28e1a)
  • נוספה ProcessCameraProvider.awaitInstance, שהיא גרסת השעיה של ProcessCameraProvider.getInstance (Ib22b9)
  • מוסיפים API של PreviewView#getSensorToViewTransform(). המטריצה מייצגת את הטרנספורמציה מקואורדינטות של חיישן המצלמה לקואורדינטות של PreviewView. אפשר להשתמש באפשרות הזו כדי לשנות קואורדינטות מ-UseCase אחד לאחר. לדוגמה, שינוי הקואורדינטות של אובייקטים שזוהו בשכבת-על ImageAnalysis ל-PreviewView. (I947ab)
  • צריך להפוך את ה-API של camera-viewfinder-core לגנרי יותר כדי שיהיה אפשר להשתמש בו ב-camera-viewfinder וב-camera-viewfinder-compose. (I1e295)
  • מוסיפים את הפונקציה getSurface אל ViewfinderSurfaceRequest. (I781a0)
  • שימוש ב-camera-viewfinder-core ב-camera-viewfinder והוצאה משימוש של ViewfinderSurfaceRequest ו-CameraViewfinder. (I6198c)
  • נוסף ZoomGestureDetector שמפענח תנועות של שינוי גודל שהוגדרו במיוחד לפעילות של תנועת צביטה לשינוי מרחק התצוגה. (Ifafbf)

תיקוני באגים

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

גרסה 1.4.0-alpha04

24 בינואר 2024

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

תכונות חדשות

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

שינויים ב-API

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

תיקוני באגים

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

גרסה 1.4.0-alpha03

13 בדצמבר 2023

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

תכונות חדשות

  • הוספת את CameraInfo.mustPlayShutterSound כדי לציין אם חובה להפעיל צליל צמצם בהתאם להגבלות אזוריות. (Ifda84)
  • נוספו OnImageCapturedCallback.onCaptureStarted ו-OnImageSavedCallback.onCaptureStarted כדי לשלוח התראה כשהמצלמה התחילה לחשוף פריים. בשלב הזה מומלץ להשמיע את צליל הצמצם או את אנימציית הצמצם. (Ic49b3)
  • נוספה תמיכה בתכונה 'פלאש מסך' של CameraX לצילום תמונה במצלמה הקדמית. CameraX תטפל בטיפול ה-API בצד ה-framework ותסנכרן את התזמון עם שינויים בממשק המשתמש של האפליקציה לפי הצורך (למשל הפעלה מראש של הקלטה אוטומטית ב-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 של פורמט הפלט ImageAnalysis אל CameraController. (I9a96c, b/308240643)

תיקוני באגים

  • ממצלמה 1.3.1: שיפרנו את הביצועים של ProcessCameraProvider#bindToLifecycle(). השינוי העיקרי הוא אופטימיזציה של תהליך הזיהוי של שילובי הגדלים המתאימים ביותר עבור UseCases. התוצאות האופטימליות משתנות בהתאם לשילובים הספציפיים של UseCase ולמספר גודלי הפלט הנתמכים במכשירי היעד. (I454f2)
  • מתן הרשאה לשימוש ב-VideoCapture כשהתוספים מופעלים. (I91f32)
  • תוקנה בעיה גדולה בתמונות JPEG שצולמה במכשירים מסדרת Samsung A71 ו-M51. התמונות בפורמט JPEG שצולמו מכילות נתוני מרווח פנימי מיותרים מסוג 0 בפילוח הנתונים הדחוס של JFIF. גודל הקובץ של התמונות שצולמו הוא קיצוני. נתוני המרווח הפנימי המיותרים מסוג 0 יוסרו כדי שקובצי תמונה יהיו בגדלים רגילים. (I01afc, b/288828159)
  • השבתה של התמיכה ב-ImageAnalysis ב-Pixel כדי למנוע באג ב-Pixel שמחזיר בטעות גדלים לא ריקים של ImageAnalysis. (I7ec31)
  • תוקנה בעיית ביצועים שבה טעינת המעבד (CPU) וצריכת החשמל עלו כשהתוספים הופעלו. (Ibdccb)
  • Snapdragon 480 נוסף ל-CameraUseInconsistentTimebaseQuirk. תיקון בעיה ב-Android 12 במכשירים עם ערכת שבבים כזו, שבה האודיו בהקלטות מתקזז בהתאם למשך הזמן שבו המכשיר נמצא במצב מושעה. (I58010)

גרסה 1.4.0-alpha02

18 באוקטובר 2023

androidx.camera:camera-*:1.4.0-alpha02 משוחרר. גרסה 1.4.0-alpha02 מכילה את התחייבויות אלה.

שינויים ב-API

  • צריך לשנות את שם ה-API ל-setCameraOpenRetryMaxTimeoutInMillisWhileResuming ולשנות את שם הארגומנט. (I72370)
  • הוספת ממשקי API כדי לשלוח שאילתות על יכולת המכשיר ולאפשר ייצוב וידאו או תצוגה מקדימה. (I87544)
  • צריך לספק API להתאמה אישית של המצלמה הפתוחה עם ניסיון חוזר של הזמן הקצוב לתפוגה. (I0c642)
  • הגרסה ProcessCameraProvider.shutdownAsync הושקה כ-API לבדיקה ציבורית כדי לאפשר שימוש בספק מצלמות עיבוד בחבילות בדיקה שבהן ייתכן שיהיה צורך להפעיל את CameraX בדרכים שונות בין בדיקות. (I9eca7)
  • הוספת ממשקי API להגדרת טווח דינמי, קצב פריימים ומצב שיקוף של צילום וידאו. (Ifb8f7)
  • צריך להוציא את OutputSize משימוש ולהחליף אותו ב-ResolutionSelector. השיטה ResolutionSelector מקיפה יותר לבחירת רזולוציות, והיא תואמת ל-API של הליבה של המצלמה. (I93abd, b/286801438)

תיקוני באגים

  • תוקנה הבעיה בתצוגה מקדימה שחורה ב-Samsung Galaxy S23 Ultra 5G, כשתוספים בוקה או ריטוש פנים הופעלו עם ImageAnalysis במצלמה האחורית. (I2e8b1)
  • תוקנה הבעיה 'תצוגה מקדימה' ו-VideoCapture בעיות ב-Moto E5 Play. (73dce2)

גרסה 1.4.0-alpha01

20 בספטמבר 2023

androidx.camera:camera-*:1.4.0-alpha01 משוחרר. גרסה 1.4.0-alpha01 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת ממשק API חדש כדי לגשת למידע על משרעת האודיו בזמן ההקלטה. (Id4925)

תיקוני באגים

  • כדי לשפר את היציבות של התוספים, צריך לוודא שאירועי האתחול והביטול מופעלים בסדר הנכון. (Ib3b8e)
  • תוקן הגדרת הסשן של הצילום בקשר לחריגה משילוב השטח הנתמך בגלל הוספה של משטח חוזר נוסף באופן פנימי. (Id718c)
  • תוקנה בעיה בתמונת JPEG גדולה שצולמה במכשיר Vivo S16. התמונות בפורמט JPEG שצולמו מכילות נתוני מרווח פנימי מיותרים מסוג 0 בפילוח הנתונים הדחוס של JFIF. כתוצאה מכך, התמונות שצולמו הן בגודל קובץ גדול. נתוני המרווח הפנימי המיותרים מסוג 0 יוסרו כדי שקובצי תמונה יהיו בגדלים רגילים. (I79505, b/299069235)
  • תוקנה הבעיה שלא ניתן לקשר את ImageAnalysis יחד עם ImageCapture ו-Preview כשמצבי תוספים מסוימים הופעלו במכשירים מסוימים. התיקון יחזיר את הערך הנכון כשאפליקציות שאילתה על הזמינות של ImageAnalysis דרך ExtensionsManager#isImageAnalysisSupported(). (I7d538)
  • מעדכנים את JavaDoc בהתאם להתנהגות. במקום שהמצלמה תהיה מוכנה, #setZoomRatio, #setLinearZoom ו#enableTorch לא תשלים את התהליך מיד. בנוסף, נוסף מידע על האופן שבו ניתן לקבל את שדה הערך המקסימלי (FOV) באמצעות ה-API של #takePicture. (I23588)

גרסה 1.3

גרסה 1.3.4

12 ביוני 2024

androidx.camera:camera-*:1.3.4 משוחרר. גרסה 1.3.4 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה הבעיה שבה getZoomRatio החזיר באופן שגוי ערך נמוך יותר בהחלת יחס זום גדל. (I4aa0d, b/317543616)
  • בוצע תיקון של צילום/הקשה למיקוד ללא שימוש בערכים החוזרים של ה-FPS/מצב הייצוב של הבקשה, שעשויים ליצור מחדש סשן צילום ולגרום לבעיות בזמן האחזור או לקפוא בתצוגה המקדימה במכשירים מסוימים. (I7dc0b)
  • תוקנה הבעיה שקצב הפריימים הוגדר לערך נמוך יותר בקריאה לפעולה setTargetFrameRate באמצעות FRAME_RATE_RANGE_UNSPECIFIED. (I78c61)

גרסה 1.3.3

17 באפריל 2024

androidx.camera:camera-*:1.3.3 משוחרר. גרסה 1.3.3 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקן ImageAnalysis בעיה בבחירת רזולוציה שקשורה להגדרת ברירת המחדל של רזולוציית היעד של המנתח: רזולוציית היעד נשמרה באופן שגוי כ-640x480 גם אם האפליקציות הגדירו ברירת מחדל שונה לרזולוציה של המנתח. אם באפליקציות נתקלים בבעיה הזו (1.3.0 ~ 1.3.2) ואי אפשר לשדרג אליהן כדי להשתמש בגרסאות החדשות יותר שמכילות את הפתרון, אפשר לפתור את הבעיה באופן ישיר על ידי הגדרה של ResolutionSelector עם הרזולוציה המועדפת ו-AspectRatioStrategy תואם ל-UseCase של ImageAnalysis. (I81f72, b/330091012)

גרסה 1.3.2

6 במרץ 2024

androidx.camera:camera-*:1.3.2 משוחרר. גרסה 1.3.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה בעיה במטא-נתונים בפורמט JPEG במכשירי Samsung A24. עכשיו CameraX שומר תמונות בצורה מדויקת, והפונקציה ImageProxy.toBitmap() מחזירה אובייקטי Bitmap נכונים. (I8d6eb, b/309005680)
  • הוסרה האפשרות של רזולוציה 9280x6944 במכשירי Redmi Note 9 Pro בגלל בעיות. (Ia23da)

גרסה 1.3.1

13 בדצמבר 2023

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

תיקוני באגים

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

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

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

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

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

גרסה 1.3.0

18 באוקטובר 2023

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

שינויים חשובים מאז 1.2.0

גרסה 1.3.0-rc02

20 בספטמבר 2023

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

תיקוני באגים

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

גרסה 1.3.0-rc01

23 באוגוסט 2023

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

שינויים ב-API

  • הוספת את PendingRecording.asPersistentRecording כדי לאפשר הקלטה רציפה של VideoCapture שאליו מכשיר ההקלטה מצורף. (I517c6)

תיקוני באגים

  • תוקנה קריסה שגרמה לשיתוף זרם עם VideoCapture ועם תצוגה מקדימה. כמו כן, תוקן מסך שחור במכשירי LEGACY כששיתוף השידור הופעל.
  • תוקנה בעיה בתמונה גדולה בפורמט JPEG שצולמה במכשירי Samsung S7 (SM-G930T, SM-G930V). התמונות בפורמט JPEG שצולמו מכילות נתוני מרווח פנימי מיותרים מסוג 0 בפילוח הנתונים הדחוס של JFIF. כתוצאה מכך, התמונות שצולמו הן בגודל קובץ גדול. נתוני המרווח הפנימי המיותרים מסוג 0 יוסרו כדי שקובצי תמונה יהיו בגדלים רגילים. (I407b0, b/288828159)
  • תוקנה בעיה גדולה בתמונות JPEG שצולמה במכשירים מסדרת Samsung S22 (SM-S901B, SM-S901B/DS) ו-S22+ (SM-S906B). התמונות בפורמט JPEG שצולמו מכילות נתוני מרווח פנימי מיותרים מסוג 0 בפילוח הנתונים הדחוס של JFIF. בעקבות זאת, הקובץ של התמונות שצולמו יהיה גדול ב-13MB למכשיר S22 SM-S901B/DS. נתוני המרווח הפנימי המיותרים מסוג 0 יוסרו כדי שקובצי תמונה יהיו בגדלים רגילים. (I73be9, b/288828159)
  • תוקנה בעיה גדולה בתמונות JPEG שצולמה במכשירים מהסדרה Samsung A5, A52, A70 ו-A72. התמונות בפורמט JPEG שצולמו מכילות נתוני מרווח פנימי מיותרים מסוג 0 בפילוח הנתונים הדחוס של JFIF. גודל הקובץ של התמונות שצולמו הוא קיצוני (לדוגמה, כ-32MB או אפילו 96MB). נתוני המרווח הפנימי המיותרים מסוג 0 יוסרו כדי שקובצי תמונה יהיו בגדלים רגילים. (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. נתוני המרווח הפנימי המיותרים מסוג 0 יוסרו כדי שקובצי תמונה יהיו בגדלים רגילים. (I29837, b/288828159)
  • הניסיון החוזר המתוקן לא מופעל כראוי במקרה של כשל בצילום במכשירים בעייתיים שהוזכרו ב-CaptureFailedRetryQuirk. (I7b589)

גרסה 1.3.0-beta01

21 ביוני 2023

androidx.camera:camera-*:1.3.0-beta01 משוחרר. גרסה 1.3.0-beta01 מכילה את התחייבויות אלה.

שינויים ב-API

  • שינית את השם של הפונקציה ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) ל-setAllowedResolutionMode, ושינינו את השם של הקבועים ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON ל-PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8)
  • הוסרו ממשקי API ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) ו-VideoCapture.setTargetRotationDegrees(int) שהוצאו משימוש. (Id8e77)
  • המחלקה DynamicRange מייצגת את הטווח הדינמי של התמונות. אפשר להשתמש בכך כדי לבחור פורמטים עם טווח דינמי גבוה כפלט של VideoCapture עד VideoCapture.Builder#setDynamicRange(). (Ib0377)
  • נוסף API של isImageAnalysisSupported ל-ExtensionsManager, שאפליקציות יכולות לקבוע אם ניתן לקשר תרחיש לדוגמה של ImageAnalysis יחד עם תצוגה מקדימה ו-ImageCapture כשהתוספים מופעלים. (I1bc63)
  • אפשר להשתמש במחלקה החדשה VideoCapabilities שהתקבלה מה-Recorder כדי לשלוח שאילתות לגבי איכויות וטווחים דינמיים נתמכים בשביל הקלטת וידאו במכשיר. אנחנו מוציאים משימוש את השיטות getSupportedQualities() ו-isQualitySupported() של QualitySelector. במקומו צריך להשתמש בשיטות getSupportedQualities() ו-isQualitySupported() של VideoCapabilities. (I04014)
  • השם של CameraController#setVideoCaptureTargetQuality() השתנה ל-setVideoCaptureQualitySelector והוא משתמש בארגומנט QualitySelector, שמאפשר יותר גמישות בהגדרת איכות הווידאו. הערך של CameraController#getVideoCaptureTargetQuality() משתנה ל-getVideoCaptureQualitySelector בהתאם. (I520ed)
  • הוסרה ההערה הניסיונית לתכונות סרטונים. תכונות הווידאו יציבות עכשיו. (I1a113)

תיקוני באגים

  • אפשר להשתמש בפנס כפלאש בדגמים של Samsung SM-A320 כדי לשפר את המהירות ואת איכות התמונה שצולמה בתאורה חלשה. (I6a022, b/286190938)
  • הוספת תמיכה בפורמט ImageFormat.JPEG עבור ImageProxy.toBitmap(). אם לא ניתן לפענח את מערך הבייטים JPEG, המערכת תשליך UnsupportedOperationException. (I81958, b/282057603)

גרסה 1.3.0-alpha07

24 במאי 2023

androidx.camera:camera-*:1.3.0-alpha07 משוחרר. גרסה 1.3.0-alpha07 מכילה את התחייבויות אלה.

תכונות חדשות

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

שינויים ב-API

  • שינית את השם של הקבועים ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON ל-ALLOWED_RESOLUTIONS_NORMAL/SLOW. השם החדש של הפונקציה setHighResolutionEnabledFlag של ה-builder הוא setAllowedResolutionMode. (Iae817)
  • הפונקציה CameraInfo#getSupportedFrameRateRanges() מחזירה עכשיו Set ולא List כדי לייצג טוב יותר שהטווחים לא מסודרים. (I02f43)
  • הוספת אוזן שגיאה ל-CameraEffect כדי לטפל בשגיאות שלא ניתן לשחזר (Ice471)
  • הוסף constructor ציבורי ב-ResolutionInfo כדי לשפר את יכולת הבדיקה (If6d1c)
  • סופקו API UseCase.snapToSurfaceRotation(int) להחלפת השימוש ב-setTargetRotationDegrees ולהוציא משימוש את ה-API ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int) ו-VideoCapture.setTargetRotationDegrees(int). (Ia9010)
  • נוספו ממשקי API חדשים Preview#getTargetFrameRate ו-Preview.Builder#setTargetFrameRate כדי שתהיה אפשרות להגדיר ולאחזר יעד של קצב פריימים לתרחיש לדוגמה של Preview (If4f22)
  • VideoRecordEvent.Finalize יסתיים עכשיו עם קוד השגיאה ERROR_RECORDING_GARBAGE_COLLECTED כשהאובייקט Recording יעצור בגלל איסוף אשפה. (Iba974)

תיקוני באגים

  • תוקנה המדיניות NullPointerException כשגדלי הפלט ששמורים במטמון ב-StreamConfigurationMapCompat היו ערכי null. (Idf124, b/282025204)
  • תוקנה הבעיה שגרמה להשהיה של התצוגה המקדימה בתוספים (Ia903e) על ידי Preview.setSurfaceProvider(null)
  • תוקנה בעיה שבה 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} מחוברות לכל אחת מהן. הרזולוציה המקסימלית היא 720p או 1440p. פרטים נוספים זמינים בקישור הבא: CameraManager#getConcurrentcameraIds()
  • אנחנו גאים להציג את ה-API החדש של ResolutionSelector, שכולל את התכונות הבאות:
    • האפליקציות יכולות לציין אסטרטגיות של יחס גובה-רוחב ורזולוציה כדי לבחור את הפתרון הטוב ביותר לצרכים שלהן.
    • כל הפרמטרים של יחס הגובה-רוחב והגדלים מבוטאים בקואורדינטות של חיישן המכשיר במצלמה.
    • האפליקציות יכולות להטמיע מסנן רזולוציה מותאמת אישית כדי לארגן את הגדלים הנתמכים לפי הסדר הרצוי.
    • אפליקציות יכולות גם לאפשר צילום ברזולוציה גבוהה לקבלת תמונות ברזולוציה גבוהה יותר. עם זאת, שימו לב ששימוש ברזולוציה גבוהה עלול לגרום לזמני צילום איטיים יותר.
    • נוספו VideoCapture ממשקי API לשיקוף. כברירת מחדל, סרטונים שהוקלטו על ידי VideoCapture לא עוברים סנכרון בענן ובמחשב. עם זאת, התצוגה המקדימה של המצלמה משוכפלת במצלמה הקדמית כברירת מחדל. ממשקי API לשיקוף של VideoCapture מאפשרים ליישר את התצוגה בתצוגה המקדימה של המצלמה כשמשתמשים במצלמה הקדמית. יש שלושה סוגים: MirrorMode, OFF, ON וON_FRONT_ONLY. כדי ליישר קו עם התצוגה המקדימה של המצלמה, מומלץ להשתמש ב-ON_FRONT_ONLY. המשמעות היא שהתכונה 'שיקוף מסך' לא מופעלת במצלמה האחורית, אבל היא מופעלת במצלמה הקדמית.

שינויים ב-API

  • API חדש של ResolutionSelector שנחשפו. האפליקציות יכולות לציין אסטרטגיות יחס גובה-רוחב ופתרון בעיות עם כללי גיבוי או מסנן רזולוציה מותאמת אישית כדי להשיג את התוצאות הרצויות. אפליקציות יכולות לציין דגל כדי לאפשר צילום ברזולוציה גבוהה. ההרשאה תאפשר ל- CameraX לבחור רזולוציות גבוהות יותר בעת צילום תמונות או סרטונים. עם זאת, שימו לב ששימוש ברזולוציה גבוהה עלול לגרום לזמני צילום איטיים יותר. (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)
  • ביצוע ImageProcessor.Response#getOutputImage NonNull (Ib9c60)
  • נוספו VideoCapture ממשקי API לשיקוף, כולל VideoCapture.Builder.setMirrorMode(int) ו-VideoCapture.getMirrorMode(). כדי להשתמש בממשקי ה-API, צריך להשתמש ב-API כדי שהקלטת הווידאו תהיה תואמת להתנהגות הרגילה בתצוגה מקדימה של המצלמה. כלומר, התצוגה המקדימה של המצלמה האחורית לא משוכפלת, אבל התצוגה המקדימה של המצלמה הקדמית משוכפלת. (I713b6, b/194634656)
  • הוספת API של setTargetFrameRate() ב-API של VideoCapture.Builder ו-getTargetFramerate() ב-VideoCapture (I109d4)
  • מגדירים את SurfaceOutput להרחבה של 'ניתן לסגירה' ומסתירים את ה-constructor הציבורי של SurfaceOutput.Event. (I60ea8)
  • הוספת את Recording.mute כדי להשתיק באופן דינמי הקלטה שנמצאת בעיבוד או לבטל את ההשתקה שלה באופן דינמי. הסרטון RecordingStats יכיל AudioStats.AUDIO_STATE_MUTED כשההקלטה בתוך עיבוד מושתקת באופן מפורש. (Ie17fc)
  • הפרמטר #setEffects() הוגדר כלא null. צריך להוסיף API של #clearEffects() לניקוי האפקטים. כדי להסיר את האפקטים, האפליקציה צריכה לקרוא ל-#clearEffects(). (I4b4d9)
  • הוספת בנאי שני של ViewfinderSurfaceRequest.Builder כדי להשתמש ב-builder ב-constructor (I621a7)

תיקוני באגים

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

גרסה 1.3.0-alpha05

22 במרץ 2023

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

שינויים ב-API

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

תיקוני באגים

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

גרסה 1.3.0-alpha04

22 בפברואר 2023

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

תכונות חדשות

תכונה חדשה לתמיכה בשילובי פלטפורמה שלא נתמכים בעבר על ידי שיתוף שידור אחד עם כמה תרחישי שימוש.

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

שינויים ב-API

  • צריך להוסיף API כדי להמיר את ImageProxy ל-Bitmap. הפורמט הנתמך של ImageProxy הוא ImageFormat.YUV_420_888 ו-PixelFormat.RGBA_8888. אם הפורמט לא חוקי, המערכת תשלח IllegalArgumentException. (Ic7110)
  • מוסיפים CoroutineCameraViewfinder כדי לתמוך בהגדרת העינית באמצעות פונקציות השעיה ב-Kotlin. (I657bc)
  • הוספת בנאי ציבורי חדש עבור ViewfinderSurfaceRequest. הוא מספק גמישות כשהמשתמש לא יכול לספק CameraCharacteristics. (Ie6549)

תיקוני באגים

  • תוקנה הקריסה של התוספים שמתרחשת בחלק ממכשירי Samsung בזמן השהיה או המשך הפעלה של האפליקציה מהר מדי (Iaca26)

גרסה 1.3.0-alpha03

25 בינואר 2023

androidx.camera:camera-*:1.3.0-alpha03 משוחרר. גרסה 1.3.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת את CameraInfo.getIntrinsicZoomRatio כדי לספק מידע על זווית הראייה ביחס למצלמת ברירת המחדל. (Ib300c)
  • הוספת את CameraInfo.getLensFacing כדי לספק מידע לגבי העדשה. הוספת את CameraSelector#LENS_FACING_EXTERNAL כתכונה ניסיונית לבחירת מצלמות חיצוניות. (Icaf3e)
  • צריך להוסיף #setEffect() אל CameraController כדי לאפשר הוספת אפקטים לפלט של המצלמה. (I1d21f)
  • מוסיפים את השיטה invalidate() אל SurfaceRequest. ספק הפלטפורמות יכול להודיע שהפלטפורמה שסופקה בעבר לא תקפה יותר. (Idc649)
  • מוסיפים API של ImageProcessor. הממשק הזה מיועד להחדרת אפקטים לאחר עיבוד לצינור עיבוד הנתונים של ImageCapture. (I575c6)
  • נוסף ממשק API Recorder.Builder.setAspectRatio(), שניתן לשלב אותו עם QualitySelector כדי לתמוך ביותר רזולוציות וידאו. (I8a082)
  • הוספת Recorder.Builder#setTargetVideoEncodingBitRate כדי להגדיר את קידוד הווידאו BitRate ואת הקידוד Recorder#getTargetVideoEncodingBitRate כדי לקבל קצב העברת נתונים של קידוד וידאו לטירגוט. (I5984d)

תיקוני באגים

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

גרסה 1.3.0-alpha02

7 בדצמבר 2022

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

שינויים ב-API

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

תיקוני באגים

  • הסרת API של core.VideoCapture שהוצא משימוש. (I531e0)
  • תוקנה הבעיה שבה לא מתבצעת קריאה חוזרת (callback) של onError כשמצלמים תמונות ללא הרשאת אחסון.(I936db, b/244807669)
  • שיפור האיכות והאמינות של תוספי המצלמה. תוספי מצלמה מושבתים במכשירי Motorola שמשתמשים בתוספי מצלמה גרסה 1.1.0 וגרסאות קודמות, עקב בעיות בתמיכה של Bokeh, בצילום התמונות ובתצוגה המקדימה. (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 לא הייתה אפשרות לפעול עם המצלמה הקדמית במכשירים מסוימים. לדוגמה, בסמסונג Galaxy S23 וב-Xiaomi 2107113SG. (Ibec7e, b/270656244)

גרסה 1.2.2

22 במרץ 2023

androidx.camera:camera-*:1.2.2 משוחרר. גרסה 1.2.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה הבעיה שבה תוספי CameraX לא פועלים כמו שצריך כש-proGuard מופעל במכשירים מסוימים כמו Pixel (I90aa2)

גרסה 1.2.1

25 בינואר 2023

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

תיקוני באגים

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

גרסה 1.2.0

7 בדצמבר 2022

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

שינויים חשובים מאז 1.1.0

  • מצלמת ספרייה חדשה – mlkit-vision. אפשר לשלב בקלות את CameraX עם תכונות רבות של MLKit, כולל סריקת ברקוד, זיהוי פנים, זיהוי טקסט וכו'. MLKitAnalyzer נוסף כממשקי API חדשים.
  • ממשק API ניסיוני חדש של Zero-Shutter Lag. לבצע אופטימיזציה של צינור עיבוד הנתונים לתיעוד נתונים כדי להאריך את זמן האחזור, תוך שמירה על איכות תמונה טובה. כשמצב הצילום מוגדר ל-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.
  • הושבתה האפשרות לעקוף את הבעיה של הפיכת אזור ה-AF לרוחב של המצלמות הקדמיות ב-Samsung Android T מאז שהבעיה נפתרה

גרסה 1.2.0-rc01

24 באוקטובר 2022

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

שינויים ב-API

  • הוספת API של setStreamUseCase ל-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)

תיקוני באגים

  • הושבתה האפשרות לעקוף את הבעיה כדי להפוך את אזור ה-AF לרוחב של המצלמות הקדמיות ב-Samsung Android T מאז שהבעיה נפתרה. (I05f69)
  • תוקנה הבעיה של תצוגה מקדימה שחורה שמתרחשת כשהתוסף BOKEH מופעל בחלק ממכשירי Samsung והמשתמש החליף את המצלמות. (If6168)

גרסה 1.2.0-beta01

24 באוגוסט 2022

androidx.camera:camera-*:1.2.0-beta01 משוחרר. גרסה 1.2.0-beta01 מכילה את התחייבויות אלה.

תכונות חדשות

  • ספרייה חדשה: camera-mlkit-vision. אפשר לשלב בקלות את CameraX עם תכונות רבות של MLKit, כולל סריקת ברקוד, זיהוי פנים, זיהוי טקסט וכו'. ניתן למצוא את הקוד לדוגמה כאן.
  • ממשק API ניסיוני חדש של Zero-Shutter Lag. לבצע אופטימיזציה של צינור עיבוד הנתונים לתיעוד נתונים כדי להאריך את זמן האחזור, תוך שמירה על איכות תמונה טובה. כאשר מצב הצילום מוגדר ל-CAPTURE_מצב_ZERO_SHUTTER_LAG, זמן האחזור בין לחצן הצמצם צפוי להיות ממוזער, בהשוואה למצבי צילום אחרים. במכשירים שלא תומכים ב-ZERO_SHUTTER_LAG, הוא יחזור לערך CAPTURE_מצב_MINIMIZE_LATENCY.
  • ImageAnalysis.Analyzer ו-MLKitAnalyzer נוצרו כממשקי API רשמיים.
  • ממשק API גלוי להגדרת מטא-נתונים של מיקום בסרטון שנשמר.
  • שינוי השם של ImageAnalysis.Analyzer#getTargetResolutionOverride() לשם ImageAnalysis.Analyzer#getDefaultTargetResolution().

תיקוני באגים

  • תוקנה בעיה בצילום תמונה מסוג k61v1_basic_ref ב-Alps. בתמונות בפורמט JPEG שצולמו עם HAL יש מטא-נתונים שגויים של תצוגת Exif. במטא-נתונים של תצוגת Exif אין את התג 0xffd9 או 0xffda ולכן ExifInterface יכול לנתח את המאפיינים בצורה נכונה. יש לצלם את התמונות בפורמט YUV ואז לדחוס אותן לתמונות פלט בפורמט JPEG כדי לעקוף את הבעיה. (I45abb)

גרסה 1.2.0-alpha04

27 ביולי 2022

androidx.camera:camera-*:1.2.0-alpha04 משוחרר. גרסה 1.2.0-alpha04 מכילה את התחייבויות אלה.

שינויים ב-API

  • שינוי השם של ImageAnalysis.Analyzer#getTargetResolutionOverride() לשם ImageAnalysis.Analyzer#getDefaultTargetResolution(). ההתנהגות משתנה גם כך שהערך של ImageAnalysis#setTargetResolution() יוכל לעקוף את הערך שהוחזר באמצעות השיטה הזו. (If1d36)
  • ממשק API גלוי להגדרת מטא-נתונים של מיקום בסרטון שנשמר. אפשר להגדיר אובייקט android.location.Location באמצעות API החדש androidx.camera.video.OutputOptions.Builder.setLocation(Location). (I313a0, b/204197544)

תיקוני באגים

  • פותרים את הבעיה לצילום תמונה באמצעות תצוגה מקדימה לא קשורה (Ie70b6, b/235119898)
  • תוקנה קריסה ב-Recorder בניסיון להקליט כשמקור האודיו לא זמין. (I9f652)

גרסה 1.2.0-alpha03

29 ביוני 2022

androidx.camera:camera-*:1.2.0-alpha03 משוחרר. גרסה 1.2.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוסרה ההערה הניסיונית עבור ImageAnalysis.Analyzer ו-MLKitAnalyzer. (I0ff22)

תיקוני באגים

  • נוסף זמן קצוב לתפוגה של התמקדות אוטומטית, שהוגדר כברירת מחדל ל-5,000 אלפיות השנייה, שיסיים את החלק של AF עם הערך isFocusSuccessful FALSE אם ה-FocusMeteringAction לא מבוטל והחלק של AF לא מתכנס במשך הזמן. (Ibc2e3)
  • פותרים את הבעיה לצילום תמונה באמצעות תצוגה מקדימה לא קשורה (I1d3a2, b/235119898)
  • הופעלה ההטמעה של מרחיב מתקדם ועדכון גרסת ממשק התוספים של CameraX לגרסה 1.2 (I92256)

גרסה 1.2.0-alpha02

1 ביוני 2022

androidx.camera:camera-*:1.2.0-alpha02 משוחרר. גרסה 1.2.0-alpha02 מכילה את התחייבויות אלה.

תכונות חדשות

  • חשיפת ממשק ה-API של CameraX Zero-Shutter Lag כניסיוני.

שינויים ב-API

  • צריך להוסיף מצב צילום חדש CAPTURE_MODE_ZERO_SHUTTER_LAG ב-ImageCapture ולהוסיף את isZslSupported ב-CameraInfo כדי לשלוח שאילתה על יכולת המכשיר. מצב CAPTURE_MODE_ZERO_SHUTTER_LAG נועד לספק את זמן האחזור המינימלי לצילום מיידי. הוא מוטמע על סמך מאגר נתונים זמני של צלצול, ששומר במטמון את התוצאות של צילום הביניים לצורך עיבוד מחדש מאוחר יותר כשהמשתמש לוחץ על לחצנים כדי לצלם תמונות. אם {@link VideoCapture} כפוף או שמצב Flash אינו כבוי או שתוסף OEM מופעל, מצב זה יושבת באופן אוטומטי. I9ae74
  • הוספת שיטת ImageAnalysis.getBackgroundExecutor() (Icc945)

תיקוני באגים

  • תוקנה שיטת TakePicture ImageCapture שמכבה את הפנס במכשירים שדווחו. (Ib5eb5, b/228272227)
  • תוקן באג שגרם לכך ש-AssertionError לא טופל במהלך קבלת המאפיין CONTROL_ZOOM_RATIO_RANGE.(/Ia248a, b/231701345)

גרסה 1.2.0-alpha01

18 במאי 2022

androidx.camera:camera-*:1.2.0-alpha01 משוחרר. גרסה 1.2.0-alpha01 מכילה את התחייבויות אלה.

תכונות חדשות

  • השקנו את מצלמת ה-mlkit-vision החדשה בספרייה

תיקוני באגים

  • לאחר תיקון הבעיה, QualitySelector לא הצליח להקליט סרטון באיכות UHD אם הופעלה אסטרטגיה חלופית. הבעיה מתרחשת כש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 ו- גרסה 1.1.0 של מצלמה-וידאו

גרסה 1.1.0

29 ביוני 2022

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

שינויים חשובים מאז 1.0.0

  • הספריות של Landed View, Extension ו-Video Recording (צילום וידאו) היו גרסת ה-RC הראשונה שלהן. החל מ-1.1.0-בטא01, כל ספריות CameraX יתאמו לאותו מספר גרסה. כך המפתחים יוכלו לעקוב אחרי גרסאות בקלות רבה יותר, ולהפחית את המורכבות של מטריצות של תאימות לגרסאות גדולות.
  • הצגת תכונות וממשקי API ציבוריים חדשים, כולל:
  • כדי לתמוך בתרחישים לדוגמה של צילום וידאו, צריך להוסיף את ספריית הסרטונים הרשמית והמצלמה.
  • יכולת המרה וסיבוב מ-YUV ל-RGB (ImageAnalysis.Builder.setOutputImageRotationEnabled ו-setOutputImageFormat)
  • לתמוך במצב ריבוי חלונות על ידי מתן הרשאה לאפליקציות CameraX להמשיך להפעיל את המצלמה כאשר אפליקציה אחרת קוטעת את המצלמה והמיקוד חוזר.
  • מבטיח ש- CameraX יפעל כראוי במכשירים מתקפלים על ידי תיקון חלק מבעיות בתצוגה המקדימה.
  • נוסף API מסוג CameraState שייחשף באמצעות CameraInfo.
  • נוסף API ProcessCameraProvider.getAvailableCameraInfos() כדי לאחזר ישירות מידע על המצלמות הזמינות
  • פורמט JPEG של פלט עבור ImageCapture#OnImageCapturedCallback כשהתוספים מופעלים.
  • נוסף API isFocusMeteringSupported ב-CameraInfo שמאפשר לאפליקציות לבדוק אם FocusMeteringAction הנתון נתמך במצלמה הנוכחית או לא.
  • API נחשף של getResolutionInfo כדי לספק את מידע הפתרון עבור תצוגה מקדימה, ImageCapture ו-ImageAnalysis.
  • הוספנו ממשק API חדש ImageCapture.Builder#setJpegQuality כדי לאפשר שינוי של איכות דחיסת התמונה בפורמט JPEG בפלט במהלך צילום תמונות.
  • הוספנו את CameraSelector#filter ל-API הציבורי כדי לסנן רשימה של CameraInfos על סמך CameraSelector.
  • הוספת את Camera2CameraControl.clearCaptureRequestOptions כדי להסיר את האפשרויות הקיימות לבקשת תיעוד.
  • נוסף API ניסיוני לשימוש ב-CameraController עם ספריות חיצוניות לעיבוד תמונות. לדוגמה MLKit
  • נוסף ממשק API ניסיוני CameraInfo#getCameraSelector() שמחזיר CameraSelector ייחודי למצלמה שלו
  • קידמת מספר ממשקי API ניסיוניים לממשקי API ציבוריים רשמיים.
  • ההערה @Experimental הוחלפה ב-@RequiresOptIn בממשקי API ניסיוניים. כדי להפעיל ממשקי API ניסיוניים, צריך להשתמש ב-androidx.annotation.OptIn במקום ב-androidx.annotation.experimental.Usetrial.
  • קידמת את ממשקי ה-API הניסיוניים הבאים לממשקי API רשמיים: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(),
  • ממשקי API של @ExperimentalCameraFilter
  • ממשקי API ניסיוניים לפיצוי חשיפה.
  • קידמת את ה-API הניסיוני של UseCaseGroup לליבה של מצלמה, מחזור חיים של מצלמה וסרטון של מצלמה. נוספו ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection ו-ViewPort.Builder#setScaleType להתאמה אישית של אזור התצוגה.
  • קידמת את ExperimentalUseCaseGroupLifecycle לממשקי API ציבוריים רשמיים.
  • שינויים בממשקי ה-API הקיימים
  • Renamed MediaStoreOutputOptions.getCollection עד MediaStoreOutputOptions.getCollectionUri.
  • השם של ActiveRecording השתנה ל"הקלטה" כדי להפחית את דרגת המלל.
  • ממשק ה-API של Creator API QualitySelector השתנה ל-API מבוסס-רשימות

תיקוני באגים

  • תוקנה בעיה YuvToJpegProcessor EOFException כשמצב התוסף הופעל ומצב ImageCapture#CAPTURE_MODE_MAX_QUALITY הוגדר.
  • תיקון התצורה של קודק נכשל כי הקלטת הסרטון נסגרת
  • תיקון מתיחה של יחס גובה-רוחב של תצוגה מקדימה או סרטון בהקלטה ב-FHD
  • תוקן חוסר סנכרון של אודיו/וידאו אחרי השהיה והמשך בחלק מהמכשירים
  • תוקנה הבעיה שבה הפלאש הופעל במהלך 'הקשה למיקוד' (startFocusAndMetering) כשמצב הפלאש פועל אוטומטית או תמיד_פועל בסביבה עם תאורה חלשה.

גרסה 1.1.0-rc02

1 ביוני 2022

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

תיקוני באגים

  • תוקן NullPointerException בתאריך ImageCapture.takePicture(). (I92366, b/230454568, b/229766155)
  • תוקן באג שגרם לכך שלא טופלו ב-AssertionError כשקיבלת את המאפיין CONTROL_ZOOM_RATIO_RANGE. (Ia248a, b/231701345)

גרסה 1.1.0-rc01

11 במאי 2022

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

תכונות חדשות

  • מפרסמים את גרסת ה-RC הראשונה למצלמות וידאו, ראיית מצלמה ותוסף מצלמה

תיקוני באגים

  • תוקנה בעיה שבה קודק הווידאו לא הופץ כאשר לא נוצר קשר עם VideoCapture<Recorder>, וכתוצאה מכך השימושים הבאים ב-VideoCapture<Recorder> נכשלו בהקלטה עם MediaCodec.CodecException, במיוחד במכשירי API 21-22. (Ie7f68)
  • תיקון התמונות שצולמו של CameraExtensionsActivity לא יימחקו מ-ImageCaptureTest

גרסה 1.1.0-beta03

6 באפריל 2022

androidx.camera:camera-*:1.1.0-beta03 משוחרר. גרסה 1.1.0-beta03 מכילה את התחייבויות אלה.

שינויים ב-API

  • ה-constructor של CaptureRequestOptions הוגבל. (I261b6)
  • נוסף API ניסיוני לשימוש ב-CameraController עם ספריות חיצוניות לעיבוד תמונות. לדוגמה MLKit (I4ea71)

תיקוני באגים

  • תוקנה הבעיה שהתצוגה המקדימה הופכת לצידה ב-PreviewView כשהפעילות לא הופעלה מחדש אחרי החלפת מכשירים במספר חלונות. (I1ea36, b/223488673)
  • תיקון בעיה של ריבוי חלונות, שבה המיקוד משתנה בחזרה לאפליקציה ולא ניתן להפעיל את המצלמה מחדש כש (1) אפליקציה אחרת בעדיפות גבוהה פותחת מצלמה אחרת (2) המכשיר הוא מכשירי Samsung Android 12. (I7e9f2)
  • פתרון עקיף כלול למכשירים שקורסים בזמן בדיקת הזמינות של ה-Flash. במכשירים האלה לא יהיה פנס זמין. (If26a3, b/216667482)
  • צריך לפתור בעיה אחת (AbstractMethodError) כשאפליקציות משתמשות בתוספים ומפעילים את Protect. (I7cbaf, b/222726805)
  • צריך להשבית באופן ידני את מצב תוסף bokeh במכשיר Motorola razr 5G, ולגרום לבעיה במסך התצוגה המקדימה בצבע שחור. (I35d49)
  • תוקן חוסר סנכרון של אודיו/וידאו אחרי השהיה והמשך בחלק ממכשירי Samsung לפני API 29. (I64622, b/202798609, b/202798572)
  • תוקן חוסר סנכרון של אודיו/וידאו אחרי השהיה והמשך ב-Sony G3125. (I2a1a5, b/202799148)
  • תוקנה קריסה כשמכשיר ההקלטה נתקל ב-InvalidConfigException. עם זאת, התיקון הזה רק מונע את הקריסה של האפליקציה, אבל לא פותר את הגורם לבעיה InvalidConfigException. אם עדיין אי אפשר להגדיר את Recorder, אפליקציות יקבלו קריאה חוזרת (callback) כשיתחיל להקליט. (I89c29, b/213617227)

תרומה חיצונית

  • updated :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-בטא01, כל ספריות 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 שניות או יותר) בין שינוי המיקוד לבין פתיחת המצלמה מחדש בגלל בעיה כלשהי ב-framework. (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() הוסר ועכשיו צריך להעביר את האזנה לאירוע אל 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)
  • היוריסטיקה חכמה יותר משמשת עכשיו לבחירת הגדרות המקודד על סמך פרופילים שצוינו על ידי ה-OEM. (Iaeef0)
  • בתצוגה המקדימה המתוקנת, קווים צבעים משולבים אחרי תחילת צילום הסרטונים באיכות UHD ב-Pixel1. (I833c6, b/205340278)

גרסה 1.1.0-alpha11

17 בנובמבר 2021

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

שינויים ב-API

  • נוסף CameraSelector#filter ל-API הציבורי כדי לסנן רשימה של CameraInfos על סמך CameraSelector. (I105d0)
  • צריך להוסיף את ה-API setOutputImageRotationEnabled להגדרת ImageAnalysis. המשתמש יכול להפעיל סיבוב של מאגר תמונות של YUV/RGB. דרגת הסיבוב היא סיבוב יחסי המחושב על סמך סיבוב החיישן וסיבוב היעד כדי לשמור על התמונה כלפי מעלה.

  • צריך להוסיף את ה-API setOutputImageRotationEnabled להגדרת ImageAnalysis. המשתמש יכול להפעיל סיבוב של מאגר תמונות של YUV/RGB. דרגת הסיבוב היא סיבוב יחסי המחושב על סמך סיבוב החיישן וסיבוב היעד כדי לשמור על התמונה כלפי מעלה.

    הוספת API של getSensorToBufferTransformMatrix ב-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) כשמצב הפלאש פועל אוטומטית או בסביבה עם תאורה חלשה. (Id4c11)
  • השבתה של HDR+ ב-Pixel 2 XL או ב-Pixel 3 XL אינץ' מצב MINIMIZE_LATENCY להפחתת זמן אחזור. (Ib6270, b/203505523)

תרומה חיצונית

גרסה 1.1.0-alpha10

13 באוקטובר 2021

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

תכונות חדשות

  • הושקה באופן רשמי androidx.camera:camera-video:1.1.0-alpha10 כגרסת האלפא הראשונה של Google Video. יש כמה בעיות ידועות שצריך לתקן בגרסאות מאוחרות יותר.

שינויים ב-API

  • נוספה הערה אחת (@RequiresApi(21)) לכל הכיתות של CameraX והושמט minSdkVersion מ-AndroidManifest.xml. הפעולה הזו תאפשר ליבת הדגמה (דמו) כדי לשלב בקלות באפליקציות minSdkVersion פחות מ-21, אבל רוצה להשתמש בנתיבי קוד באופן מותנה שמסתמכים על API 21 ואילך. לכל אפליקציה עם minSdkVersion 21 ואילך, השינוי הזה לא מחייב שום פעולה. (Ie7f2e, b/200599470)

תיקוני באגים

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

גרסה 1.1.0-alpha09

29 בספטמבר 2021

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

שינויים ב-API

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

תיקוני באגים

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

גרסה 1.1.0-alpha08

18 באוגוסט 2021

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

תכונות חדשות

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

שינויים ב-API

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

תיקוני באגים

  • המסך של התצוגה המקדימה הקבועה בהיר מדי ב-Huawei P20 Lite. בעיה זו מתרחשת רק כאשר משתמשים ברזולוציות מיוחדות מסוימות של תצוגה מקדימה יחד עם ערך זום גדול. (Idefce, b/192129158)
  • תוקנה בעיה שגרמה לפלאש לא פועל במכשירים מסוימים בעת הגדרת הפלאש למצב FLASH_מצב_ON בקרוב ולאחר מכן לצלם תמונות. (Ieb49b)
  • תוקנה הבעיה שבה התצוגה המקדימה נעצרה לזמן מה בעת צילום תמונות אם הן קשורות ל-VideoCapture, ImageCapture ו-Preview (תצוגה מקדימה). (I56197, b/193864120)
  • מאפשר ל-ImageAnalysis לבחור רזולוציה גדולה מ-1080p. מכשיר ברמה LIMITED מעל המכשיר יכול לתמוך ברזולוציה של גודל הרשומה ב-ImageAnalysis כשהוא מקושר יחד עם Preview ו-ImageCapture. החסרון הוא הרזולוציה שנבחרה ל-ImageCapture והיא צריכה להיות גם רזולוציה של גודל הרשומה. כדי לבחור בהצלחה רזולוציה של גודל רשומה עבור ImageAnalysis, צריך להגדיר רזולוציית יעד של גודל רשומה גם ב-ImageCapture וגם ב-ImageAnalysis. זה מצביע על כך שהאפליקציה מבינה בבירור את הפשרה ומעדיפה של-ImageAnalysis תהיה רזולוציה גדולה יותר מאשר ל-ImageCapture תהיה רזולוציה מרבית. למידע על ההגדרות של RECORD, גדלים של BLOCK ועוד, אפשר להיכנס לכתובת https://developer.android.com/reference/android/hardware/camera2/cameraDevice#regular-capture. גודל הרשומה מתייחס לרזולוציית ההקלטה המקסימלית הנתמכת של מכשיר המצלמה, כפי שנקבע על ידי CamcorderProfile. הגודל WIDTH מתייחס לרזולוציית הפלט המקסימלית של מכשיר המצלמה עבור הפורמט או היעד שצוינו ב-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)
  • תוקנה בעיית EOFA חריגה אחת (YuvToJpegProcessor) כשמצב התוסף הופעל ומצב ImageCapture#CAPTURE_MODE_MAX_QUALITY הוגדר. (I538bd, b/192017012)

גרסה 1.1.0-alpha06

30 ביוני 2021

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

שינויים ב-API

  • קידום ממשקי ה-API הניסיוניים של פיצוי החשיפה עבור Camera-core (I08ee8)
  • נוסף ממשק API isFocusMeteringSupported ב- CameraInfo מאפשר לאפליקציות לבדוק אם FocusMeteringAction הנתון יש תמיכה במצלמה הנוכחית או לא. (Ib45ae, b/188606490)
  • ממשק API חשופים של getResolutionInfo כדי לספק את המידע על הפתרון עבור Preview, ImageCapture ו-ImageAnalysis. (I2b613, b/188600718)
  • קידמו את ממשקי ה-API הניסיוניים הבאים לממשקי API רשמיים: CameraXConfig.Builder#setAvailableמצלמותsLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableמצלמותsLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getcameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
  • חשיפת הממשק של CameraProvider כדי לספק גישה לקבוצת מצלמות. (I1a7b1)
  • לקדם את ממשק ה-API הניסיוני של UseCaseGroup API לזיכרון הליבה של המצלמה, למחזור החיים של המצלמה ולמצלמה. נוספו ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirection ו-ViewPort.Builder#setScaleType להתאמה אישית של אזור התצוגה. (I7cee8)

גרסה 1.1.0-alpha05

2 ביוני 2021

androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05 ו-androidx.camera:camera-lifecycle:1.1.0-alpha05 שוחררו. גרסה 1.1.0-alpha05 מכילה את התחייבויות אלה.

שינויים ב-API

  • כיתה אחת (Camera2CameraFilter) הוסרה. הצעה לבחירת מצלמה לפי CameraFilter ואחזור מאפיין CameraCharacteristics או אירועים אחרים הקשורים ל- Camera2 מידע באמצעות Camera2 CameraInfo אם יש צורך. (Ib887c)
  • ExperimentalCameraFilter ממשקי API לא ניסיוניים ויהפכו לממשקי API רשמיים. אפשר להשתמש בהם בלי הבעת הסכמה. (I4bc94)
  • נוסף ממשק API של מצב המצלמה שנחשף דרך CameraInfo#getCameraState(). (Ia86b4)
  • נוסף ממשק API ניסיוני CameraInfo#getCameraSelector() שמחזיר מצלמה ייחודית למצלמה שלו (I77f9f)

תיקוני באגים

  • תוקנה הבעיה שגרמה ל-ListenableFuture לא ניתן להשלים את הפעולה setZoomRatio ו-setLinearZoom 11 מכשירים (I716d7)
  • האצת המעבר בין המצלמות והפחתת שיעור השגיאות המתרחשות במכשיר המצלמה (I34c99)
  • הערך הניסיוניUseCaseGroupLifecycle הוחלף בערך ניסיוניUseCaseGroup. (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
  • נוסף ממשק API של CameraState שייחשף דרך CameraInfo. (I75392)

גרסה 1.1.0-alpha03

24 במרץ 2021

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

תיקוני באגים

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

גרסה 1.1.0-alpha02

24 בפברואר 2021

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

שינויים ב-API

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

תיקוני באגים

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

גרסה 1.1.0-alpha01

27 בינואר, 2021

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

תיקוני באגים

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

Camera- Camera2 , Camera-Core ו- גרסה 1.0.2 של מחזור החיים של המצלמה

גרסה 1.0.2

29 בספטמבר 2021

androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2 ו-androidx.camera:camera-lifecycle:1.0.2 שוחררו. גרסה 1.0.2 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • פתרון בעיות שקשורות לטשטוש התמונות שצולמו במצב MAXIMIZE_QUALITY. (I173a9, b/193823892)
  • תוקנה בעיה שצילמה תמונה באמצעות הפלאש כהה מכשירים רבים. (I4e510)

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

גרסה 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 ו- גרסה 1.0.0 של Camera-Lifecycle

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

תיקוני באגים

גרסה 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 כשנעשה שימוש ב-setAvailablecamsLimiter ב- CameraXConfig.
  • תוקנה רגרסיה של ביצועי ImageCapture על ידי הסרת האימות של מיקום התמונה שנשמר לפני צילום התמונה. אחרי שמבצעים את השינוי הזה, אם היעד לשמירה לא תקין, יכול להיות שייקח יותר זמן לקבל את התשובה שנכשלה כי המערכת תנסה לשמור את התמונה אחרי צילום התמונה.
  • השינוי הזה מזהה את החריגים שבהם מיצית את תור התמונות ב-ImageAnalysis. לכן, במקום לקרוס, יכול להיות שתבחינו בתרחישים לדוגמה אחרים שקופאים או איטיים. לדוגמה תצוגה מקדימה קפואה/איטית.
  • נכלל פתרון לעקיפת נתוני תמונה פגומים לסירוגין בקובצי JPEG במצלמה האחורית מסוג SM-G930T. (I52001, b/159831206)
  • השינוי הזה מזהה את החריגים שבהם מיצית את תור התמונות ב-ImageAnalysis. לכן, במקום לקרוס, ייתכן שתראו תרחישי שימוש אחרים שקופאים או איטיים. לדוגמה תצוגה מקדימה קפואה/איטית. (Ic12da, b/175851631)
  • תוקן הכשל בבדיקת Robolectric כאשר נעשה שימוש ב-setAvailablecamsLimiter ב- CameraXConfig. (Ice307)
  • תוקנה רגרסיה של ביצועי ImageCapture על ידי הסרת האימות של מיקום התמונה שנשמר לפני צילום התמונה. אחרי שמבצעים את השינוי הזה, אם היעד לשמירה לא תקין, יכול להיות שיעבור זמן רב יותר עד לקבלת התשובה שהתשובה נכשלה כי לאחר צילום התמונה תנסה לשמור את התמונה. (I1fd4e, b/177061560)
  • רגרסיה קבועה של ביצועי ImageCapture עם "File" מקלידים OutputFileOptions. (I5164a, b/177061560)

גרסה 1.0.0-rc02

27 בינואר, 2021

androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02 ו-androidx.camera:camera-lifecycle:1.0.0-rc02 שוחררו. גרסה 1.0.0-rc02 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • תוקנה הבעיה DisallowArgument תנועה כשכל הגדלים הנתמכים של התצוגה המקדימה היו קטנים מ-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)
  • נוספה גרסה ניסיונית של Camera2 CameraControl כדי לאפשר פעולה הדדית עם ממשקי API של Camera2 באופן דינמי. I45cf3
  • השם של Camera2 CameraInfo#from CameraInfo השתנה ל- #from. (Ia2bd6)
  • נוסף ממשק API ניסיוני של setAvailablesLimiter API אל CameraXConfig כדי לאפשר לאפליקציות לבצע אופטימיזציה של זמן האחזור של האתחול על ידי הימנעות מאתחול מצלמות שאינן בשימוש. (I6cf88)
  • נוספה שיטה ניסיונית CameraXConfig.Builder#setMinimumLoggingLevel() כדי לאפשר הגדרה של רמת רישום מינימלית ביומן ליומני CameraX. אם המדיניות לא מוגדרת, ברירת המחדל היא Log#DEBUG. (Ic3245)

תיקוני באגים

  • נכלל פתרון לעקיפת נתוני תמונה פגומים לסירוגין ב- קובצי JPEG במצלמה האחורית מסוג SM-G930V. (I5aca5, b/159831206)
  • תוקנה הבעיה שצילום תמונות לא מקבל תוצאות כשהפלאש פועל/פועל כל הזמן והסביבה חשוכה במכשירי Samsung SM-A716. (If98b2, b/172036589)
  • תוקנה הבעיה שלא ניתן להפסיק את התצוגה המקדימה על ידי קריאה אל Preview.setSurfaceProvider(null). (I3ac18)
  • תוקנה בעיית כיוון במהלך צילום תמונות ביחס 4:3 במכשירים מסוימים. (I0e3fb, b/171492111)

מצלמה 2, Core ו- גרסה 1.0.0-בטא12 של מחזור חיים

11 בנובמבר 2020

androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12 ו-androidx.camera:camera-lifecycle:1.0.0-beta12 שוחררו. גרסה 1.0.0-בטא12 מכילה את ההתחייבויות האלה.

תיקוני באגים

  • הפלאש האוטומטי מושבת במכשירי Samsung A3 כדי לתקן את הקריסה כשמצלמים תמונה במצב AE אוטומטי של Flash, במכשירי Samsung A3. (Ia5fe3, b/157535165)
  • תוקנה בעיה שבה התצוגה המקדימה נמתחת במכשירי Nexus 4 עם Android L (רמות API 21 ו-22). (I4d407, b/158749159)
  • מחלקה בסיסית אחת (OnImageCapturedCallback#onCaptureSuccess) לא סוגר יותר את התמונה. זה נועד למניעה או התנהגות בלתי צפויה למפתחים. לא כדאי למפתחים להסתמך על Super.onCaptureSuccess כדי לסגור את התמונה. (Ifbf9c)
  • הווריאנט androidx של ההערה הניסיונית הוצאנו משימוש כדי להתאים ל-Kotlin. הוא הוחלפה ב- נדרשת הערת OptIn, וה-Linter מפני Java עודכן ל- תומכים גם בהערת Kotlin החדשה וגם בווריאנט החדש של androidx. (I52495, b/151331381)

Camera- Camera2 גרסה 1.0.0-beta11

14 באוקטובר 2020

androidx.camera:camera-camera2:1.0.0-beta11 משוחרר. גרסה 1.0.0-בטא11 מכילה את ההתחייבויות האלה.

תכונות חדשות

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

תיקוני באגים

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

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

14 באוקטובר 2020

androidx.camera:camera-core:1.0.0-beta11 משוחרר. גרסה 1.0.0-בטא11 מכילה את ההתחייבויות האלה.

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

תיקוני באגים

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

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

23 בספטמבר 2020

androidx.camera:camera-core:1.0.0-beta10 משוחרר. גרסה 1.0.0-בטא10 מכילה את ההתחייבויות האלה.

תיקוני באגים

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

Camera- Camera2 גרסה 1.0.0-beta10

23 בספטמבר 2020

androidx.camera:camera-camera2:1.0.0-beta10 משוחרר. גרסה 1.0.0-בטא10 מכילה את ההתחייבויות האלה.

תיקוני באגים

Camera- Camera2 גרסה 1.0.0-beta09

16 בספטמבר 2020

androidx.camera:camera-camera2:1.0.0-beta09 משוחרר. גרסה 1.0.0-beta09 מכילה את התחייבויות אלה.

שינויים ב-API

  • במקום לספק שיטות סטטיות, Camera2 CameraInfo לוקחת במכונה של CameraInfo, כשיוצרים אותה כדי לאחזר נתונים שקשורים ל- Camera2 מידע מ-. (I5b844)

תיקוני באגים

  • תוקנה בעיה ביחס גובה-רוחב של היעד במכשירי טאבלט. כדאי לבחור גודל של 16:9 כשיחס הגובה-רוחב של היעד מוגדר כ-AspectRatio.RATIO_16_9. (Ib7fcf, b/151969438)
  • צריך להריץ InitializationException כדי שהאפליקציה תוכל לטפל באלגנטיות ב-AssertionError שהתרחשה במהלך יצירת CameraCharacteristics. (I89c8c, b/160524721)
  • נוספו ממשקים ניסיוניים ל-VisibilityCompenation (If96c7)

גרסה 1.0.0-beta09 של מצלמת ליבה

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. הבעיה הזו תיפתר בגרסה הבאה.

Camera- Camera2 גרסה 1.0.0-beta08

19 באוגוסט 2020

androidx.camera:camera-camera2:1.0.0-beta08 משוחרר. גרסה 1.0.0-beta08 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • בוצע אופטימיזציה של ה-binToLifecycle כדי להריץ במהירות את ה-thread הראשי. (I1d57e)
  • DisplayOrientedMeteringPointworks ב- CameraInfo במקום CameraSelector, כך שיש מיפוי ישיר אל המצלמה שהיצרן יפיק ממנה נקודות. כל הקורסים שמשתמשים ב-DisplayOrientedMeteringPoint מצב במפעל מחזירים נתונים של CameraInfo במקום CameraSelector. (I400c1)
  • תוקנה בעיה בקיבוץ של גודל יחס גובה-רוחב ברזולוציה אוטומטית, שנבחרה בהתאם לגודל 16:9 mod16 (864x480) כשרזולוציית היעד היא 2016x1080 וקיימת תמיכה נוספת בגודל 1920x1080 ביחס 16:9. (I53167, b/159363774)
  • תיקון הבעיה CameraControl שבה היא לא יכולה לפעול לפי מרוץ תהליכים (I2279f, b/152333890, b/160714166)

גרסה 1.0.0-beta08 של מצלמת ליבה

19 באוגוסט 2020

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

שינויים ב-API

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

תיקוני באגים

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

Camera- Camera2 גרסה 1.0.0-beta07

22 ביולי 2020

androidx.camera:camera-camera2:1.0.0-beta07 משוחרר. גרסה 1.0.0-beta07 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקנה הבעיה שנמתחת של התצוגה המקדימה במכשיר Android 5.0 מדור קודם. (I0c03a)
  • הוחרגו חלק מהגדלים הנתמכים של JPEG שיגרמו לבעיה WYSIWYG במכשירים מסוימים. (Ib5128)

גרסה 1.0.0-beta07 של מצלמת ליבה

22 ביולי 2020

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

שינויים ב-API

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

תיקוני באגים

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

Camera- Camera2 גרסה 1.0.0-beta06

24 ביוני 2020

androidx.camera:camera-camera2:1.0.0-beta06 משוחרר. גרסה 1.0.0-בטא06 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • נוספו ממשקים ניסיוניים לסינון מצלמות לפי מצלמה מזהה ומאפייני מצלמה. (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-בטא06 מכילה את ההתחייבויות האלה.

שינויים ב-API

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

תיקוני באגים

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

Camera- Camera2 גרסה 1.0.0-beta05

10 ביוני 2020

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

תיקוני באגים

  • תיקון הקריסה בהפעלה של האפליקציה כשמפעילים את CameraX כשהטלפון במצב 'נא לא להפריע'. InitializationException מכיל CameraUnavailableException שיוגדר כ-ListenableFuture של תוצאת החידוש במקום לקרוס את האפליקציה. (I9909a, b/149413835)
  • תוקנה הקריסה בהתקשרות אל startFocusAndMetering במכשירים שבהם הערך CONTROL_AF_STATE הוא 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)

תיקוני באגים

  • גרסאות ג'אווה של setTargetResolution ו-setTargetRotation עודכנו. (Iae16f)

Camera- Camera2 גרסה 1.0.0-beta04

27 במאי 2020

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

תיקוני באגים

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

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

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/clearparser הובילו לכך שהמנתח לא קיבל תמונות לניתוח. (I6169f, b/151605317, b/153514544)
  • תיקון באג שבו מאגר הנתונים הזמני ב-ImageProxy מ-ImageCapture לא הופץ (I0c455, b/153249512)
  • תוקנה הבעיה שהמצלמה הראשונה ברשימה הנתמכת של CameraManager לא תמיד נבחרה לשימוש. (I4c624, b/153418028)
  • תוקנה קריסה זמנית שנגרמה כתוצאה מהגדרה של Preview.SurfaceProvider שלא שחרור הפלטפורמה שביקשת קודם לכן. “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7, b/155936225)

Camera- Camera2 גרסה 1.0.0-beta03

15 באפריל 2020

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

תיקוני באגים

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

גרסה 1.0.0-beta03 של מצלמת ליבה

15 באפריל 2020

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

תיקוני באגים

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

Camera- Camera2 גרסה 1.0.0-beta02

1 באפריל, 2020

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

תיקוני באגים

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

גרסה ליבה של מצלמה 1.0.0-beta02

1 באפריל, 2020

androidx.camera:camera-core:1.0.0-beta02 משוחרר. גרסה 1.0.0-beta02 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקן ImageInfo.getRotationDegrees() מ-ImageProxy שהופק על ידי ImageCapture כך שיתאים לערך הסיבוב של כיוון EXIF. (Id4281, b/150802561)
  • בוצע תיקון של bindToLifecycle כך שהוא ישנה את ה-UseCase רק אם הקישור בוצע בהצלחה. בעבר, כשנשלחה קריאה אל bindToLifecycle כדי לבצע חישובי רזולוציה, ה-UseCase מתעדכן. עכשיו לא צריך יותר לעדכן את ה-UseCase כדי לבצע את החישובים (I78d9e)
  • תוקנה בעיה שבה סשן הצילום של התרחיש לדוגמה Preview לא עודכן כששטח התצוגה המקדימה השתנה אחרי קריאה ל-Preview.setSurfaceProvider() יותר מפעם אחת.

Camera- Camera2 גרסה 1.0.0-beta01

26 בפברואר 2020

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

תיקוני באגים

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

גרסה 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() ואוכף שהקריאה החוזרת של 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 של מצב Flash ועכשיו הם כוללים הערכים האפשריים. (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 באמצעות הקפדה על כך שפריטי Surface יישמרו רק למשך השימוש ב- Camera2. (I9dac2)
  • תוקנה בעיה בתצוגה מקדימה שאינה חשופה במכשירי LEGACY על ידי כוונון תקין של CONTROL_AE_TARGET_FPS_RANGE. (1224638)

גרסה ליבה של מצלמה 1.0.0-alpha10

10 בפברואר 2020

androidx.camera:camera-core:1.0.0-alpha10 משוחרר. גרסה 1.0.0-alpha10 מכילה את התחייבויות אלה.

שינויים ב-API

  • ההגדרה ImageCapture עודכנה כדי לאפשר שמירת תמונות ב-Uri וב-OutputStream. שילבנו יחד takePicture שיטות בעומס יתר. אפליקציית הבדיקה עודכנה לשימוש ב-Uri כדוגמה הקנונית. (Ia3bec)
  • השם של Preview.PreviewSurfaceProvider השתנה ל-Preview.SurfaceProvider. רכיבי SurfaceProvider כבר לא דורשים ממפתחים ליצור ListenableFuture משלהם. מסירת Surface מתבצעת עכשיו באמצעות אובייקט SurfaceRequest חדש. השיטה Preview.getPreviewSurfaceProvider() הוסרה בגלל פוטנציאל לשימוש לרעה כאשר Preview מותאם למחלקות אחרות כמו PreviewView. (I20105)
  • הוספת את getTargetRotation() ואת getTargetName() אל "Preview". (Iceee7)
  • נוספו getTargetRotation(), getBackpressureStrategy() וgetImageQueueDepth() בImageAnalysis. (I9d6d9)
  • נוספו getTargetRotation() וgetCaptureMode() ב-ImageCapture() (I5bc17)
  • הארגומנטים שהועברו בעבר ב-ImageCapture.OnImageSavedCallback.onError() וב-ImageCapture.OnImageCapturedCallback.onError() הוחלפו עכשיו בארגומנט ImageCaptureException, שעדיין מכיל את כל המידע שהועבר.
  • ארגומנט הקובץ שהועבר בעבר ב-ImageCapture.OnImageSavedCallback.onImageSaved() הוסר. (I750d2)
  • Preview ו-ImageCapture כיתות מסומנות עכשיו כסופיות. (I2500b)
  • ה-API עודכן, עם getZoomRatio(), getMaxZoomRatio(), getMinZoomRatio() ו-getLinearZoom() שיטות למיזוג של CameraInfo אל getZoomState(), ותחזיר את המופע ZoomState. (Ib19fe)
  • שדות ה-API OPTION_TARGET_CLASS ו-OPTION_TARGET_NAME הוסרו החל מ-CameraXConfig כי הם מיועדים לשימוש פנימי בלבד בספרייה. הוסר ה-constructor של CameraXConfig.Builder. (I96912)
  • הוסרה הדרישה שהאפליקציה צריכה להאריך את Application כדי כדי לאתחל את CameraX. CameraX יופעל עכשיו כברירת מחדל ההגדרה של Camera2, כל עוד פריט המידע שנוצר בתהליך הפיתוח (Artifact) של 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

  • צריך להוסיף נתיב של יכולת פעולה הדדית למצלמה2 לחילוץ מזהה של מצלמת Camera2. אפשר לחלץ מזהה המצלמה מ-CameraInfo באמצעות Camera2CameraInfo.extractCameraId(). דוגמת הקוד הבאה מראה איך להשתמש באפשרות הזו:

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

    במחלקה Camera2CameraInfo נדרש ExperimentalCamera2Interop MarkClass.

גרסה ליבה של מצלמה 1.0.0-alpha09

22 בינואר, 2020

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

שינויים ב-API

  • הפרמטר useCaseForSurface SurfaceOrientedMeteringPointFactory היה השם הקודם היה useCaseForAspectRatio ומסמכי העזר היו במצב מורחב.
  • ה-methods FocusMeteringAction.Builder.from() מוחלפות ב-constructor FocusMeteringAction.Builder().
  • הוסר/ה DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float) האפליקציות צריכות להשתמש ב-constructor שמקבל פרמטר 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. אם האפשרות המבוקשת לא נתמכת, הסשן לא יוכל להתחיל, ותתרחש שגיאה כזו: 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

תיקוני באגים

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

שינויים ב-API

  • ניסיוני: נוסף נתיב של יכולת פעולה הדדית של Camera2 לחילוץ מזהה המצלמה.

גרסה ליבה של מצלמה 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. פרטים נוספים על אופן השימוש באפשרות הזו באתחול זמינים בקטע ליבת המצלמה בנתוני הגרסה.
  • הפונקציונליות של יכולת הפעולה ההדדית של מצלמה2 מסומנת עכשיו כניסיונית והועברה לחבילה נפרדת, androidx.camera.camera2.interop.

גרסה ליבה של מצלמה 1.0.0-alpha07

4 בדצמבר 2019

androidx.camera:camera-core:1.0.0-alpha07 משוחרר. גרסה 1.0.0-alpha07 של ליבת המצלמה מכילה את ההתחייבויות האלה

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

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

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

  • ImageAnalysis ImageReaderMode השתנה לאסטרטגיית לחץ לאחור intdef.

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

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

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

  • השם של מאזינים עם יותר מ-method אחד השתנה ל-Callback:

    • ImageCapture.OnImageCapturedListener נקרא עכשיו ImageCapture.OnImageCapturedCallback
    • ImageCapture.OnImageSavedListener נקרא עכשיו ImageCapture.OnImageSavedCallback
    • VideoCapture.OnVideoSavedListener נקרא עכשיו VideoCapture.OnVideoSavedCallback
  • ערכי ה-Enum השתנו ל-IntDef

  • נוספו פקדים לשינוי מרחק התצוגה:

    • CameraControl.setLinearZoom()
    • CameraControl.setZoomRatio()
    • CameraInfo.getLinearZoom()
    • CameraInfo.getMaxZoomRatio()
    • CameraInfo.getZoomRatio()
  • מתבצעת הוספה של CameraInfo.hasFlashUnit() כדי לקבוע אם קיימת חומרת Flash/לפיד.

  • CameraInfo.isFlashAvailable() הוסר. הפנס מבטל את הפונקציונליות של ה-Flash. פרטים נוספים מופיעים במאמרי העזרה.

  • שדות ImageCapture.Metadata מוחלפים ברכיבי accessor/set/is.

  • startFocusMetering ו-cancelFocusMetering מחזירים עכשיו את הערך ListenableFutures שמייצג את הפעולה האסינכרונית של השיחה.

  • MeteringPoints משמש עכשיו ככינויים לפעולות מדידה ומופקות על ידי מפעלים. האפליקציות צריכות להשתמש במפעלים הקיימים במקום במפעלים בהתאמה אישית.

בעיות שנפתרו

  • תוקנה הבעיה בצילום תמונה כשממשיכים (אחרי שהשהיה קודמת צילמה תמונות בהמתנה).
  • בעיה ידועה: CameraControl.enableTorch() פועל, אבל ListenableFuture<Void> שהוחזר הוא תמיד complete(success) מיידי, גם אם אין יחידת Flash. בגרסאות עתידיות יתקנו את הפעולה הזו בהתאם להתנהגות הסופית: כשאין יחידת Flash, enableTorch(true) ייכשל באופן מיידי (לא תישלח בקשה אל CaptureSession), ו-TorchState יישאר מושבת.
  • בעיה ידועה: startFocusAndMetering ו-cancelFocusAndMetering מתחילים ומבטלים את מדידת המיקוד, אבל מוחזרים מיד completed (success) בעתיד שלא מייצג את ההתנהגות המתועדת. הערך FocusMeteringResult מ-ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() הוא תוצאה מזויפת מסוג isFocusSuccessful() והוא תמיד "false", שונה מההתנהגות המכוונת ומתועדת.
  • בעיה ידועה: אנחנו מפתחים מפעל לנקודות מדידה לשימוש באירועי מגע של PreviewView. נכון לעכשיו, אפליקציות שמקושרות לפלטפורמות מנוהלות בהתאמה אישית יכולות להשתמש במפעלים הקיימים של נקודות מדידה. אחרת, פונקציונליות של מיקוד במגע לא זמינה עבור PreviewView.

מצלמה-מצלמה2 וגרסה 1.0.0-alpha06

9 באוקטובר 2019

androidx.camera:camera-camera2:1.0.0-alpha06 ו-androidx.camera:camera-core:1.0.0-alpha06 שוחררו. אלו ההתחייבויות שכלולות בcamera-camera2:1.0.0-alpha06 ואלה ההתחייבויות שכלולות בcamera-core:1.0.0-alpha06.

תכונות חדשות

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

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

ממשקי API של הפעלה

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

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

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

    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() במקרים ספציפיים יותר, למשל כשיש צורך ברזולוציות מינימליות (לשמירת חישוב) או ברזולוציות מקסימליות (לפרטי עיבוד).
  • ממשק API של מפעיל: הוסרה הקריאה setCallbackHandler() מממשקי ה-API של הגדרת תרחישי שימוש. במקום זאת, אפליקציות יכולות להגדיר את המפעיל כפרמטר במגוון ממשקי API אחרים שמגדירים קריאה חוזרת (callback).
  • הערות null עודכנו בפונקציות שונות.
  • תוקנה בעיה שגרמה להקפצה של java.lang.IllegalStateException at Camera$StateCallback.onError בזמן פתיחת המצלמה.
  • תוקנה בעיה שבה נבחרו רזולוציות שהיו קטנות מדי (פחות מ-640x480) כשהאפליקציה מבקשת רזולוציות גדולות יותר או ברירת מחדל, וכתוצאה מכך נוצרה תמונת תצוגה מקדימה מטושטשת או חסומה. אפליקציות שזקוקות באופן ספציפי לרזולוציות קטנות יותר יכולות לבקש אותן באופן מפורש.
  • תוקנה בעיה שבה הוצג מסך שחור במצלמה (המצלמה לא הופעלה) אחרי שחזרה מכוונת שהפעילה אפליקציית מצלמה אחרת.
  • תוקן באג שגרם לשגיאה הבאה כשהאפליקציות מופעלות או מופסקות שוב ושוב. java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
  • תוקנה השגיאה הבאה שמתרחשת כשמשביתים את ImageAnalysis: java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
  • נוספו בדיקות נוספות לתהליך ניתוק המצלמה.
  • שיפור יציבות מערכת הבדיקה במהלך הרצת בדיקות מצלמה גב אל גב.

מצלמה-מצלמה2 וגרסה 1.0.0-alpha05

5 בספטמבר 2019

androidx.camera:camera-camera2:1.0.0-alpha05 ו-androidx.camera:camera-core:1.0.0-alpha05 שוחררו. אלה ההתחייבויות שכלולות במצלמה-מצלמה2:1.0.0-alpha05 ואלו ההתחייבויות שכלולות ברמת Camera-core:1.0.0-alpha05.

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

    • השם של ImageCapture.UseCaseError השתנה ל-ImageCapture.ImageCaptureError
    • השם של VideoCapture.UseCaseError השתנה ל-VideoCapture.VideoCaptureError
  • נוסף API אחד (CameraControl) עם ממשקי API מסוג Tap-to-Focus

    • נוסף API לקבלת CameraControl מ- CameraX למצלמה, שנבחר באמצעות העדשה:

      CameraX.getCameraControl(LensFacing lensFacing)

    • נוספו MeteringPointFactory, MeteringPoint, MeteringMode וFocusMeteringAction להפעלת 'הקשה לפוקוס':

      MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height);
      MeteringPoint point = factory.createPoint(x, y);
      FocusMeteringAction action = FocusMeteringAction.Builder.from(point,
                                       MeteringMode.AF_ONLY)
          .addPoint(point2, MeteringMode.AE_ONLY) // could have many
          .setAutoFocusCallback(new OnAutoFocusListener(){
              public void onFocusCompleted(boolean isSuccess) {
              }
          })
          // auto calling cancelFocusAndMetering in 5 sec.
          .setAutoCancelDuration(5, TimeUnit.Second)
          .build();
      
    • נוסף API של CameraControl כדי להתחיל ולבטל של מדידת התמקדות:

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

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

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

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

    • CameraX.bindToLifecycle()
    • CameraX.unbind()
    • CameraX.unbindAll()
    • ImageAnalysis.setAnalyzer()
    • ImageAnalysis.getAnalyzer()
    • ImageAnalysis.removeAnalyzer()
    • Preview.removePreviewOutputListener()
    • Preview.getOnPreviewOutputUpdateListener()
    • Preview.setOnPreviewOutputUpdateListener()
  • הגדרות config שונות מקבלות עכשיו פרמטרים של null, ופרמטרים תואמים עלולים להחזיר את הערך null.

  • תוקנה בעיה במהלך בדיקה באמצעות אמולטורים שאינם תומכים בהגדרות AF/AE/AWB.

  • תוקן באג קריסה של סיבוב במהלך ניתוח תמונה.

  • תוקן באג שבו התצוגה המקדימה מופיעה בצבע שחור בהתחלה (ללא נתוני מצלמה), לאחר סיבוב או מעבר בין המצלמה הקדמית למצלמה האחורית.

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

  • נוספו בדיקות רובולקטריות ראשוניות למצלמה מזויפת בחבילת בדיקת המצלמה (WIP).

  • בדיקת Camera2Initizer הוסרה כי הכיסוי שלה לא היה ברור או מטעה.

מצלמה-מצלמה2 וגרסה 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 מסתמכת על יחסי רזולוציה/יחס גובה-רוחב שמבוססים על יכולת המכשיר כדי להתחיל סשן צילום כיעד הראשון שלו, ולכן ייתכן שבקשות מדויקות לא ייענו. הסיבה לכך עשויה להיות:

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

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

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

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

מצב ללא חסימה של 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.
  • תוקנה בעיה שבה מכשיר LEGACY דרש יחס גובה-רוחב ספציפי לרזולוציית JPEG מקסימלית
  • תוקנה בעיה בהפעלת האפליקציה ברקע כשהמצלמה נפתחה
  • תוקנה הבעיה ב-API < 25, מתבצעת הסרה של שגיאה checkAndUpdateEglState: invalid current EGLDisplay
  • תוקנה בעיה במהלך ביטול הקישור של התצוגה המקדימה לאחר הפעלה והפעלה של תוספים
  • פיתוח ארטיפקטים עבור ראיית מצלמה ותוספי מצלמה מפורסמים עכשיו כגרסאות אלפא

מצלמה-מצלמה2 וגרסה 1.0.0-alpha03

2 ביולי 2019

androidx.camera:camera-core:1.0.0-alpha03 ו-androidx.camera:camera-camera2:1.0.0-alpha03 שוחררו. גרסה 1.0.0-alpha03 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה הבהרה של Javadoc עבור 'target' בקריאות לתצורת setTarget

ליבת מצלמה

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

תוספים

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

גרסה 1.0.0-alpha02 של Camera- Camera2 ו- Camera-Core

5 ביוני 2019

androidx.camera:camera-core:1.0.0-alpha02 ו-androidx.camera:camera-camera2:1.0.0-alpha02 שוחררו. גרסה 1.0.0-alpha02 מכילה את התחייבויות אלה.

תיקוני באגים

  • תוקנה הבעיה 'div by אפס' בשימוש באמולטור
  • תוקנה שגיאה מסוג NullPointer שמאלs/Surface/Surface, שמתרחשת במכשירים מסוימים כשמצלמים במהירות תמונות תוך כדי ביטול הקישור והקישור של תרחישים לדוגמה במהירות.
  • תוקנה בעיה פנימית כדי להבטיח שעדכונים של בקשת תיעוד ישפיעו על כל הפלטפורמות באופן עקבי
  • שיפורי יציבות כשמפעילים מחדש תרחישים לדוגמה במופעים חדשים של אפליקציות
  • שינויים בארכיטקטורה הפנימית לצורך הכנה לקראת משתמשים תומכים ב-API
  • הבהרות נוספות ב-Javadoc לגבי ניהול מחלקה ומחזור חיים של CameraX
  • נוספו בדיקות אינסטרומנטליות לאפליקציה לבדיקת ביצועים של אנטילופה
  • הסרת הצורך לבצע ' -keepattributes Signature' הגדרת ProGuard באפליקציה

מצלמה-מצלמה2 ומצלמה ליבה 1.0.0-alpha01

7 במאי 2019

androidx.camera:camera-core:1.0.0-alpha01 והקבוצה androidx.camera:camera-camera2:1.0.0-alpha01 שוחררו. גרסה 1.0.0-alpha01 מכילה את התחייבויות אלה.

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

14 באוקטובר 2020

androidx.camera:camera-lifecycle:1.0.0-beta11 משוחרר. גרסה 1.0.0-בטא11 מכילה את ההתחייבויות האלה.

תיקוני באגים

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

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

23 בספטמבר 2020

androidx.camera:camera-lifecycle:1.0.0-beta10 משוחרר. גרסה 1.0.0-בטא10 מכילה את ההתחייבויות האלה.

תיקוני באגים

גרסה 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 כוללת את ההתחייבויות האלה.

תיקוני באגים

  • האתחול לא אמור יותר לקרוס בזמן השימוש בהקשר שאינו מחזיר אובייקט Application מ- 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-בטא06 מכילה את ההתחייבויות האלה.

שינויים ב-API

  • עכשיו ניתן להגדיר את CameraX עם ProcessמצלמהProvider#ConfigureInstance() לפני קריאה ProcessCameraProvider#getInstance(). כך אפשר להתאים אישית CameraXConfig ללא צורך בהטמעה של CameraXConfig.Provider במחלקה של האפליקציה. (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)

גרסה 1.0.0-beta04 של המצלמה

27 במאי 2020

androidx.camera:camera-lifecycle:1.0.0-beta04 משוחרר. גרסה 1.0.0-beta04 מכילה את התחייבויות אלה.

גרסה 1.0.0-beta03 של מחזור החיים של מצלמה

15 באפריל 2020

androidx.camera:camera-lifecycle:1.0.0-beta03 משוחרר. גרסה 1.0.0-beta03 מכילה את התחייבויות אלה.

תיקוני באגים

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

גרסה 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 של מחזור החיים של המצלמה

1 באפריל, 2020

androidx.camera:camera-lifecycle:1.0.0-beta02 משוחרר. גרסה 1.0.0-beta02 מכילה את התחייבויות אלה.

תיקוני באגים

  • עודכנה כדי לתמוך בתיקוני הבאגים בפריטי המידע שנוצרו בתהליך הפיתוח (Artifact) של camera-camera2:1.0.0-beta02 ו-camera-core:1.0.0-beta02.

גרסה 1.0.0-alpha10 של מצלמה

10 בפברואר 2020

androidx.camera:camera-lifecycle:1.0.0-alpha10 משוחרר. גרסה 1.0.0-alpha10 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה הערה אחת (@MainThread) ל-BinndToLifecycle, ביטול הקישור וביטול הקישור של כל השיטות. (I990d2)

גרסה 1.0.0-alpha03 של מחזור חיים של מצלמה

22 בינואר, 2020

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

עדכונים

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

גרסה 1.0.0-alpha02 של מחזור החיים של מצלמה

18 בדצמבר 2019

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

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

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

גרסה 1.0.0-alpha01 של מצלמה

4 בדצמבר 2019

androidx.camera:camera-lifecycle:1.0.0-alpha01 משוחרר. גרסה 1.0.0-alpha01 של מחזור החיים של המצלמה מכילה את ההתחייבויות האלה

הערות API

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

גרסה 1.0.0 – תוספי מצלמה וצפייה במצלמה

גרסה 1.0.0-alpha32

15 בדצמבר 2021

androidx.camera:camera-extensions:1.0.0-alpha32 ו-androidx.camera:camera-view:1.0.0-alpha32 שוחררו. גרסה 1.0.0-alpha32 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוסרו הערות @RequiresApi(21) מיותרות מהכיתות/הממשקים הפנימיים. (I8e286, b/204917951)
  • עדכון קובצי ה-API עבור פריט מידע שנוצר בתהליך הפיתוח (Artifact) של תוספי המצלמה. (If683a, b/161377155)

תיקוני באגים

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

גרסה 1.0.0-alpha31

17 בנובמבר 2021

androidx.camera:camera-extensions:1.0.0-alpha31 ו-androidx.camera:camera-view:1.0.0-alpha31 שוחררו. גרסה 1.0.0-alpha31 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוסף CameraSelector#filter ל-API הציבורי כדי לסנן רשימה של CameraInfos על סמך CameraSelector. (I105d0)

תיקוני באגים

  • תוקנה קריסה שגרמה למעבר מהיר למצב תוספים במכשירים מסוימים. (איבף)

גרסה 1.0.0-alpha30

13 באוקטובר 2021

androidx.camera:camera-extensions:1.0.0-alpha30 ו-androidx.camera:camera-view:1.0.0-alpha30 שוחררו. גרסה 1.0.0-alpha30 מכילה את התחייבויות אלה.

שינויים ב-API

  • נוספה הערת @RequiresApi(21) לכל המחלקות של CameraX והושמט minSdkVersion מ-AndroidManifest.xml. הפעולה הזו תאפשר ליבת הדגמה (דמו) כדי לשלב בקלות באפליקציות minSdkVersion פחות מ-21, אבל רוצה להשתמש בנתיבי קוד באופן מותנה שמסתמכים על API 21 ואילך. לכל אפליקציה עם minSdkVersion 21 ואילך, השינוי הזה לא מחייב שום פעולה. (Ie7f2e, b/200599470)

תיקוני באגים

  • תוקנה הבעיה AbstractMethodError שמתרחשת כש-proGuard מופעל. (Iae468, b/201177844)

גרסה 1.0.0-alpha29

29 בספטמבר 2021

androidx.camera:camera-extensions:1.0.0-alpha29 ו-androidx.camera:camera-view:1.0.0-alpha29 שוחררו. גרסה 1.0.0-alpha29 מכילה את התחייבויות אלה.

שינויים ב-API

  • הערה ניסיונית UseCaseGroup הוסרה עכשיו, כשממשקי ה-API כבר לא ניסיוניים. (I01ef5)
  • הסרה של RotationProvider#removeAllListeners(). במקומם יש להשתמש ב-RotationProvider#removeListener(...). (Id9d4a)
  • עודכן המחלקה RotationReceiver: שונתה ההגדרה 'set/clear Listener' ל-Add/remove/removeAll, להסרת הווריאציה של setListener שמשתמשת ב-thread הראשי כברירת מחדל ונוספה הערה של methods. (Ib1669)

תיקוני באגים

  • השם של ExtensionMode#BEAUTY שונה ל-FACE_RETOUCH כדי להציג בצורה נכונה את מה שנעשה במצב התוסף. (I61f54, b/198515274)
  • תוקנה הבעיה שהמצלמה נסגרה באופן בלתי צפוי כשנעשה שימוש במספר מצלמה וב-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

  • הערה ניסיוניתUseCaseGroupLifecycle תוסר עכשיו כשממשקי ה-API כבר לא יהיו ניסיוניים. (I17b85)
  • ארגון מחדש של RotationListener ומשנה את השם שלו ל-RotationProvider. הוא ממשיך לספק את אותה תכונה עם API מעט שונה. (Idffc5)
  • שנה את השם של TAP_TO_FOCUS_UNPROGRESSFUL ל-TAP_TO_FOCUS_NOT_FOCUSED ו-TAP_TO_FOCUS_PROGRESSFUL ל-TAP_TO_FOCUS_FOCused. Made OutputSize סופי (I099fa)

תיקוני באגים

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

גרסה 1.0.0-alpha27

21 ביולי 2021

androidx.camera:camera-extensions:1.0.0-alpha27 ו-androidx.camera:camera-view:1.0.0-alpha27 שוחררו. גרסה 1.0.0-alpha27 מכילה את התחייבויות אלה.

שינויים ב-API

  • קידמת את ה-API של אזור התצוגה במקום ניסיוני. צריך להסיר את ההערה הניסיונית של ה-API. (I717ea)
  • השם CoordinateTransform#getTransform שונה ל-CoordinateTransform#transform ועדכון JavaDoc (I864ae)

תיקוני באגים

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

גרסה 1.0.0-alpha26

30 ביוני 2021

androidx.camera:camera-extensions:1.0.0-alpha26 ו-androidx.camera:camera-view:1.0.0-alpha26 שוחררו. גרסה 1.0.0-alpha26 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת שיטה חדשה CameraController#getTapToFocusState() שחושפת את התוצאה העדכנית ביותר של הקשה למיקוד. (Iaccb0)
  • הוספת עוד תכונות של ליבת המצלמה ל- CameraController: ממירים/מגדירים ליחס גובה-רוחב של יעד, רזולוציית יעד, מצב צילום, CameraControl ואפליקציות מותאמות אישית. (Iea8f2)
  • מוסיפים מחלקה RotationReceiver שמקבלת שינויים בסבב פני השטח. ניתן להשתמש באפשרות הזו כדי להגדיר את סיבוב היעד כשהמכשיר נמצא במצב קבוע לאורך או לרוחב. (Ib278f)
  • ממשקי API ציבוריים חשופים של getestimatedCaptureLatencyRange במחלקה ExtensionsManager. (I6a8ec)
  • תוספיםErrorListener שהוצאו משימוש. נכון לעכשיו, הממשק הזה משמש רק כדי לעקוב אם חסרים מצבי תצוגה מקדימה או ImageCapture במהלך הפעלת מצבי תוספים. CameraX תוסיף באופן אוטומטי עוד Preview או ImageCapture כדי שהפונקציות של התוסף יפעלו כראוי. לאחר מכן לא ידווחו שגיאות דרך הממשק הזה. (I47d9e)
  • ממשקי API ציבוריים של תכונות חשופות של extensionsManager, isExtensionAvailable ו-getExtensionEnabledcamSelector, ממשקי API ציבוריים, ומחלקות <EffectName><UseCase>Extender ישנות וממשקי API קשורים שהוצאו משימוש. (I329e6)

גרסה 1.0.0-alpha25

2 ביוני 2021

androidx.camera:camera-extensions:1.0.0-alpha25 ו-androidx.camera:camera-view:1.0.0-alpha25 שוחררו. גרסה 1.0.0-alpha25 מכילה את התחייבויות אלה.

שינויים ב-API

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

תיקוני באגים

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

גרסה 1.0.0-alpha24

21 באפריל 2021

androidx.camera:camera-extensions:1.0.0-alpha24 ו-androidx.camera:camera-view:1.0.0-alpha24 שוחררו. גרסה 1.0.0-alpha24 מכילה את התחייבויות אלה.

תיקוני באגים

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

תוספים למצלמה צפייה בגרסה 1.0.0-alpha23

24 במרץ 2021

androidx.camera:camera-extensions:1.0.0-alpha23 ו-androidx.camera:camera-view:1.0.0-alpha23 שוחררו. גרסה 1.0.0-alpha23 מכילה את התחייבויות אלה.

שינויים ב-API

תיקוני באגים

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

תוספים למצלמה הצגת גרסה 1.0.0-alpha22

24 בפברואר 2021

androidx.camera:camera-extensions:1.0.0-alpha22 ו-androidx.camera:camera-view:1.0.0-alpha22 שוחררו. גרסה 1.0.0-alpha22 מכילה את התחייבויות אלה.

שינויים ב-API

תיקוני באגים

  • תוקנו תוספי ניתוחErrorListener כדי לדווח על שגיאות כאשר רק Preview או ImageCapture מקושרים. (I5ae39)

תוספים למצלמה הצגת גרסה 1.0.0-alpha21

27 בינואר, 2021

androidx.camera:camera-extensions:1.0.0-alpha21 ו-androidx.camera:camera-view:1.0.0-alpha21 שוחררו. גרסה 1.0.0-alpha21 מכילה את התחייבויות אלה.

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

תוספים למצלמה צפייה בגרסה 1.0.0-alpha20

16 בדצמבר 2020

androidx.camera:camera-extensions:1.0.0-alpha20 ו-androidx.camera:camera-view:1.0.0-alpha20 שוחררו. גרסה 1.0.0-alpha20 מכילה את התחייבויות אלה.

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

תוספים למצלמה גרסה 1.0.0-alpha19 של המצלמה

11 בנובמבר 2020

androidx.camera:camera-extensions:1.0.0-alpha19 ו-androidx.camera:camera-view:1.0.0-alpha19 שוחררו. גרסה 1.0.0-alpha19 מכילה את התחייבויות אלה.

תיקוני באגים

  • נוספה הערה אחת (@ExperimentalVideo) ל'צפייה במצלמה'. הערה זו מסמנת ממשקי API שחושפים פונקציונליות ניסיונית של וידאו והוא עשוי להשתנות בעקבות פיתוח מלא של התכונות. כלשהו ה-method באמצעות ממשקי ה-API האלה צריכה להשתמש בהערה @UseExperimental עם ExperimentalVideo בתור markerClass. (I6d729)

תוספי מצלמה, גרסה 1.0.0-alpha18

14 באוקטובר 2020

androidx.camera:camera-extensions:1.0.0-alpha18 משוחרר. גרסה 1.0.0-alpha18 מכילה את התחייבויות אלה.

תיקוני באגים

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

גרסה 1.0.0-alpha18 של המצלמה

14 באוקטובר 2020

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

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

תוספי מצלמה, גרסה 1.0.0-alpha17

23 בספטמבר 2020

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

תיקוני באגים

גרסה 1.0.0-alpha17 של המצלמה

23 בספטמבר 2020

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

תיקוני באגים

תוספי מצלמה, גרסה 1.0.0-alpha16

16 בספטמבר 2020

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

תיקוני באגים

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

גרסה 1.0.0-alpha16 של המצלמה

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(). הבעיה תיפתר בגרסה הבאה.
  • אם משתמשים ב-ViewPort עם PreviewView, יכול להיות שערכי MeteringPoint שהתקבלו מ-PreviewView#getMeteringPointFactory() שגויים.

תוספי מצלמה, גרסה 1.0.0-alpha15

19 באוגוסט 2020

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

תיקוני באגים

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

    גרסה 1.0.0-alpha15 של מצלמה

    19 באוגוסט 2020

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

תיקוני באגים

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

תוספי מצלמה, גרסה 1.0.0-alpha14

22 ביולי 2020

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

גרסה 1.0.0-alpha14 של המצלמה

22 ביולי 2020

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

תוספי מצלמה, גרסה 1.0.0-alpha13

24 ביוני 2020

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

תיקוני באגים

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

גרסה 1.0.0-alpha13 של המצלמה

24 ביוני 2020

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

תיקוני באגים

  • CameraView לא קורסת יותר עם legalArgumentError כשמקשרים לבעלים של מחזור חיים שמחזור החיים שלו עובר למצב DESTROYED זמן קצר אחרי שהגישה אליהם הוגבלה. קישור מחזורי חיים במצב 'מושבת' לא ינסה לפתוח את המצלמה. (I7c2b8)
  • PreviewView StreamState זמין עכשיו דרך CameraView.getPreviewStreamState() (I21a2b)

תוספי מצלמה, גרסה 1.0.0-alpha12

10 ביוני 2020

androidx.camera:camera-extensions:1.0.0-alpha12 משוחרר. גרסה 1.0.0-alpha12 מכילה את התחייבויות אלה.

תיקוני באגים

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

גרסה 1.0.0-alpha12 של המצלמה

10 ביוני 2020

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

תיקוני באגים

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

תוספי מצלמה, גרסה 1.0.0-alpha11

27 במאי 2020

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

גרסה 1.0.0-alpha12 של המצלמה

10 ביוני 2020

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

תכונות חדשות

שינויים ב-API

תיקוני באגים

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

גרסה 1.0.0-alpha11 של המצלמה

27 במאי 2020

androidx.camera:camera-view:1.0.0-alpha11 משוחרר. גרסה 1.0.0-alpha11 מכילה את התחייבויות אלה.

שינויים ב-API

  • הוספת ממשק API של PreviewView#getPreviewStreamState, מאפשרת לאפליקציות לראות אם התצוגה המקדימה משודרת או לא. מתי PreviewView היא במצב TEXTURE_VIEW, במצב STREAMING גם מבטיח שתמונת התצוגה המקדימה תהיה גלויה. (Ic0906, b/154652477)
  • נוסף ממשק ה-API של PreviewView#setDeviceRotationForRemoteDisplayMode() כדי לספק סיבוב מכשירים לחישובי טרנספורמציה אם האפליקציה פועלת במצב תצוגה מרחוק. (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)
  • צריך לעדכן את ה-API של CameraView#takePicture() כדי לאפשר שמירת תמונות ב-Uri וב-OutputStream. מעדכנים את אפליקציית הבדיקה כך שתשתמש ב-Uri כדוגמה הקנונית. (Ia2459, b/153607583)
  • אפשר להגדיר את סוג קנה המידה של PreviewView מפריסת XML על ידי הגדרת המאפיין ScaleType. (I08565, b/153015659)
  • CameraView.ScaleType הוסר. במקום זאת, צריך להשתמש ב-PreviewView.ScaleType כדי להגדיר/לקבל סוג של קנה מידה באמצעות CameraView. (Ia8974, b/153014831)
  • אם עוד לא עשיתם זאת, אפשר לבחור צבע רקע למכשיר PreviewView כברירת מחדל. ההגדרה הזו מונעת הצגה של התוכן שמאחוריו לפני התחלת התצוגה המקדימה של השידור. (I09fad)

תוספי מצלמה, גרסה 1.0.0-alpha10

15 באפריל 2020

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

תיקוני באגים

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

גרסה 1.0.0-alpha10 של המצלמה

15 באפריל 2020

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

תיקוני באגים

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

תוספי מצלמה, גרסה 1.0.0-alpha09

1 באפריל, 2020

androidx.camera:camera-extensions:1.0.0-alpha09 משוחרר. גרסה 1.0.0-alpha09 מכילה את התחייבויות אלה.

תיקוני באגים

  • עודכנה כדי לתמוך בתיקוני הבאגים בפריטי המידע שנוצרו בתהליך הפיתוח (Artifact) של camera-camera2:1.0.0-beta02, camera-core:1.0.0-beta02 ו-camera-lifecycle:1.0.0-beta02

גרסה 1.0.0-alpha09 של המצלמה

1 באפריל, 2020 androidx.camera:camera-view:1.0.0-alpha09 משוחרר. גרסה 1.0.0-alpha09 מכילה את התחייבויות אלה.

בעיות מוכרות

  • יכול להיות שהשימוש ב-ImplementationMode.SURFACE_VIEW עם PreviewView לא יפעל כמו שצריך במכשירים מסוימים. הסיבה לכך היא שה-SurfaceView שמשמש לתצוגה מקדימה מבטל את פני השטח שלו כשמחזור החיים של החלון שבו הוא נמצא נפסק, המצלמה נפתחת מחדש והיא עשויה לנסות להמשיך את התצוגה המקדימה לפני שהשטח של SurfaceView ייפתח שוב. בינתיים, צריך להשתמש בImplementationMode.TEXTURE_VIEW.

שינויים ב-API

  • השם של PreviewView.setImplementationMode() השתנה. השם החדש הוא PreviewView.setPreferredImplementationMode().
  • השם של PreviewView.getImplementationMode() השתנה. השם החדש הוא PreviewView.getPreferredImplementationMode().
  • הפונקציה PreviewView.getSurfaceProvider() הוחלפה ב-PreviewView.createSurfaceProvider(CameraInfo). הפונקציה הזו משתמשת במכונה CameraInfo עם ערך null שמשמשת לאופטימיזציה של תצוגה מקדימה על ידי שימוש ב-ImplementationMode.SURFACE_VIEW כשזה אפשרי. אם מועבר מופע null, או אם מגדירים את מצב ההטמעה המועדף בתור ImplementationMode.TEXTURE_VIEW, ייעשה שימוש ב-ImplementationMode.TEXTURE_VIEW באופן פנימי.
  • דוגמת הקוד הבאה ממחישה איך תרחיש לדוגמה של תצוגה מקדימה היה בשימוש בעבר עם 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.

  • צריך להוסיף API של createMeteringPointFactory() ל-PreviewView כדי לתמוך בהמרה (x, y) ב-PreviewView ל-MeteringPoint. (Ib36d7)

תיקוני באגים

  • מקרים מתוקנים שבהם מוצגת תצוגה מקדימה שגויה לאחר שהגודל של PreviewView השתנה. (I71101)

תוספי מצלמה, גרסה 1.0.0-alpha08

26 בפברואר 2020

androidx.camera:camera-extensions:1.0.0-alpha08 משוחרר. גרסה 1.0.0-alpha08 מכילה את התחייבויות אלה.

גרסה 1.0.0-alpha08 של המצלמה

26 בפברואר 2020

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

תיקוני באגים

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

תוספי מצלמה, גרסה 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 של תצוגת מצלמה

10 בפברואר 2020

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

שינויים ב-API

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

תיקוני באגים

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

תוספי מצלמה, גרסה 1.0.0-alpha06

22 בינואר, 2020

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

עדכונים

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

גרסה 1.0.0-alpha06 של המצלמה

22 בינואר, 2020

androidx.camera:camera-view:1.0.0-alpha06 משוחרר. גרסה 1.0.0-alpha06 מכילה את התחייבויות אלה.

עדכונים

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

תוספי מצלמה, גרסה 1.0.0-alpha05

18 בדצמבר 2019

androidx.camera:camera-extensions:1.0.0-alpha05 משוחרר. גרסה 1.0.0-alpha05 מכילה את התחייבויות אלה.

תיקוני באגים

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

גרסה 1.0.0-alpha05 של המצלמה

18 בדצמבר 2019

androidx.camera:camera-view:1.0.0-alpha05 משוחרר. גרסה 1.0.0-alpha05 מכילה את התחייבויות אלה.

בעיות מוכרות

  • יחס הגובה-רוחב עשוי להיות שגוי כשמשתמשים ב-PreviewView (b/146215202).

תכונות חדשות

  • הטמענו מחלקה חדשה בשם PreviewView.TextureViewImplementation שמסנכרנת את מחזור החיים של SurfaceTexture עם השימוש של המצלמה במשטח של TextureView.

תוספי מצלמה, גרסה 1.0.0-alpha04

4 בדצמבר 2019

androidx.camera:camera-extensions:1.0.0-alpha04 משוחרר. גרסה 1.0.0-alpha04 של תוספי המצלמה כוללת את התחייבויות אלה

שינויים ב-API

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

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

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

גרסה 1.0.0-alpha04 של המצלמה

4 בדצמבר 2019

androidx.camera:camera-view:1.0.0-alpha04 משוחרר. גרסה 1.0.0-alpha04 של 'צפייה במצלמה' מכילה את התחייבויות אלה

שינויים ב-API

  • מקבלים מחלקה PreviewView כדי להציג בקלות את הפלט מהתרחיש לדוגמה של Preview באפליקציה.
  • אפשר לכלול את PreviewView בפריסה:

    <androidx.camera.view.PreviewView
      android:id="@+id/preview_view"
      … />
    
  • התוסף PreviewView מספק PreviewSurfaceProvider כדי לחבר בקלות תרחיש לדוגמה של תצוגה מקדימה

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • השם 'ZoomLevel' נקרא עכשיו 'ZoomRatio' בשם ה-API

  • חלק מהפרמטרים של השיטה השתנו תכונת ה-null

תוספי מצלמה וגרסה 1.0.0-alpha03

9 באוקטובר 2019

androidx.camera:camera-extensions:1.0.0-alpha03 ו-androidx.camera:camera-view:1.0.0-alpha03 שוחררו. אלו ההתחייבויות שכלולות בcamera-extensions:1.0.0-alpha03 ואלה ההתחייבויות שכלולות בcamera-view:1.0.0-alpha03.

תכונות חדשות

  • נוסף מאתחל לפי הקשר עבור תוספים. גרסת התוספים עלתה ל-1.1.0

תוספי מצלמה וגרסה 1.0.0-alpha02

5 בספטמבר 2019

androidx.camera:camera-extensions:1.0.0-alpha02 והקבוצה androidx.camera:camera-view:1.0.0-alpha02 שוחררו. אלה סוגי המודלים ההתחייבויות שכלולות בתוספי המצלמה:1.0.0-alpha02 ואלו ההתחייבויות שכלולות מצלמה-view:1.0.0-alpha02.

  • נוספו בדיקות כדי לאמת שההטמעה של PreviewImageProcessorImpl בוצעה כמו שצריך חותמות זמן.
  • צריך לתקן כשל בבדיקה של ExtensionTest ב-Nexus 5 (רמת API 21) ולוודא תצוגה מקדימה זמין.

תוספי מצלמה וגרסה 1.0.0-alpha01

7 באוגוסט 2019

androidx.camera:camera-extensions:1.0.0-alpha01 והקבוצה androidx.camera:camera-view:1.0.0-alpha01 שוחררו. אלה סוגי המודלים ההתחייבויות שכלולות בתוספי המצלמה:1.0.0-alpha01 ואלו ההתחייבויות שכלולות מצלמה-view:1.0.0-alpha01

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