מצלמהX
בטבלה הזו מפורטים כל פריטי המידע שנוצרו בתהליך הפיתוח (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 | - | - |
בדיקת מכשירים
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
באמצעות ה-methodsExtensionsManager#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
- תכונות וידאו, כולל HDR באיכות 10 ביט, חיתוך, שיקוף/ללא שיקוף, השתקה/ביטול השתקה, הגדרת קצב פריימים ועוד.
- מצלמה כפולה בו-זמנית
- ספריית האפקטים
- בורר רזולוציה
- Ultra-wide & בחירת מצלמה טלסקופית
- מעבר בין מצלמות במהלך צילום וידאו (תכונה ניסיונית)
גרסה 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
ולהוציא משימוש את ה-APIImageAnalysis.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 ציבוריים למצלמות כפולות בו-זמנית, כולל
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
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
מוחלפות ב-methodsgetVideoCaptureTargetQuality
ו-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 מכילה את ההתחייבויות האלה.
תיקוני באגים
- תוקן כשל באתחול במכשירי UMIDIGI BISON (I57d9e, b/180818665)
גרסה 1.0.0-rc03
24 בפברואר 2021
androidx.camera:camera-camera2:1.0.0-rc03
, androidx.camera:camera-core:1.0.0-rc03
ו-androidx.camera:camera-lifecycle:1.0.0-rc03
שוחררו. גרסה 1.0.0-rc03 מכילה את ההתחייבויות האלה.
תיקוני באגים
- תיקון שגיאה בפורמט של המסמך
ProcessCameraProvider#getInstance
- תוקן הכשל בבדיקת Robolectric כשנעשה שימוש ב-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 מכילה את ההתחייבויות האלה.
תיקוני באגים
- צריך להשיק את הגרסה לתמיכה בגרסה 1.0.0-beta10 של Camera-Core
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()
מוחלפות ב-constructorFocusMeteringAction.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
- API של
הוספנו את נתוני 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-beta10 של Camera-Core
גרסה 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
ל-APIgetInstance()
. כדי שהמשתמשים לא יצטרכו להזין את הפרמטר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
- אנחנו מוציאים משימוש את CameraView. במקומם יש להשתמש ב-
LifecycleCameraController
. לעיון במדריך להעברת נתונים (מיגרציה) (Idac2c) - נוספה הערת FloatRange ל-setLinearZoom() (I69971)
תיקוני באגים
- יחסי תלות של צפייה במצלמה מוצמדים כדי להסתמך על ארטיפקטים של 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
- הוספת getter של CameraInfo אל CameraController. (Ib8138, b/178251727)
תיקוני באגים
- תוקנו תוספי ניתוח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-beta10 של Camera-Core
גרסה 1.0.0-alpha17 של המצלמה
23 בספטמבר 2020
androidx.camera:camera-view:1.0.0-alpha17
משוחרר. גרסה 1.0.0-alpha17 מכילה את התחייבויות אלה.
תיקוני באגים
- צריך להשיק את הגרסה לתמיכה בגרסה 1.0.0-beta10 של Camera-Core
תוספי מצלמה, גרסה 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
- ספרייה חדשה לתוספי מצלמה עתידיים לגישה לאפקטים במכשירים נתמכים. הספרייה הזו נמצאת בשלבי פיתוח.
- שיעור חדש של תצוגת מצלמה. הספרייה הזו נמצאת בשלבי פיתוח.