CameraX
בטבלה הזו מפורטים כל פריטי המידע בקבוצה androidx.camera.
| פריט מידע שנוצר בתהליך פיתוח (Artifact) | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| camera-camera2 | 1.5.3 | 1.6.0-rc01 | - | - |
| camera-core | 1.5.3 | 1.6.0-rc01 | - | - |
| camera-compose | 1.5.3 | 1.6.0-rc01 | - | - |
| camera-effects | 1.5.3 | 1.6.0-rc01 | - | - |
| camera-extensions | 1.5.3 | 1.6.0-rc01 | - | - |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| camera-lifecycle | 1.5.3 | 1.6.0-rc01 | - | - |
| camera-mlkit-vision | 1.5.3 | 1.6.0-rc01 | - | - |
| camera-view | 1.5.3 | 1.6.0-rc01 | - | - |
| camera-viewfinder | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| camera-video | 1.5.3 | 1.6.0-rc01 | - | - |
בדיקת מכשירים
אנחנו בודקים את CameraX במכשירים רבים במעבדה שלנו. רשימת המכשירים שנבדקו במעבדה זמינה במאמר מכשירים שנבדקו במעבדה של CameraX.
הצהרה על יחסי תלות
כדי להוסיף תלות ב-CameraX, צריך להוסיף את מאגר Google Maven לפרויקט. מידע נוסף זמין במאמר מאגר ה-Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.6.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.6.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. נשמח לדעת אם גיליתם בעיות חדשות או אם יש לכם רעיונות איך לשפר את הספרייה הזו. כדאי לעיין בבעיות הידועות בספרייה הזו לפני שמדווחים על בעיה. כדי להוסיף הצבעה בדיווח על בעיה קיימת, לוחצים על כפתור הכוכב.
מידע נוסף זמין במאמרי העזרה בנושא Issue Tracker.
גרסה 1.0 של Camera Viewfinder Compose
גרסה 1.0.0-alpha02
12 ביוני 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 מופץ. גרסה 1.0.0-alpha02 מכילה את השמירות האלה.
גרסה 1.0.0-alpha01
14 במאי 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 מופץ. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.
תכונות חדשות
- ספרייה חדשה. הספרייה הזו כוללת קומפוננטה Viewfinder שניתנת להרכבה ב-Compose, שאפשר להשתמש בה עם CameraX ו-Camera2. רכיב ה-Viewfinder שניתן להרכבה תומך ביחסי גובה-רוחב שונים ובטיפול באירועי מגע.
גרסה 1.4 של עינית המצלמה
גרסה 1.4.0-alpha07
12 ביוני 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07 וגם androidx.camera:camera-viewfinder-core:1.4.0-alpha07 מופצים. גרסה 1.4.0-alpha07 מכילה את השמירות האלה.
גרסה 1.4.0-alpha06
14 במאי 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06 וגם androidx.camera:camera-viewfinder-core:1.4.0-alpha06 מופצים. גרסה 1.4.0-alpha06 מכילה את השמירות האלה.
שינויים ב-API
- שינוי השם של
Viewfinder'sImplementationModeEnums כדי לשקף טוב יותר את היישומים הבסיסיים, והוספה של קבועים קבועים ל-TransformationInfo.sourceRotation. (Ic6149) - נוסף
ZoomGestureDetector.ZoomEventכדי להגדיר את המצבים של תנועת זום. (I84cdf)
גרסה 1.6 של המצלמה
גרסה 1.6.0-rc01
25 בפברואר 2026
androidx.camera:camera-*:1.6.0-rc01 מופץ. גרסה 1.6.0-rc01 מכילה את השמירות האלה.
גרסה 1.6.0-beta02
11 בפברואר 2026
androidx.camera:camera-*:1.6.0-beta02 מופץ. גרסה 1.6.0-beta02 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה ב
ImageCaptureOUTPUT_FORMAT_RAW_JPEG בצילום בזיכרוןIllegalArgumentException. (Id4eec, b/479990902) - הועבר ל-AndroidX Media3 muxer. הבעיה תוקנה: 1. קובץ וידאו פגום במהלך הפסקות לא צפויות או סגירת האפליקציה. 2. קריסות בזמן שמירת סרטונים בתיאורי קבצים של שרת proxy. (I23b63, b/433649708, b/264812009, b/475750115)
גרסה 1.6.0-beta01
28 בינואר 2026
androidx.camera:camera-*:1.6.0-beta01 מופץ. גרסה 1.6.0-beta01 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה בגרסה CameraX 1.6.0-alpha שקשורה לסוג הנוכחי, שבה אובייקט LiveData לא יכול לקבל את נתוני הסוג המעודכנים.
CameraExtensionsInfo(I2c7a5) - עודכן יחסי התלות של ExifInterface כדי לכלול תיקון לניתוח קובצי JPEG עם ריפוד 0xFF, וכך נפתרה בעיה של כשלים בצילום תמונות במכשירים שבהם מקודד ה-JPEG מוסיף בייטים של מילוי לפני סמנים. (I0eb49)
גרסה 1.6.0-alpha02
17 בדצמבר 2025
androidx.camera:camera-*:1.6.0-alpha02 מופץ. גרסה 1.6.0-alpha02 מכילה את השמירות האלה.
תכונות חדשות
- נוספה תכונה שניתן לקבץ כדי לציין את התכונה 'ייצוב וידאו' בהגדרת סשן. מפתחים יכולים עכשיו לבקש ייצוב וידאו כתכונה נדרשת או מועדפת, בהתאם לתכונות אחרות שאפשר לקבץ כמו UHD_RECORDING ו-PREVIEW_STABILIZATION. (Ic6757, b/419766630)
- נוספו תכונות שניתנות לקיבוץ כדי לציין את איכות הקלטת הווידאו בהגדרת סשן. מפתחים יכולים עכשיו לבקש איכות ספציפית (למשל, UHD, FHD) כתכונה נדרשת או מועדפת, וכך היא תהיה דומה לתכונות אחרות שאפשר לקבץ כמו HDR ו-60 FPS. (Ib5cd3, b/437820285)
- הוספנו תמיכה בשימוש ב-
CameraEffectוב-API של קבוצות התכונות ב-SessionConfig. (I17f18, b/406370934) - הוספנו תמיכה בשימוש ב-
ImageAnalysisוב-API של קבוצות התכונות ב-SessionConfig. (I87833, b/406371720)
שינויים ב-API
- נוספה פונקציית setter
addUseCaseל-ExtensionSessionConfig.Builder, ונוספו פונקציות getter חסרות ל-ExtensionSessionConfig. (I71e07, b/453988621) - נוסף API
ExtensionsManager.getInstanceשהוא גרסה עם השהיה שלExtensionsManager.getInstanceAsync(I3a0a9, b/452208792) - שינינו את השם של
isFeatureGroupSupportedל-isSessionConfigSupported, והוספנו תמיכה בכל סוגיSessionConfig. (I21616, b/448781299) - המרת
ExtensionsManagerלהטמעה ב-Kotlin. (I73091, b/452208792) - נוספה האפשרות
CameraProvider#getCameraInfo(CameraSelector, SessionConfig)לאחזורCameraInfoכשהאפשרותSessionConfigיכולה להשפיע על בחירת המצלמה. לדוגמה, כשמשתמשים ב-ExtensionSessionConfig. (Ic548c, b/451891648) - API חשוף של
ExtensionSessionConfig. אפליקציות יכולות ליצורExtensionSessionConfigולהשתמש בו כדי ליצור סשן של תוספים עכשיו. (I6354c, b/448524373) -
androidx.camera.video.HighSpeedVideoSessionConfigAPI כבר לא נמצא בשלב הניסוי, ועכשיו הוא API ציבורי ויציב לחלוטין. (I492d4, b/447558239) -
androidx.camera.core.SessionConfigAPI כבר לא נמצא בשלב הניסוי, ועכשיו הוא API ציבורי ויציב לחלוטין. (Idc87a, b/447558437)
תיקוני באגים
- תוקנה קריסה שנגרמה בגלל
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:ב-Android 17 ואילך. (Ibd7b5, b/463465353) - החרגנו גדלים של פלט בפורמט YUV בעייתי ממכשיר Samsung Z Fold 4. כשמשתמשים בגדלי הפלט האלה, יש בעיה של עיוות בתמונות שמתקבלות. (I776bf, b/460322307)
- תוקנה הבעיה שבה ההגדרה
CaptureRequest.FLASH_MODEלא הוחלה כשהיא הוגדרה דרךCamera2InteropAPI. (I0004c, b/459608684) - תוקנה בעיה ספציפית למכשיר Samsung A53 שבה צילום תמונות עם פנס מופעל נכשל לפעמים אם מקרה השימוש
VideoCaptureמאוגד. (I0f183, b/458197367) - תוקנה בעיה במכשירים מסוימים שבה השימוש בפלאש עם מצלמת ה-Ultrawide עלול לגרום לתמונות עם חשיפה נמוכה מדי. (Ib7530, b/444590340)
גרסה 1.6.0-alpha01
22 באוקטובר 2025
androidx.camera:camera-*:1.6.0-alpha01 מופץ. גרסה 1.6.0-alpha01 מכילה את השמירות האלה.
תכונות חדשות
- הספרייה CameraX עברה לסט כלים מאוחד ומתקדם למצלמה, שמשמש גם את אפליקציית המצלמה של Pixel. סט הכלים החדש הזה, שנקרא
CameraPipe, הוא תוצאה של שיתוף פעולה בין הצוותים של CameraX ומצלמת Pixel. כך אנחנו מוודאים שכל השיפורים משותפים, ושהם מועילים גם למשתמשי CameraX וגם למשתמשי אפליקציית המצלמה ב-Pixel.
שינויים ב-API
- נוספו ממשקי API חדשים לזיהוי דינמי של הוספה או הסרה של מצלמות. פרטים נוספים זמינים במאמר בנושא
CameraPresenceListenerAPI. (I41ead, b/427182232, b/419441394)
תיקוני באגים
- ה-API של קבוצת התכונות מספק עכשיו תוצאות עקביות כשמשתמשים ב-
PREVIEW_STABILIZATIONעםVideoCapture. התיקון הזה פותר באג שגרם לתוצאות לא עקביות כשלא היה פעיל גם תרחיש שימוש שלPreview. (Ifed82, b/449913903) - תוקנה בעיה שבה תכונות מועדפות שלא נתמכות היו זמינות באופן שגוי. הסינון של התכונות מתבצע עכשיו בצורה נכונה כשלא מתקיימים תרחישי השימוש הנדרשים. (I38db8, b/449532342)
- תוקנה בעיה שגרמה לתוצאות וידאו עם תקלות ב-Samsung Galaxy S6. (I612d9, b/235127608)
- תוקנה בעיה שבה
CameraInfo#isFeatureGroupSupportedיכול היה להחזיר את הערך true עבורPREVIEW_STABILIZATIONבצורה שגויה אםSessionConfigבשאילתה כבר הוגדר עם תכונות אחרות. (I2c355c, b/437816469)
גרסה 1.5 של המצלמה
גרסה 1.5.3
28 בינואר 2026
androidx.camera:camera-*:1.5.3 מופץ. גרסה 1.5.3 מכילה את השמירות האלה.
תיקוני באגים
- התלות ב-ExifInterface עודכנה לגרסה 1.4.2. העדכון הזה מתקן כשל בצילום תמונות שמתרחש במכשירים שמפיקים קובצי JPEG עם בייטים נוספים (ומותרים) של 0xFF לפני סמן. (I16df4)
גרסה 1.5.2
4 בדצמבר 2025
androidx.camera:camera-*:1.5.2 מופץ. גרסה 1.5.2 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה קריסה שנגרמה בגלל
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:ב-Android 17 ואילך. (Ic9184) - תוקן באג שגרם לתוצאות לא עקביות של feature group API כשנוסף מאפיין
PREVIEW_STABILIZATIONעם תרחיש שימושVideoCapture, אבל בלי תרחיש שימושPreview. (Ifed82) - תוקנה בעיה שבה תכונות מועדפות קבועות לא סוננו למרות שלא היו תרחישי שימוש נדרשים לתמיכה בתכונות. (I38db8)
גירסה 1.5.1
8 באוקטובר 2025
androidx.camera:camera-*:1.5.1 מופץ. גרסה 1.5.1 מכילה את השמירות האלה.
תיקוני באגים
- תמיכה ב-
CameraEffectבמצב של קומפוזיציה בו-זמנית של המצלמה. האפקט יופעל על פלט ההרכב. שימו לב: המדיניותmirrorModeב-VideoCaptureתתעלם מההגדרה כשהאפקט מוגדר במצב של קומפוזיציה במצלמה בו-זמנית. (If3d00, b/425565129) - תוקנה הבעיה שבה
mirrorModeלא מוחל בצורה נכונה על המצלמה המשנית במצב של קומפוזיציה של מצלמות בו-זמנית. (I686cd, b/446430827) - תמיכה בקישור של
Preview,ImageCaptureו-VideoCaptureיחד במצב מצלמה לא מורכב בו-זמנית. (Ib410a, b/443009871) - תוקנה בעיה שבה תרחישי שימוש כמו
ImageCaptureו-VideoCaptureאיבדו את פרטי הרוטציה של הטירגוט אם הם נוצרו מחדש. אם משנים הגדרה כמוimageCaptureModeאחרי שמסובבים את המכשיר, יכול להיות שהתמונות או הסרטונים יהיו בכיוון לא נכון. (I477c8, b/444734537) - תוקנה הבעיה שמנעה את הבחירה ברזולוציות של 16:9 בתצוגה המקדימה ואת ההקלטה ב-QUALITY_1080P ב-
VideoCapture. הבעיה הזו התרחשה כשנעשה שימוש בהגדרת רזולוציה של תצוגה מקדימה שמוגדרת כברירת מחדל, בזמן שהתכונה הפנימיתStreamSharingהייתה פעילה (למשל, כשארבעה UseCases קשורים בו-זמנית). (I493cb, b/440364875) - תוקנה הקריסה שמתרחשת כשהאפקט מופעל אחרי ש-
SurfaceProcessorמושבת (I2c450, b/414150174) - תוקן באג ב-
CameraControllerשגרם ל-IllegalStateExceptionכשבתרחיש שימוש ראשוני נבחרה הרזולוציה המקסימלית, מה שמנע לאחר מכן את הקישור של תרחישי שימוש אחרים. (Ifb758, b/440374234) - לא כולל גדלי פלט בעייתיים של YUV_420_888 עבור Nokia 7 Plus, שיגרמו לבעיה של כשל שקט ללא דיווח על הודעות שגיאה. (I3af47, b/436524501)
- תוקנה בעיה שבה הפונקציה
CameraInfo#isFeatureGroupSupportedיכלה להחזיר ערך true באופן שגוי עבור התכונהPREVIEW_STABILIZATION. זה יכול לקרות לפעמים כשמבצעים שאילתה עםSessionConfigשכבר הוגדר עם תכונות אחרות. (I2c355, b/437816469) - שיפרנו את היציבות של
CameraXViewfinderברמות API ישנות יותר ובמכשירים עם בעיות ב-SurfaceView. במקרים כאלה, ברירת המחדל היאTextureView. מנגנון הנסיגה הזה הוא ברירת המחדל החדשה, אבל אפשר לשנות אותו באופן פרוגרמטי. (Ieb476, b/437496463) - תוקן דליפת זיכרון ב-
PreviewView, שעלולה למנוע איסוף אשפה של הפעילות. המצב הזה קורה אםSurfaceRequestחדש מגיע לפני שהטיפול בקוד הקודם מסתיים. (I4aa0b,b/443112512) - תוקנה בעיה שגרמה לכך שצילום בהילוך איטי או מהיר נכשל במכשירים Huawei P smart, Infinix Hot 40i ו-Realme C53. (40a668e, b/442984200)
גרסה 1.5.0
10 בספטמבר 2025
androidx.camera:camera-*:1.5.0 מופץ. גרסה 1.5.0 מכילה את השמירות האלה.
שינויים חשובים מאז גרסה 1.4.0:
- צילום במהירות גבוהה ובהילוך איטי: אפשר לשלב בקלות צילום סרטונים במהירות גבוהה (120/240 פריימים לשנייה) ובהילוך איטי עם מינימום קוד. פרטים נוספים מופיעים במאמרים
Recorder#getHighSpeedVideoCapabilities(CameraInfo)וHighSpeedVideoSessionConfig. -
SessionConfigו-FeatureGroupAPI: ה-SessionConfigAPI החדש מאפשר להגדיר את סשן המצלמה ולהפעיל כמה תכונות יחד בצורה בטוחה, כולל HLG (HDR), UltraHDR, 60 FPS וייצוב התצוגה המקדימה. אפשר גם להגדיר קבוצת תכונות מועדפת עם עדיפות, כדי לאפשר ל-CameraX לקבוע את השילוב הנתמך האופטימלי. מידע נוסף זמין במאמרים בנושאSessionConfig.Builder#setPreferredFeatureGroup,SessionConfig.Builder#setRequiredFeatureGroupו-CameraInfo#isFeatureGroupSupported(SessionConfig). - Deterministic Frame Rate API: כדי לטפל במגבלות קודמות של
setTargetFrameRate, אפשר להשתמש ב-CameraInfo.getSupportedFrameRateRanges(sessionConfig)כדי לשלוח שאילתות וב-SessionConfig.setExpectedFrameRateRangeכדי להגדיר קצב פריימים מדויק ונתמך. - תוספים למצלמה: יש עכשיו תמיכה בפורמט UltraHDR בתוספים. מסמנים את התיבה לצד
ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats()ומפעילים אותה ב-ImageCapture.Builder.setOutputFormat. כשמפעילים תוספים, יחס הזום ויכולות הייצוב של התצוגה המקדימה מוצגים עכשיו. - עוצמת הפנס: אפשר לשנות את עוצמת הפנס באמצעות
CameraControl.setTorchStrengthLevel. - מצב שיפור בתאורה נמוכה: אפשר להפעיל את מצב השיפור בתאורה נמוכה(
CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) באמצעות ממשקי ה-API הבאים:CameraInfo#isLowLightBoostSupported,CameraInfo#getLowLightBoostStateו-CameraControl#enableLowLightBoostAsync. - צילום וידאו:
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEמופעל עכשיו אם אין מספיק נפח אחסון במהלך ההקלטה.PendingRecording.withAudioEnabled(boolean initialMuted)מאפשרת לשלוט במצב ההשתקה הראשוני של הקלטת האודיו. - Image Capture: תמיכה בפורמטים DNG (RAW) ו-JPEG + DNG (RAW) ב-
ImageCapture. בודקים אם יש תמיכה ב-RAW ב-ImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats(). שימוש ב-API עם עומס יתר שלtakePictureעם כמהOutputFileOptionsלצילום בפורמט RAW+DNG. - ניתוח תמונות: תמיכה בפורמט NV21 ב-
ImageAnalysis. מפעילים אותו באמצעותImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21).
גרסה 1.5.0-rc01
13 באוגוסט 2025
androidx.camera:camera-*:1.5.0-rc01 מופץ. גרסה 1.5.0-rc01 מכילה את השמירות האלה.
תיקוני באגים
- העברת ברירת המחדל של minSdk מ-API 21 ל-API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
- הוסרה ההגבלה על פלט של 10 ביט במצב חשיפה אוטומטית של שיפור תאורה חלשה. אפליקציות יכולות עכשיו להפעיל בו-זמנית את שתי התכונות במכשירים נתמכים. (I5a638)
- תוקנה בעיה שגרמה למכשירים עם ערכות שבבים מסוג
UniSocלהיתקע בזמן צילום תמונה. הבעיה התרחשה כשנעשה שימוש ב-VideoCapture, ב-Previewוב-ImageCaptureבו-זמנית, וכל הזרמים הוגדרו לרזולוציה של 1280x720. (Ia00c4, b/380802479) - תוקן באג שגרם למסך שחור בתצוגה המקדימה כשלא הוגדר קצב פריימים גבוה להקלטה במהירות גבוהה או בהילוך איטי. (cdf0ff2e9)
- שיפור הטיפול בשגיאות והרישום ביומן ב-
getViewportAspectRatioInt(82fca18)
גרסה 1.5.0-beta02
16 ביולי 2025
androidx.camera:camera-*:1.5.0-beta02 מופץ. גרסה 1.5.0-beta02 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו ממשקי API חדשים להגדרת קבוצות של תכונות באיכות גבוהה או לשליחת שאילתות לגביהן בצורה אינטואיטיבית ומדויקת יותר, כי יכול להיות שהתכונות האלה לא נתמכות כשילוב בכל המכשירים.
SessionConfigכולל עכשיו ממשקי API חדשים לציון קבוצת תכונות כנדרשות או מועדפות. CameraInfo.isFeatureGroupSupportedAPI מאפשר לדעת אם קבוצת תכונות נתמכת לפני שמקשריםSessionConfig. SessionConfigמאפשר גם להגדיר מאזין כדי לדעת אילו תכונות נבחרו בסופו של דבר כשמגדירים את התצורה של הסשן. (Ie4d60) - הוספנו את ממשקי ה-API החדשים
SessoinConfig.Builder.setFrameRateRange(Range<Integer>)ו-CameraInfo.getSupportedFrameRateRanges(SessionConfig), שמאפשרים למפתחים לשלוח שאילתה לגבי קצבי פריימים נתמכים מובטחים שמוגבלים על ידיSessionConfigספציפי, ואז להחיל את קצב הפריימים עלSessionConfig. (Ieacf7) - הוספנו את ה-API החדש של
SessionConfig, שכולל הפשטה טובה יותר להגדרת תרחישי שימוש, פרמטרים של סשנים,CameraEffect,ViewPortוכו'. קישור שלSessionConfigל-LifecycleOwner פותח את סשן המצלמה, מגדיר אותו באמצעות תרחישי השימוש והפרמטרים של הסשן שצוינו ומחיל אתCameraEffectו-ViewPortשנקבעו. כשמעדכניםSessionConfigחדש לאותוLifecycleOwner, אפשר פשוט לקשרSessionconfigחדש בלי להפעיל קודם את ביטול הקישור או אתunbindAll. (Iedfc3) - הוספנו ממשקי API חדשים לצילום סרטונים במהירות גבוהה או בהילוך איטי. פרטים נוספים זמינים במאמר בנושא
HighSpeedVideoSessionConfigAPI. (Ia16f3)
תיקוני באגים
- תוקנה בעיה שבה
ImageCaptureCapabilities#getSupportedOutputFormats()API דיווח על פורמטים של RAW כנתמכים בחלק מהמכשירים, למרות שבפועל אין להם יכולת RAW. (Ibcadb) - תוקנה דליפת הזיכרון שקורית כשמשתמשים ב-
PreviewView, כש-CameraEffectמופעל או כשמבצעים קישור של 4 תרחישי שימוש(StreamSharing) (I87468) - תוקנה קריסת הקלטת סרטון על ידי
AssertionError: מצב אודיו פנימי לא תקין: IDLING. (I38d4b, b/414259796) - תוקנה הבעיה שבה כשהאפליקציה פועלת במסך חיצוני והמכשיר נמצא במצב לרוחב, התצוגה המקדימה ב-
PreviewViewנמתחת או מוצגת לרוחב (Ia917a) - תוקנה הבעיה שבה הגדרות הייצוב של התצוגה המקדימה לא מוחלות בצורה נכונה כשהשידור מהמצלמה משותף בין התצוגה המקדימה לבין VideoCapture.(I5430e)
-
CameraXViewfindernow properly handles surface replacement in the underlyingViewfinder. התרחישים האלה כוללים מצבים שבהםEXTERNALviewfinder ברמת API 28 ומטה יוצא מהמסך, או אםCameraXViewfinder(עםImplementationModeכלשהו) הוא חלק מ-moveableContentOf(). במקרים שבהם אי אפשר לשמור על הפעילות שלViewfinderSurfaceSessionהבסיסי,CameraXViewfinderיבטל את התוקף שלSurfaceRequestהנוכחי של CameraX, ויאפשר ל-CameraX להשתמש ב-Surfaceהחדש. (I79432) - תוקנה בעיה ב-Android 10/11 שבה
EXTERNALCameraXViewfinderיכול להופיע מתוח או לא תקין בגלל פעולות שינוי (כמו שינוי גודל או תרגום) שמוחלות מוקדם מדי. המערכת מחכה עכשיו ליצירת הרכיב Surface לפני שהיא מחילה את השינויים האלה בשלב הפריסה, כדי להבטיח פלט נכון. (Icc77c) - Composable
CameraXViewfinderפועל עכשיו בצורה תקינה עםPagerשל Compose. השינוי הזה מבטיח שאפשר לאפס את ה-Composable בהצלחה על ידי הטמעה של הקריאה החוזרת (callback)onResetשלAndroidView, עם תמיכה בהטמעות שלEMBEDDEDושלEXTERNAL. (I0d9be) - תוקן דליפת בעלים של מחזור חיים שמתרחשת כשמבטלים את הקישור של תרחישי שימוש לבעלים של מחזור חיים בלי לסגור את ספק המצלמה.
גרסה 1.5.0-beta01
7 במאי 2025
androidx.camera:camera-*:1.5.0-beta01 מופץ. גרסה 1.5.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
- כדי להשתמש בפרויקטים שפורסמו עם Kotlin 2.0, צריך KGP 2.0.0 או גרסה חדשה יותר (Idb6b5)
- אפשר להשתמש עכשיו בלחצנים
ContentScaleו'יישור' בתוך העינית כדי לשנות את גודל המשטח המוצג ולמקם אותו בתוך המאגר שלו, באופן דומה לשימוש בלחצןandroidx.compose.foundation.Image. (Ibcea3) -
TransformationInfoכולל עכשיו ערכי ברירת מחדל לכל הארגומנטים. כך אפשר ליצור Viewfinders בליTransformationInfo, שברירת המחדל שלהם תהיה סיבוב מקור של 0, ללא שיקוף מקור וללא חיתוך מלבני. (I2b1b2) - נוסף
LifecycleCameraProvider, ספק מצלמות שאפשר ליצור ממנו מופע עם הגדרות שונות לתכונות כמו גישה למצלמה של מכשיר וירטואלי באמצעות הגדרה עם הקשר מותאם אישית. (Ia2992)
תיקוני באגים
- תוקנה בעיה של הקפאת התצוגה המקדימה כשמשתמשים ב-
ImageAnalysisעם סטרימינג אחר שמשתמש ב-TEMPLATE_RECORDבמכשיר Samsung SM-E556B. (Ic0e62, b/409478042) - תוקנה בעיה של הקפאת התצוגה המקדימה כשמשתמשים ב-
ImageAnalysisעם סטרימינג אחר שמשתמש ב-TEMPLATE_RECORDבמכשיר Samsung SM-M556B. (Ic1a6a, b/395822788) - תוקנה בעיה במצב הלילה של התוספים
AssertErrorבמכשירי Pixel עם Android 15 כשמבצעים פעולות שקשורות לשינוי מרחק התצוגה. (I27a5d, b/401460276) - תוקנה בעיה שבה קואורדינטות תיבת התוחמת של ML Kit Analyzer היו שגויות כשנעשה שימוש ב-
CameraController. (Iae91b, b/409808510)
גרסה 1.5.0-alpha06
26 בפברואר 2025
androidx.camera:camera-*:1.5.0-alpha06 מופץ. גרסה 1.5.0-alpha06 מכילה את השמירות האלה.
שינויים ב-API
- נוספו
CameraInfo.getTorchStrengthLevel,CameraInfo.getMaxTorchStrengthLevelו-CameraControl.setTorchStrengthLevelכדי לאפשר התאמה אישית של בהירות הפנס (I00878) - נוסף API חדש,
CameraController#setTapToFocusAutoCancelDuration, כדי לאפשר למשתמשים לשלוט בהתנהגות של ביטול אוטומטי של אירועי הקשה למיקוד.PreviewViewכברירת מחדל, CameraX מבטל את אירועי המיקוד אחרי 5 שניות (כלומר, המיקוד של המצלמה מתאפס), וממשק ה-API הזה מאפשר לשנות את משך הזמן הזה או להשבית את הביטול האוטומטי לגמרי. (Icf59a) - השם של
FLASH_STATE_READYהשתנה ל-NOT_FIRED, והשמות של הקבועים האחריםFlashStateפשוטים יותר כדי שיהיה קל יותר לקרוא אותם. (I8771d) - הוספנו Low Light Boost API. מכשירים עם Android מגרסה 15 ואילך יכולים לספק תמיכה בהגברת האור בתנאי תאורה חלשים. התכונה הזו יכולה לכוון אוטומטית את הבהירות של התצוגה המקדימה, של הווידאו או של הזרמים של ניתוח התמונות בתנאי תאורה חלשה. אפליקציות יכולות להשתמש ב-API החדש כדי: 1. אפשר להשתמש ב-
CameraInfo#isLowLightBoostSupportedכדי לבדוק את זמינות התכונה. 2. משתמשים ב-CameraControl#enableLowLightBoostAsyncכדי להפעיל את המצב כשהמכשירים תומכים בו. 3. אפשר להשתמש בCameraInfo#getLowLightBoostStateכדי לעקוב אחרי מצב ההגברה בתאורה חלשה. (I937ed) - הוספת מחלקות תאימות כדי לאפשר שאילתות מהירות יותר שאינן camera2 בשאילתת שילוב תכונות של המצלמה. (Ie97ee)
- במקרה של
CameraControllerאירועי הקשה למיקוד,getTapToFocusInfoState()API חדש חושף עכשיו גם את מיקום ההקשה המתאים על ידי החזרתLiveDataשל מחלקתTapToFocusInfo, בעוד ש-LiveData<Integer>API הקודם שמחזירgetTapToFocusState()הוצא משימוש לטובת ה-API החדש. (I238d2)
תיקוני באגים
- תוקנה הבעיה שבה ייצוב התצוגה המקדימה לא מוחל כשמפעילים אותו באמצעות תוספים. (I24ad7)
- תוקנה בעיה שגרמה לכך שאירוע המצב של המיקוד
CameraControllerלא התאפס בחזרה ל-TAP_TO_FOCUS_NOT_STARTEDכש-CameraX ביטל אוטומטית אירוע מיקוד שקורה אחרי 5 שניות כברירת מחדל. (I31954) - תוקן קפיאת התצוגה המקדימה כשמשתמשים ב-Zero Shutter Lag (ZSL) אחרי כמה צילומים, בגלל משאבי תמונה שלא שוחררו. (Ic3c2a)
- תוקנו בעיות שגרמו לכך שבחלק מהמכשירים, לסרטוני UHD היה גוון אדום כשצינור הנתונים כלל
OpenGL. (Idcedc)
גרסה 1.5.0-alpha05
15 בינואר 2025
androidx.camera:camera-*:1.5.0-alpha05 מופץ. גרסה 1.5.0-alpha05 מכילה את השמירות האלה.
שינויים ב-API
- מוסיפים את
VideoCapture.getSelectedQuality()כדי לדעת מהי האיכות שנבחרה על סמךQualitySelector. (I70508, b/204288986) - כשמפעילים צילום תמונה באמצעות
ImageCapture.OnImageCapturedCallbackAPI, אפשר להשתמש ב-ImageInfo ב-ImageProxyשמוחזר כדי לדעת אם נעשה שימוש בפלאש באמצעותImageInfo.getFlashState()API החדש. (Id2c61, b/380527406) - נוספה תמיכה בפורמט הפלט
OUTPUT_IMAGE_FORMAT_NV21עבורImageAnalysis. (I484ab) - הסרת ההערה הניסיונית של פריט המידע שנוצר בתהליך פיתוח (Artifact)
featurecombinationquery(I4427f) - התאמה של טווח יחסי הגדלה שמותרים ל-
CameraControlלפי מאפיינים ספציפיים לתוספים כשמצב התוספים מופעל. (I85af1)
תיקוני באגים
- שודרג ל-
compileSdkכ-35 לשימוש ב-API שקשור ל-Android 15. אפליקציות שמשתמשות בספריות CameraX יצטרכו גם לשדרג את הגדרת התצורהcompileSdkשלהן. (Ic80cd) - הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן אנוטציות של שימוש בטיפוסים. מפתחי Kotlin צריכים להשתמש בארגומנט המהדר הבא כדי לאכוף שימוש נכון:
-Xjspecify-annotations=strict(זו ברירת המחדל החל מגרסה 2.1.0 של מהדר Kotlin). (Idc6c6, b/326456246)
גרסה 1.5.0-alpha04
11 בדצמבר 2024
androidx.camera:camera-*:1.5.0-alpha04 מופץ. גרסה 1.5.0-alpha04 מכילה את השמירות האלה.
שינויים ב-API
- הצגנו את
ImageCapture.Builder#setOutputFormatו-ImageCaptureCapabilities#getSupportedOutputFormatsכממשקי API יציבים (Ieb04a) - מוסיפים
VideoCapture.getResolutionInfo()כדי לקבל את פרטי הרזולוציה כש-VideoCaptureמאוגד למחזור חיים. (Icb478) - חשפנו את
PreviewView.getScreenFlashו-PreviewView.setScreenFlashOverlayColorכממשקי API יציבים. (I74fee)
תיקוני באגים
- תוקנה בעיה שגרמה לכשל בצילום במכשיר Vivo 1610 בזמן צילום תמונה עם פלאש בחושך. (I366f4)
- תוקנה בעיה שגרמה להשבתה לא צפויה של הפנס אחרי צילום תמונה ב-Redmi Note 6 Pro. (I2e0e8, b/377144569)
- תוקנה בעיה במכשירי Pixel עם Android 15 שבה מצב הלילה בתוספים לא הצליח לצלם תמונות סטילס עד שהמצלמה התמקדה באובייקט קרוב. (I228d4)
- תוקנה הבעיה שגרמה לתקלה בצילום תמונות סטילס כשתוספים מופעלים ו-
VideoCaptureקשור יחד. (I5c745) - ההגדרה Enabled
UltraHDRמאפשרת לתוספים לתמוך בצילום תמונות סטילס, אם המכשיר תומך בכך. (I48300) - תוקנה בעיה בתזמון של Flash בצילום תמונות ב-Flash עם
CameraEffectטירגוט של צילומי תמונות במכשירי TCL. (I7698c)
גרסה 1.5.0-alpha03
30 באוקטובר 2024
androidx.camera:camera-*:1.5.0-alpha03 מופץ. גרסה 1.5.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו ממשקי API של פורמט פלט ל-RAW ול-RAW + JPEG
ImageCapture. בדיקת יכולות המכשיר מוצגת ב-ImageCaptureCapabilities#getSupportedOutputFormats. הלחצןOUTPUT_FORMAT_RAWמשמש לצילום תמונת RAW, שהיא בפורמט Adobe DNG, והלחצןOUTPUT_FORMAT_RAW_JPEGמשמש לצילום תמונות RAW ו-JPEG בו-זמנית. ממשק ה-API החדשImageCapture#takePictureמשמש לצילום תמונות בו-זמנית, והוא צריך לספק שניOutputFileOptions, הראשון לתמונה בפורמט RAW והשני לתמונה בפורמט JPEG. (Ib0f3d)
תיקוני באגים
- תוקנה בעיה של חשיפת חסר בתצוגה מקדימה ובסרטון במכשירי TCL כשההגדרה
VideoCaptureמופעלת. (Id7a64) - תוקנה הבעיה שבה הפעלת
startFocusMeteringעםPreviewView.getMeteringPointFactoryלא מביאה את הקואורדינטות הנכונות של החיישן כשמופעל אפקט או כשמקושרים 4 תרחישי שימוש (שיתוף סטרימינג). (I916c5, b/345993685) - תוקנה הבעיה שבה האירוע
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEלא מופעל כשמקליטים סרטון ואין מספיק נפח אחסון פנוי. (I35779, b/356399842)
גרסה 1.5.0-alpha02
2 באוקטובר 2024
androidx.camera:camera-*:1.5.0-alpha02 מופץ. גרסה 1.5.0-alpha02 מכילה את השמירות האלה.
תכונות חדשות
- ממשקי API חדשים לשאילתות לגבי תכונות המצלמה שהמכשיר תומך בהן. לדוגמה, אפשר לבדוק אם אפשר להפעיל בו-זמנית את HDR ו-60FPS. היא כוללת 2 ארטיפקטים: camera-feature-combination-query ו-camera-feature-combination-query-play-services.
זוהי גרסה תואמת של
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupportedAPI של camera2 עם נתונים נוספים שסופקו על ידי Google Play Services.
תיקוני באגים
- תוקנה בעיה בקצב הפריימים היעד
Preview/VideoCaptureבמכשירים ברמת LEGACY. קצב הפריימים של היעד שהוגדר באמצעות APIsetTargetFrameRateאוCamera2Interopתמיד נכתב מחדש לערך שסופק על ידיAeFpsRangeLegacyQuirk. בעקבות התיקון הזה, ספריית CameraX תכבד את הערך שהוגדר באמצעות APIsetTargetFrameRateאוCamera2Interop. (Ie2d32) - הוספנו פונקציות של פלאש/פנס/3A לצילום תמונות באמצעות
CameraEffect. התמונות שצולמו עםCameraEffectיעברו עכשיו את אותם תהליכי עיבוד לפני הצילום ואחרי הצילום (למשל, הפעלת פלאש, התכנסות 3A וכו' כשזה רלוונטי) כמו תמונות שצולמו בליCameraEffect. (I5ff30) - החרגנו גדלי פלט בעייתיים עבור
ImageAnalysisבמכשיר Samsung SM-A057G. אם משתמשים ברזולוציה של 1920x1440 או יותר, תהיה בעיה בתצוגה המקדימה של המסך השחור.ImageAnalysisהחלנו אתExcludedSupportedSizesQuirkבמכשיר SM-A057G כדי למנוע את הבעיה. (I63dfe, b/365877975) - תוקנה בעיה שקשורה לקצב הפריימים של היעד
Preview/VideoCaptureכשהמנגנון של שיתוף השידור מופעל באופן פנימי כדי לשתף שידור עםPreviewועםVideoCapture. (I4fdac) - הפעלנו את הפתרון העקיף לתיקון הבעיה של מטא-נתונים שגויים של תמונות JPEG במכשירי Samsung S10e ו-S10+. בעקבות התיקון, אפשר לשמור תמונת JPEG באמצעות CameraX, או להחזיר אובייקטים של Bitmap תקינים כשקוראים לפונקציה
ImageProxy.toBitmap()במכשירים האלה, אם מתרחשת בעיה במטא-נתונים של תמונת JPEG. (Iae493, b/356428987) - השבתת התוספים במצלמה האחורית של Samsung A52s שמזהה שלה הוא 0, כי יכול להיות שיהיו קריסות מקומיות כשמצלמים תמונות HDR, והגדרת סשנים של צילום עלולה להיכשל במצבים BOKEH או FACE_RETOUCH. (I03ec9, b/364152642)
- תוקנה הבעיה שבה האירוע
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEלא מופעל כשמקליטים סרטון ואין מספיק נפח אחסון פנוי. (Ia5b4f, b/356399842) - תוקנה בעיה שבה ניסיון שני להקלטת סרטון נכשל ב-Oppo A5 (CPH1931). (I181d6)
גרסה 1.5.0-alpha01
4 בספטמבר 2024
androidx.camera:camera-*:1.5.0-alpha01 מופץ. גרסה 1.5.0-alpha01 מכילה את השמירות האלה.
תכונות חדשות
-
camera-compose, ארטיפקט חדש, יוצא עבור CameraX Viewfinder Compose Adapter שמציג סטרימינג של תצוגה מקדימה מ-CameraX SurfaceRequestמ-camera-core. (I8666e) - נוסף רכיב קומפוזבילי חדש,
CameraXViewfinder, שפועל כרכיב קומפוזבילי אידיומטי שמתאים את הרכיבים הקומפוזביליים של CameraXSurfaceRequestלרכיב הקומפוזביליViewfinder. (I4770f)
שינויים ב-API
- מספקים API להגדרת הגדרות קומפוזיציה לצילום וידאו בו-זמני משתי מצלמות. ההגדרות כוללות ערך אלפא למיזוג, היסט בקואורדינטות x ו-y, וקנה מידה של הרוחב והגובה של חלון התצוגה של מסגרת המצלמה. ההיסט, הרוחב והגובה מצוינים בקואורדינטות מנורמלות של המכשיר. (Ia2b8a)
- נחשף
CameraProvider.getCameraInfoכממשק API רשמי. (I901cd) - נוסף API
PendingRecording.withAudioEnabled(boolean initialMuted)לשליטה במצב ההשתקה הראשוני. (I635c3, b/354829267)
תיקוני באגים
- תוקנה הקריסה שמתרחשת כשמפעילים את
bindToLifecycleעםLifecycleOwnerשהושמד. (I6e6d8) - תוקנה בעיה שבה התצוגה המקדימה הייתה מסך שחור במצלמה הקדמית בזמן הקישור ל-
VideoCaptureב-Motorola Edge 20 Fusion. (I1fe88) - בוצעה אופטימיזציה של ההגדרה לזיהוי תנועות זום ב-
PreviewViewכדי לשפר את הפעולה. (I04ffc)
גרסה 1.4 של המצלמה
גרסה 1.4.2
26 במרץ 2025
androidx.camera:camera-*:1.4.2 מופץ. גרסה 1.4.2 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה של הקפאת תצוגה מקדימה כשמשתמשים ב-
ImageAnalysisעם סטרימינג אחר שמשתמש ב-TEMPLATE_RECORDב-Samsung Galaxy M55. (Ic1a6a, b/395822788)
גרסה 1.4.1
11 בדצמבר 2024
androidx.camera:camera-*:1.4.1 מופץ. גרסה 1.4.1 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה במכשירי Pixel עם Android 15 שבה מצב הלילה בתוספים לא הצליח לצלם תמונות סטילס עד שהמצלמה התמקדה באובייקט קרוב. (I228d4)
- תוקנה הבעיה שגרמה לתקלה ב-
ImageCapture#takePictureכשהתוספים מופעלים ו-VideoCaptureקשורים זה לזה. (I5c745)
גרסה 1.4.0
30 באוקטובר 2024
androidx.camera:camera-*:1.4.0 מופץ. גרסה 1.4.0 מכילה את השמירות האלה.
שינויים חשובים מאז גרסה 1.3.0
גרסה 1.4.0 של CameraX כוללת עדכונים מרגשים! הנה סיכום:
תכונה מרכזית: HDR באיכות 10 ביט:
- צילום תמונות וסרטונים מדהימים ב-HDR בקלות.
- תמיכה בקידוד HLG ו-HEVC של 10 ביט.
- ליהנות מתצוגה מקדימה של HDR באיכות 10 ביט ולשאול על יכולות המכשיר.
- התכונה פועלת עם תמונות
UltraHDRוסרטוני HDR במגוון הולך וגדל של מכשירים.
תכונות מגניבות נוספות:
- תוספי Kotlin: נוספו פונקציות ההשעיה
takePictureו-awaitInstance. - אפקטים בזמן אמת: אפשר להוסיף אפקטים כמו סימני מים והדגשה של אובייקטים.
- CameraController API: אמצעי בקרה חדשים להגדרת צילום וידאו.
- ייצוב התצוגה המקדימה: שאילתת יכולת המכשיר והפעלת ייצוב.
- שיפורים ב-VideoCapture: שליטה מדויקת יותר באיכות וגישה לרזולוציות גבוהות יותר.
- שילוב של CameraX Extensions: שילוב חלק עם
VideoCaptureותכונות חדשות שלImageCapture. - Shutter Sound API: בדיקה קלה של הדרישות האזוריות לגבי צלילי צמצם.
- פלאש במסך: שיפור התמונות בתאורה חלשה במצלמות הקדמיות.
- ממשקי API של מטא-נתונים של תוספים למצלמה: ממשקי API תומכים להתאמת עוצמת התוספים ולקבלת הודעה על מצב התוספים הנוכחי ב-
ExtensionMode#AUTO. תיקוני באגים נוספים מפורטים בהודעות שלנו על גרסת בטא ועל גרסת RC.
גרסה 1.4.0-rc04
16 באוקטובר 2024
androidx.camera:camera-*:1.4.0-rc04 מופץ. גרסה 1.4.0-rc04 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה הבעיה שבה הפעלת
startFocusMeteringעםPreviewView.getMeteringPointFactoryלא מביאה את הקואורדינטות הנכונות של החיישן כשמופעל אפקט או כשמקושרים 4 תרחישי שימוש (שיתוף סטרימינג). (I916c5, b/345993685)
גרסה 1.4.0-rc03
2 באוקטובר 2024
androidx.camera:camera-*:1.4.0-rc03 מופץ. גרסה 1.4.0-rc03 מכילה את השמירות האלה.
תיקוני באגים
- הוספנו פונקציות של פלאש/פנס/3A לצילום תמונות באמצעות
CameraEffect. התמונות שצולמו עםCameraEffectיעברו עכשיו את אותם תהליכי עיבוד לפני הצילום ואחרי הצילום (למשל, הפעלת פלאש, התכנסות 3A וכו' כשזה רלוונטי) כמו תמונות שצולמו בליCameraEffect. (I5ff30) - בוצעה אופטימיזציה של הפעולה 'סגירת אצבעות כדי להגדיל את התצוגה' ב-
PreviewView(I04ffc) - הפרדה בין Ultra HDR לבין יכולת פלט של 10 ביט, כי תמיכה ב-Ultra HDR לא מחייבת יותר שלמכשירים תהיה יכולת פלט של 10 ביט. (I96ff2, I0c3b3)
גרסה 1.4.0-rc02
18 בספטמבר 2024
androidx.camera:camera-*:1.4.0-rc02 מופץ. גרסה 1.4.0-rc02 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה הקריסה שמתרחשת כשמפעילים את
bindToLifecycleעםLifecycleOwnerשהושמד. (I6e6d8) - נוספה אנימציה של שינוי הרשאות הגישה ב-
ScreenFlashViewעבורScreenFlash#apply, וגם תוקנו באגים שנגרמו בגלל שינוי הבהירות שהושלם באופן אסינכרוני אחרי זמן מה. (I37cdb) - שיפור החלקות של הזום על ידי ביטול הגדרות הזום במסגרת במכשירים נתמכים.
גרסה 1.4.0-rc01
7 באוגוסט 2024
androidx.camera:camera-*:1.4.0-rc01 מופץ. גרסה 1.4.0-rc01 מכילה את השמירות האלה.
תכונות חדשות
- נוספה תכונה ניסיונית
CameraInfo.getCameraInfoכדי לספק מידע ספציפי על המצלמה בלי לקשר תרחישי שימוש למצלמה. (I550d1)
שינויים ב-API
- נוספו ממשקי API
PreviewView.getScreenFlashו-PreviewView.setScreenFlashOverlayColorלמקרים שבהםScreenFlashViewלא נוסף באופן מפורש. (I43945)
תיקוני באגים
- תוקנו בעיות בחשיפה ובגוון הצבעים כשמצלמים תמונה עם פלאש מופעל בתנאי תאורה חלשה באמצעות VideoCapture bound. (Ic9814)
- תוקנה בעיה שבה הפסקת בקשת
takePictureעם תוספים מופעלים עלולה לגרום לכך שלא תתקבל תוצאה, ובקשתtakePictureהבאה עלולה לא לפעול יותר. (Iae78f) - תוקנה בעיה של דליפת זיכרון שמתרחשת כשהתוספים מופעלים. (Iab276)
- תוקנה תקלה בתוספים של CameraX במכשירים כמו Pixel 7/8 וסדרת Samsung Galaxy S24. הבעיה, שנובעת מ
Camera2OutputConfigImplבעיה בהמרה במצב הפקה, צצה אחרי שדרוג AGP לגרסה 8.5.1 והפעלת מזעור. (I99598, b/354824993)
גרסה 1.4.0-beta02
12 ביוני 2024
androidx.camera:camera-*:1.4.0-beta02 מופץ. גרסה 1.4.0-beta02 מכילה את השמירות האלה.
שינויים ב-API
- בדומה ל-
VideoCapture, מוסיפים אתsetMirrorModeלתרחיש השימוש של תצוגה מקדימה. הוא יתמוך בהפעלה ובהשבתה של מצב שיקוף עבור זרם התצוגה המקדימה באמצעותOutputConfiguration.setMirrorModeמ-API 33 ואילך. בממשקי API ישנים יותר, הוא לא יבצע פעולה. (I821f4)
תיקוני באגים
- תוקנה הבעיה שבה לא ניתן לצלם תמונות באפליקציות ב-Samsung Tab A8 כשבוחרים באפשרות 1920x1080 בשילוב של
ImageCapture+VideoCapture+ImageCaptureUseCase.Preview(I5a463, b/336925549) - תוקנה בעיה שבה הקלטה רציפה לא המשיכה אחרי מעבר בין מצלמות. (Icb0a1)
גרסה 1.4.0-beta01
14 במאי 2024
androidx.camera:camera-*:1.4.0-beta01 מופץ. גרסה 1.4.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
- נוסף
ZoomGestureDetector.ZoomEventכדי להגדיר את המצבים של תנועת זום. (I84cdf)
תיקוני באגים
- תוקן באג שגורם לכך שעדיין לא נעשה שימוש בערכי מצב הייצוב או בערכי הפריימים לשנייה של הבקשה החוזרת בצילום ובפוקוס בלחיצה, מה שעלול ליצור מחדש את סשן הצילום ולגרום לבעיות של זמן אחזור או להקפאה של התצוגה המקדימה במכשירים מסוימים. (I7dc0b)
- תוקן באג שגרם לכך שלא הייתה אפשרות לבחור רזולוציות גבוהות כש
CameraEffectהופעל במכשירים מסוימים. (לדוגמה, 4000x3000 ב-Samsung A32 5G). (Ie3ed3, b/337336152) - תוקן קריסה שהתרחשה כשצילמתם תמונה עם תצוגה מקדימה,
ImageCaptureו-VideoCapture(UHD)קשורים ל-Pixel 4XL API29. (I5b288) - תמיכה במכשירים וירטואליים: ההקשר שמועבר אל
ProcessCameraProviderישמור על מזהה המכשיר כדי להבטיח את הפונקציונליות בסביבת מכשיר וירטואלי. (I5ba48)
גרסה 1.4.0-alpha05
17 באפריל 2024
androidx.camera:camera-*:1.4.0-alpha05 מופץ. גרסה 1.4.0-alpha05 מכילה את השמירות האלה.
תכונות חדשות
- המרת
ProcessCameraProviderלהטמעה ב-Kotlin. (I46d4f) - נוספו
ImageCapture.takePictureפונקציות השהיה כדי לאפשר קריאה בדרך אופיינית ל-Kotlin. (I920be)
שינויים ב-API
- הוספנו ממשקי API של פורמט פלט ל-
ImageCapture, והוספנו את השיטהgetSupportedOutputFormatsל-ImageCaptureCapabilitiesכדי לשלוח שאילתות לגבי יכולות המכשיר. ערך ברירת המחדל של פורמט הפלט הואOUTPUT_FORMAT_JPEG, שמשמעותו צילום תמונות SDR בפורמט JPEG. אם המכשיר תומך ב-Ultra HDR ופורמט הפלט מוגדר ל-OUTPUT_FORMAT_JPEG_ULTRA_HDR, CameraX תצלם תמונות דחוסות ב-Ultra HDR בפורמט התמונה JPEG/R. הפורמט תואם לאחור לפורמט SDR JPEG ותומך בעיבוד HDR של תוכן. כלומר, באפליקציות או במכשירים ישנים יותר, התמונות יופיעו בצורה חלקה כ-JPEG רגיל. באפליקציות ובמכשירים שעודכנו כך שיתמכו בפורמט באופן מלא, התמונות יופיעו כ-HDR. (I5de50) - הוספת
PhysicalCameraInfoב-CameraInfoכדי לשלוח שאילתה לגבי פרטי מצלמה פיזית והוספת פונקציות setter/getter של מזהה מצלמה פיזית ב-CameraSelector(Ic5b90) - החלפת
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCEDב-ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED. הערך של הקבוע נשאר זהה. הפעולה הזו מאפשרת לרכז את כל הקבועים במקום אחד. (I890bb) -
RetryPolicyAPI חדש מאפשר למפתחים להתאים אישית את התנהגות הניסיון החוזר לאתחול של CameraX. (I36dd2) - הפעלת יצירה של אובייקט
ImageCaptureLatencyEstimateכדי לסייע בבדיקה (Iaba99) - מוסיפים
ImageAnalysis#COORDINATE_SYSTEM_SENSOR. כשמשתמשים בשיטה הזו, הפונקציהMlKitAnalyzerמחזירה קואורדינטות במערכת הקואורדינטות של חיישן המצלמה. (I3ec61) - הוספנו API למטא-נתונים של תוספים. ממשקי
CameraExtensionsInfoו-CameraExtensionsControlהחדשים מאפשרים לאפליקציות לעקוב אחרי הגדרות עוצמת ההרחבה ולשנות אותן. אפליקציות יכולות לקבל את מופעCameraExtensionsInfoאוCameraExtensionsControlבאמצעות השיטותExtensionsManager#getCameraExtensionsInfo()אוExtensionsManager#getCameraExtensionsControl()שנוספו לאחרונה. (I28e1a) - נוסף
ProcessCameraProvider.awaitInstance, שהיא גרסה להשעיה שלProcessCameraProvider.getInstance(Ib22b9) - מוסיפים
PreviewView#getSensorToViewTransform()API. המטריצה מייצגת את הטרנספורמציה מקואורדינטות של חיישן המצלמה לקואורדינטות שלPreviewView. אפשר להשתמש בזה כדי להמיר קואורדינטות מUseCaseאחד לאחר. לדוגמה, שינוי הקואורדינטות של אובייקטים שזוהו ב-ImageAnalysisלכיסויPreviewView. (I947ab) - הפיכת
camera-viewfinder-coreAPI ליותר גנרי כדי שאפשר יהיה להשתמש בו ב-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תואם ל-ImageAnalysisUseCase. (I81f72, b/330091012) - תוקנה בעיה שבה בקשת
takePictureשהוכנסה לתור עלולה להיכשל אם הבקשה הנוכחית נכשלה. (Ie0801) - הוספנו בדיקה של נתוני JPEG לא תקינים במכשירי Vivo X60 ו-X60 Pro. הפעולה הזו יכולה לפתור בעיה של תמונות גדולות באופן חריג במכשירים האלה. (I82247, b/288828159)
- תוקנה הבעיה של מטא-נתונים שגויים של תמונות JPEG במכשירי Samsung A24. בעקבות התיקון, אפשר לשמור תמונת JPEG באמצעות CameraX, או להחזיר אובייקטים של Bitmap תקינים כשקוראים לפונקציה
ImageProxy.toBitmap()במכשירי Samsung A24. (I8d6eb, b/309005680) - הגדרת בדיקה של נתוני JPEG לא תקינים שתחול על כל מכשירי Samsung אם התמונה שצולמה גדולה מ-10MB. הפעולה הזו יכולה לפתור בעיה של תמונות גדולות באופן חריג במכשירי Samsung. (Ic2a65, b/288828159)
- הסרנו את התמיכה ב-
ImageAnalysisבתוספים של CameraX, כי הרבה הטמעות של תוספים של יצרני ציוד מקורי לא פועלות טוב עםImageAnalysisועלולות לגרום לבעיות לא עקביות. (I2d926)
גרסה 1.4.0-alpha04
24 בינואר 2024
androidx.camera:camera-*:1.4.0-alpha04 מופץ. גרסה 1.4.0-alpha04 מכילה את השמירות האלה.
תכונות חדשות
- פריט חדש: camera-effects: ספרייה להחלת אפקטים בזמן אמת על הפלט של CameraX, כולל
Preview, VideoCaptureו/אוImageCapture. הארטיפקט הזה מכיל הטמעות של OpenGL של ה-APICameraEffectשמבצע מניפולציה של פלט המצלמה בצורה יעילה. -
OverlayEffect: לציור שכבות-על באמצעות Canvas API של Android. ההרשאה הזו מאפשרת לאפליקציה להוסיף סימן מים או להדגיש אובייקטים שזוהו בפלט של המצלמה. DynamicRangeממשקי API לתרחיש השימוש בתצוגה מקדימה: עכשיו אפשר להגדיר את הטווח הדינמי בתרחיש השימוש בתצוגה מקדימה, בנפרד מתרחיש השימוש בסרטון. כך אפשר להשתמש בטווחים דינמיים של HDR כמו HLG10 לתצוגה מקדימה בלבד. בנוסף, יש ממשקי API חדשים ב-CameraInfoשאפשר להשתמש בהם כדי לשאול אילו טווחי HDR דינמיים נתמכים בכל מצלמה.
שינויים ב-API
- השם של
ScreenFlashUiCompleterהשתנה ל-ScreenFlashListenerוהפריטScreenFlashUiCompleter#getExpirationTimeMillisהועבר לפרמטרexpirationTimeMillisשלScreenFlash#apply. (I13944) - נוספו ממשקי API חדשים כדי לאפשר הגדרה של טווח דינמי בתרחיש השימוש של תצוגה מקדימה, וכדי לשלוח שאילתות לגבי טווחים דינמיים שנתמכים על ידי כל מצלמה. כך אפשר להשתמש בטווחים דינמיים של HDR, כמו HLG10, רק בתרחיש השימוש של התצוגה המקדימה, ולא נדרש יותר
VideoCaptureשיוגדר בו-זמנית. (If25e3) - השם של
getMirroring()שונה ל-isMirroring()(I47063) - נוספה תמיכה בהערכת זמן האחזור של צילום תמונות סטילס בזמן אמת ב-CameraX. תוספי מצלמה מאפשרים לאפליקציות להשתמש ב-API שמספק הערכה לגבי משך הצילום. ההערכה מתבססת על תנאי הסביבה הנוכחיים, על מצב המצלמה וכוללת את הזמן שנדרש לעיבוד בקשות לצילום של כמה פריימים, וגם את הזמן הנוסף שנדרש לקידוד מאגרי נתונים שעברו עיבוד, אם יש צורך בכך. (I05c3a)
- שם המשתנה
ScreenFlashUiControlשונה ל-ScreenFlash, שם המשתנהScreenFlashUiControl#applyScreenFlashUiשונה ל-ScreenFlash#apply, שם המשתנהScreenFlashUiControl#clearScreenFlashUiשונה ל-ScreenFlash#clear, והוספה methodgetScreenFlashUiApplyTimeoutSecondsבמקום חשיפה ישירה של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 בצד המסגרת ומסנכרן את התזמון עם שינויים בממשק המשתמש של האפליקציה לפי הצורך (למשל, הפעלת טריגר של חשיפה אוטומטית לפני צילום אחרי שינוי הצבע או הבהירות של מסך האפליקציה). האפליקציות יצטרכו להוסיף את ההטמעות של ממשק המשתמש שלהן רק בממשק
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. תרחיש נפוץ לשימוש ב-API הזה הוא כשרוצים להקליט סרטון באיכות UHD בכל הזדמנות, אבל במכשירCamcorderProfileאין הגדרות UHD, למרות שהקודק יכול להקליט סרטון באיכות UHD. (Iedbe2, b/263961771) - הוספת פונקציות לקבלת או להגדרת פורמט הפלט אל
CameraController.ImageAnalysis(I9a96c, b/308240643)
תיקוני באגים
- ממצלמה
1.3.1: שיפור הביצועים שלProcessCameraProvider#bindToLifecycle(). השינוי העיקרי הוא אופטימיזציה של התהליך לזיהוי השילובים המתאימים ביותר של גדלים עבורUseCases. התוצאות האופטימליות משתנות בהתאם לשילוביUseCaseהספציפיים ולמספר גדלי הפלט הנתמכים במכשירי היעד. (I454f2) - התרת השימוש ב-
VideoCaptureכשהתוספים מופעלים. (I91f32) - תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי סדרות Samsung A71 ו-M51. תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. היא גורמת לגודל קובץ קיצוני של התמונות שצולמו. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (I01afc, b/288828159)
- כדי להימנע מהבאג ב-Pixel שגורם להחזרת הגדלים הלא ריקים שנתמכים ב-
ImageAnalysisבטעות, צריך להשבית את התמיכה ב-ImageAnalysisב-Pixel. (I7ec31) - תוקנה בעיית ביצועים שבה העומס על המעבד וצריכת החשמל גדלו כשהתוספים הופעלו. (Ibdccb)
- הוספנו את Snapdragon 480 אל
CameraUseInconsistentTimebaseQuirk. העדכון הזה פותר בעיה ב-Android 12 במכשירים שמשתמשים בערכת השבבים הזו, שבה האודיו בהקלטות מוסט בפרק הזמן שבו המכשיר נמצא במצב השהיה. (I58010)
גרסה 1.4.0-alpha02
18 באוקטובר 2023
androidx.camera:camera-*:1.4.0-alpha02 מופץ. גרסה 1.4.0-alpha02 מכילה את השמירות האלה.
שינויים ב-API
- משנים את השם של ה-API ל-
setCameraOpenRetryMaxTimeoutInMillisWhileResumingומשנים את השם של הארגומנט. (I72370) - הוספת ממשקי API לשאילתת יכולת המכשיר ולהפעלת ייצוב של סרטונים או תצוגות מקדימות. (I87544)
- מספקים API להתאמה אישית של הזמן הקצוב לתפוגה המקסימלי של ניסיון חוזר לפתיחת המצלמה. (I0c642)
- השקנו את
ProcessCameraProvider.shutdownAsyncכ-API ציבורי לבדיקות, כדי לאפשר שימוש בספק המצלמה בתהליכי בדיקה שבהם יכול להיות שיהיה צורך לאתחל את CameraX בדרכים שונות בין הבדיקות. (I9eca7) - הוספת ממשקי API להגדרת טווח דינמי של צילום וידאו, קצב פריימים ומצב שיקוף. (Ifb8f7)
- הוצאה משימוש של
OutputSizeוהחלפתו ב-ResolutionSelector. ResolutionSelectorהיא דרך מקיפה יותר לבחירת רזולוציות, והיא עקבית עם Camera Core API. (I93abd, b/286801438)
תיקוני באגים
- תוקנה בעיה בתצוגה המקדימה השחורה ב-Samsung Galaxy S23 Ultra 5G כשמופעלים האפקטים 'בוקה' או 'ריטוש הפנים' עם
ImageAnalysisבמצלמה האחורית. (I2e8b1) - תוקנו בעיות שקשורות לתצוגה מקדימה ולמתיחה של
VideoCaptureב-Moto E5 Play. (73dce2)
גרסה 1.4.0-alpha01
20 בספטמבר 2023
androidx.camera:camera-*:1.4.0-alpha01 מופץ. גרסה 1.4.0-alpha01 מכילה את השמירות האלה.
שינויים ב-API
- הוספת API חדש לגישה למידע על עוצמת האודיו במהלך ההקלטה. (Id4925)
תיקוני באגים
- כדי לשפר את היציבות של התוספים, צריך לוודא שהאירועים של ההפעלה וההשבתה מופעלים בסדר הנכון. (Ib3b8e)
- תוקנה שגיאה בהגדרת סשן צילום שנגרמה בגלל חריגה משילוב המשטחים הנתמך, בעקבות הוספה פנימית של משטח חוזר נוסף. (Id718c)
- תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשיר Vivo S16. תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. היא גורמת לכך שגודל הקובץ של התמונות שצולמו יהיה גדול. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (I79505, b/299069235)
- תוקנה הבעיה שבה אי אפשר לקשור את
ImageAnalysisיחד עםImageCaptureותצוגה מקדימה כשחלק ממצבי ההרחבה מופעלים במכשירים מסוימים. התיקון יחזיר ערך נכון כשאפליקציות יבצעו שאילתה לגבי הזמינות שלImageAnalysisבאמצעותExtensionsManager#isImageAnalysisSupported(). (I7d538) - צריך לעדכן את JavaDoc כך שיתאים להתנהגות. במקום שהפעולה תסתיים באופן מיידי, הפונקציות
#setZoomRatio,#setLinearZoomו-#enableTorchמחכות עד שהמצלמה מוכנה. בנוסף, הוספנו מידע על קבלת שדה הראייה המקסימלי באמצעות#takePictureAPI. (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תואם ל-ImageAnalysisUseCase. (I81f72, b/330091012)
גרסה 1.3.2
6 במרץ 2024
androidx.camera:camera-*:1.3.2 מופץ. גרסה 1.3.2 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה במטא-נתונים של JPEG במכשירי Samsung A24. CameraX שומרת עכשיו תמונות בצורה מדויקת, והפונקציה
ImageProxy.toBitmap()מחזירה אובייקטים נכונים של Bitmap. (I8d6eb, b/309005680) - הסרנו את אפשרות הרזולוציה 9,280 x 6,944 במכשירי Redmi Note 9 Pro בגלל בעיות. (Ia23da)
גרסה 1.3.1
13 בדצמבר 2023
androidx.camera:camera-*:1.3.1 מופץ. גרסה 1.3.1 מכילה את השמירות האלה.
תיקוני באגים
שיפרנו את ProcessCameraProvider#bindToLifecycle() הביצועים. השינוי העיקרי הוא אופטימיזציה של התהליך לזיהוי השילובים המתאימים ביותר של גדלים עבור UseCases. התוצאות האופטימליות משתנות בהתאם לשילובי UseCase הספציפיים ולמספר גדלי הפלט הנתמכים במכשירי היעד. (I454f2)
הנה כמה תוצאות לדוגמה לתרחישים שונים:
ארבעה
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: בערך 430 אלפיות השנייה עד 60 אלפיות השנייה
- Samsung Galaxy S23 Ultra: בערך 540 אלפיות השנייה עד 45 אלפיות השנייה
- Samsung A53 5G: בערך 115ms עד 70ms
שלושה
UseCases:Preview+ImageCapture+ImageAnalysis- Google Pixel 7: בערך 9ms עד 7ms
- Samsung Galaxy S23 Ultra: בערך 6 עד 5 אלפיות השנייה
- Samsung A53 5G: בערך 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 ביט, חיתוך, שיקוף/ביטול שיקוף, השתקה/ביטול השתקה, הגדרת קצב פריימים ועוד.
- מצלמה כפולה בו-זמנית
- ספריית האפקטים
- בורר הרזולוציה
- בחירה בין מצלמה עם עדשת Ultrawide למצלמה טלסקופית
- מעבר בין מצלמות במהלך הקלטת סרטון (תכונה ניסיונית)
גרסה 1.3.0-rc02
20 בספטמבר 2023
androidx.camera:camera-*:1.3.0-rc02 מופץ. גרסה 1.3.0-rc02 מכילה את השמירות האלה.
תיקוני באגים
- כדי לשפר את היציבות של התוספים, צריך לוודא שהאירועים של ההפעלה וההשבתה מופעלים בסדר הנכון. התיקון הזה פתר כמה בעיות שקשורות לתצוגה מקדימה שחורה כשעוברים בין מצבי תוספים או בין מצלמות. (Iddaac)
- תוקנה הבעיה שבה אי אפשר לקשור את
ImageAnalysisיחד עםImageCaptureותצוגה מקדימה כשחלק ממצבי ההרחבה מופעלים במכשירים מסוימים. התיקון יחזיר ערך נכון כשאפליקציות יבצעו שאילתה לגבי הזמינות שלImageAnalysisבאמצעותExtensionsManager#isImageAnalysisSupported(). (I7d538) - תוקנה הבעיה שבה האודיו והווידאו של הסרטון המוקלט לא היו מסונכרנים כשמצב שיקוף הופעל ב-Xiaomi Poco X3 NFC. (I20b4c)
גרסה 1.3.0-rc01
23 באוגוסט 2023
androidx.camera:camera-*:1.3.0-rc01 מופץ. גרסה 1.3.0-rc01 מכילה את השמירות האלה.
שינויים ב-API
- נוספה האפשרות
PendingRecording.asPersistentRecordingכדי לאפשר הקלטה רציפה בזמן שהמכשירVideoCaptureשאליו מצורף מכשיר ההקלטה מוגדר מחדש. (I517c6)
תיקוני באגים
- תוקנה קריסה שקורית כשמשתפים סטרימינג עם
VideoCaptureועם Preview. בנוסף, תוקנה בעיה של מסך שחור במכשירים מדור קודם כשהשיתוף של הזרמת נתונים מופעל. - תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי Samsung S7 (סדרות SM-G930T, SM-G930V). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. היא גורמת לכך שגודל הקובץ של התמונות שצולמו יהיה גדול. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (I407b0, b/288828159)
- תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי סדרת Samsung S22 (SM-S901B, SM-S901B/DS) ו-S22+ (SM-S906B). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. הבעיה גורמת לכך שגודל הקובץ של התמונות שצולמו גדול מאוד, כ-13MB במכשיר S22 SM-S901B/DS. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (I73be9, b/288828159)
- תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירים מסדרות Samsung A5, A52, A70 ו-A72. תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. היא גורמת לגודל הקובץ של התמונות שצולמו להיות גדול במיוחד (לדוגמה, כ-32MB או אפילו 96MB). נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (I97c4d, b/288828159)
- תוקנה קריסת האפליקציה המקורית כשמצלמים תמונות עם תוספים מופעלים (I698f5)
גרסה 1.3.0-beta02
26 ביולי 2023
androidx.camera:camera-*:1.3.0-beta02 מופץ. גרסה 1.3.0-beta02 מכילה את השמירות האלה.
תיקוני באגים
- שימוש בפנס כפלאש בגרסאות של Pixel 4 ו-Pixel 5 כדי לשפר את איכות הצילום בתנאי תאורה חלשים (I56ff5, b/280221967)
- תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי Samsung A5 (2017). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בקטע הנתונים הדחוסים של JFIF. הגודל של קובצי התמונות שנוצרים הוא כ-32MB. נתוני הריפוד המיותרים של האפסים יוסרו כדי שהתמונות שצולמו יהיו בגודל קובץ תמונה רגיל. (I29837, b/288828159)
- תוקנה בעיה שגרמה לכך שניסיון חוזר לא הופעל בצורה תקינה במקרה של כשל בצילום במכשירים בעייתיים שמוזכרים במאמר
CaptureFailedRetryQuirk. (I7b589)
גרסה 1.3.0-beta01
21 ביוני 2023
androidx.camera:camera-*:1.3.0-beta01 מופץ. גרסה 1.3.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
- שונה שם הפונקציה
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)ל-setAllowedResolutionModeושונה שם הקבועיםResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONל-PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8) - הוסרו ממשקי API שהוצאו משימוש:
ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int)ו-VideoCapture.setTargetRotationDegrees(int). (Id8e77) - המחלקות
DynamicRangeמייצגות את הטווח הדינמי של התמונות. אפשר להשתמש בזה כדי לבחור פורמטים של טווח דינמי גבוה כפלט שלVideoCaptureעדVideoCapture.Builder#setDynamicRange(). (Ib0377) - נוסף API
isImageAnalysisSupportedל-ExtensionsManagerשמאפשר לאפליקציות לקבוע אם אפשר לקשר תרחיש שימוש ב-Preview וב-ImageCaptureכשהתוספים מופעלים.ImageAnalysis(I1bc63) - אפשר להשתמש במחלקה החדשה
VideoCapabilitiesשהתקבלה מ-Recorderכדי לשלוח שאילתות לגבי טווחי איכות דינמיים נתמכים ואיכויות נתמכות לצילום וידאו במכשיר. השיטותgetSupportedQualities()ו-isQualitySupported()שלQualitySelectorיוצאות משימוש. במקומה צריך להשתמש בשיטותgetSupportedQualities()ו-isQualitySupported()שלVideoCapabilities. (I04014) - הפונקציה
CameraController#setVideoCaptureTargetQuality()משנה את השם ל-setVideoCaptureQualitySelectorומקבלת את הארגומנטQualitySelector, שמספק גמישות רבה יותר בהגדרת איכות הווידאו. הערך שלCameraController#getVideoCaptureTargetQuality()משתנה בהתאם ל-getVideoCaptureQualitySelector. (I520ed) - הסרנו את ההערה לגבי ניסויים בתכונות של סרטונים. תכונות הסרטון יציבות עכשיו. (I1a113)
תיקוני באגים
- כדי לשפר את המהירות ואת איכות התמונה שצולמה בתאורה חלשה, אפשר להשתמש בפנס כפלאש בדגמי Samsung SM-A320. (I6a022, b/286190938)
- הוספת תמיכה בפורמט
ImageFormat.JPEGעבורImageProxy.toBitmap(). אם אי אפשר לפענח את מערך הבייטים של ה-JPEG, תופעל חריגה מסוגUnsupportedOperationException. (I81958, b/282057603)
גרסה 1.3.0-alpha07
24 במאי 2023
androidx.camera:camera-*:1.3.0-alpha07 מופץ. גרסה 1.3.0-alpha07 מכילה את השמירות האלה.
תכונות חדשות
- ה-API החדש
VideoCapture.Builder# setTargetFrameRate(Range)מאפשר לצלם הקלטות וידאו בקצבי פריימים אחרים, בנוסף לברירת המחדל של המכשיר. אפשר לבצע שאילתה לגבי קצבי הפריימים הזמינים להקלטות באמצעות ממשק ה-API החדש שלCameraInfo#getSupportedFrameRates().
שינויים ב-API
- השמות של הקבועים
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONשונו ל-ALLOWED_RESOLUTIONS_NORMAL/SLOW, והשם של פונקציית ה-buildersetHighResolutionEnabledFlagשונה ל-setAllowedResolutionMode. (Iae817) - הפונקציה
CameraInfo#getSupportedFrameRateRanges()מחזירה עכשיוSetולאListכדי לייצג טוב יותר את העובדה שהטווחים לא מסודרים. (I02f43) - מוסיפים מאזין שגיאות ל-
CameraEffectכדי לטפל בשגיאות שאי אפשר לשחזר (Ice471) - הוספת constructor ציבורי ב-
ResolutionInfoלשיפור יכולת הבדיקה (If6d1c) -
UseCase.snapToSurfaceRotation(int)API נוסף כדי להחליף את השימוש ב-setTargetRotationDegrees, והוצא משימוש ה-API ImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)ו-VideoCapture.setTargetRotationDegrees(int). (Ia9010) - נוספו ממשקי API חדשים,
Preview#getTargetFrameRateו-Preview.Builder#setTargetFrameRate, כדי לאפשר הגדרה ואחזור של קצב פריימים לטירגוט לתרחיש השימוש בתצוגה מקדימה (If4f22) - הפעולה
VideoRecordEvent.Finalizeתושלם עכשיו עם קוד השגיאהERROR_RECORDING_GARBAGE_COLLECTEDכשהאובייקטRecordingייעצר בגלל איסוף נתונים מיותרים. (Iba974)
תיקוני באגים
- תוקנה הבעיה
NullPointerExceptionשמתרחשת כשגדלי הפלט ששמורים במטמון ב-StreamConfigurationMapCompatהם null. (Idf124, b/282025204) - תוקנה הבעיה שבה
Preview.setSurfaceProvider(null)לא משהה את התצוגה המקדימה בתוספים (Ia903e) - תוקנה בעיה שבה
ConcurrentModificationExceptionמופעל במהלך פתיחת המצלמה כש-VideoCaptureמאוגד. (Ic8ac4)
גרסה 1.3.0-alpha06
19 באפריל 2023
androidx.camera:camera-*:1.3.0-alpha06 מופץ. גרסה 1.3.0-alpha06 מכילה את השמירות האלה.
תכונות חדשות
- מצלמה בו-זמנית היא תכונה חדשה שהוצגה החל מ-Android 11, שתומכת בהזרמה בו-זמנית של מכשירי מצלמה. לדוגמה, היא מאפשרת למכשיר להפעיל את המצלמה הקדמית והאחורית בו-זמנית. נכון לעכשיו, CameraX תומכת רק בשתי מצלמות מקבילות, מה שמאפשר להפעיל שתי מצלמות בו-זמנית, עם שני {@link UseCase}s לכל היותר שמשויכים לכל אחת מהן. הרזולוציה המקסימלית היא 720p או 1440p. פרטים נוספים זמינים בקישור הבא: CameraManager#getConcurrentCameraIds()
- אנחנו משיקים את
ResolutionSelectorAPI החדש, שכולל את התכונות הבאות:- אפליקציות יכולות לציין יחס גובה-רוחב ואסטרטגיות רזולוציה כדי לבחור את הרזולוציה הכי טובה לצרכים שלהן.
- כל הפרמטרים של הגודל ויחס הגובה-רוחב מבוטאים בקואורדינטות של חיישן מכשיר המצלמה.
- אפליקציות יכולות להטמיע מסנן רזולוציה מותאם אישית כדי לסדר את הגדלים הנתמכים בסדר הרצוי.
- אפליקציות יכולות גם להפעיל צילום ברזולוציה גבוהה כדי לקבל תמונות ברזולוציה גבוהה יותר. עם זאת, חשוב לזכור ששימוש ברזולוציה גבוהה עלול להאריך את משך הצילום.
- נוספו ממשקי API של
VideoCaptureשיקוף. הסרטונים שמוקלטים באמצעותVideoCaptureלא משתקפים כברירת מחדל. עם זאת, התצוגה המקדימה של המצלמה מוצגת בהיפוך מראה במצלמה הקדמית כברירת מחדל. ממשקי ה-API של שיקוףVideoCaptureמאפשרים לבצע התאמה לתצוגה המקדימה של המצלמה כשמשתמשים במצלמה הקדמית. יש שלושהMirrorMode,OFF,ONו-ON_FRONT_ONLY. כדי ליישר את התמונה לתצוגה המקדימה של המצלמה, מומלץ להשתמש ב-ON_FRONT_ONLY. המשמעות היא שהיפוך התמונה לא מופעל במצלמה האחורית, אבל הוא מופעל במצלמה הקדמית.
שינויים ב-API
- נחשף
ResolutionSelectorAPI חדש. אפליקציות יכולות לציין יחסי גובה-רוחב ואסטרטגיות רזולוציה עם כללי חזרה או מסנן רזולוציה בהתאמה אישית כדי לקבל את התוצאות הרצויות. אפליקציות יכולות לציין דגל כדי להפעיל צילום ברזולוציה גבוהה. כך המערכת תוכל לבחור רזולוציות גבוהות יותר כשמצלמים תמונות או סרטונים. עם זאת, חשוב לזכור ששימוש ברזולוציה גבוהה עלול להאריך את משך הצילום. (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)
- Make
ImageProcessor.Response#getOutputImageNonNull (Ib9c60) - הוספנו ממשקי API לשיקוף, כולל
VideoCapture.Builder.setMirrorMode(int)ו-VideoCapture.getMirrorMode().VideoCaptureממשקי ה-API שימושיים לאפליקציות שנדרשת בהן הקלטת וידאו שתהיה עקבית עם התנהגות נפוצה של תצוגה מקדימה של מצלמה, כלומר התצוגה המקדימה של המצלמה האחורית לא משתקפת, אבל התצוגה המקדימה של המצלמה הקדמית משתקפת. (I713b6, b/194634656) - הוספת
setTargetFrameRate()API ב-VideoCapture.Builderו-getTargetFramerate()API ב-VideoCapture(I109d4) - הגדרת
SurfaceOutputכהרחבה של Closable והסתרת ה-constructor הציבורי של SurfaceOutput.Event. (I60ea8) - נוספה אפשרות
Recording.muteלהשתקה או לביטול ההשתקה של הקלטה בתהליך באופן דינמי. ההקלטה תכיל אתRecordingStatsבמקוםAudioStats.AUDIO_STATE_MUTEDאם היא הושתקה באופן מפורש במהלך העיבוד. (Ie17fc) - הפרמטר
#setEffects()לא יכול להיות null. הוספנו#clearEffects()API לניקוי אפקטים. האפליקציה צריכה לקרוא ל-#clearEffects()כדי להסיר אפקטים. (I4b4d9) - מוסיפים בנאי שני ל-
ViewfinderSurfaceRequest.Builderכדי לקבל בנאי להעתקה (I621a7)
תיקוני באגים
- תוקנה הבעיה שגרמה לקריסת אפליקציות שהפעילו את Extensions API כשסגרו את המצלמה (Ib27e5)
- תוקנה בעיה שבה אי אפשר היה להשתמש ב-
VideoCaptureעם המצלמה הקדמית בחלק מהמכשירים. לדוגמה, ב-Samsung Galaxy S23 וב-Xiaomi 2107113SG. (Ibec7e, b/270656244) - תוקנה הבעיה שבה צילום תמונות באמצעות קובץ בתיקייה הציבורית של האחסון החיצוני תמיד נכשל ב-Android 10 ומעלה. שימו לב: ב-Android 10, כדי לצלם תמונות באמצעות קובץ בתיקייה הציבורית של האחסון החיצוני, צריך להגדיר את הערך
requestLegacyExternalStorageכ-true בתג האפליקציה. (I11b2c) - תוקנה קריסה של
RejectedExecutionExceptionב-DefaultSurfaceProcessor. הקריסה יכולה לקרות כש-VideoCaptureמאוגד והפעילות מושהית. (Idb46a, b/273713906)
גרסה 1.3.0-alpha05
22 במרץ 2023
androidx.camera:camera-*:1.3.0-alpha05 מופץ. גרסה 1.3.0-alpha05 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו ממשקי API של סבב
VideoCapture, כוללVideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int)ו-VideoCapture.getTargetRotation(). ממשקי ה-API האלה שימושיים לאפליקציות שנועלות את כיוון המכשיר. נוספו גםImageCapture.setTargetRotationDegrees(int)ו-ImageAnalysis.setTargetRotationDegrees(int). (Id3ffe, b/205242781) - התרת שימוש ב-
VIDEO_CAPTUREוב-PREVIEW|VIDEO_CAPTUREכיעדי אפקטים. אפקטים שמטרגטים אתVIDEO_CAPTUREיוחלו עלVideoCaptureUseCase; אפקטים שמטרגטים אתPREVIEW|VIDEO_CAPTUREיוחלו על סטרימינג משותף לפני ההעתקה ל-Preview ולסטרימינגVideoCapture. (Iee6f3)
תיקוני באגים
- מתוך Camera
1.2.2: תוקנה הבעיה שבה CameraX Extensions לא פועל כמו שצריך כש-proguard מופעל במכשירים מסוימים כמו Pixel (I90aa2) - תוקן באג
PreviewViewשגרם לעיוות של התצוגה המקדימה בסיבוב אם האפליקציה טיפלה בעצמה בכיוון המסך. האפשרות הזו זמינה רק במכשירים מסוימים. אפשר לשחזר את הבעיה ב-Pixel a4, Pixel 5 ו-Pixel 6a. (I14340, b/223488673)
גרסה 1.3.0-alpha04
22 בפברואר 2023
androidx.camera:camera-*:1.3.0-alpha04 מופץ. גרסה 1.3.0-alpha04 מכילה את השמירות האלה.
תכונות חדשות
תכונה חדשה לתמיכה בשילובים של Surface שלא נתמכו בעבר, על ידי שיתוף של זרם אחד עם מספר תרחישי שימוש.
- בעבר, כשביצעתם קישור של Preview, VideoCapture, ImageAnalysis ברמה FULL ומטה של חומרת המצלמה, או קישור של Preview, VideoCapture, ImageCapture ברמה LEGACY של החומרה, CameraX הציג
IllegalArgumentException. - ההתנהגות החדשה היא שהקישורים יעבדו בלי להציג חריגים. במקום זאת, CameraX משתמשת ב-OpenGL כדי להעתיק סטרימינג משותף גם לתצוגה המקדימה וגם ל-VideoCapture.
- כתוצאה מהעלות של העותק הזמני, יכול להיות שתהיה עלייה בנתוני ההשהיה ובצריכת החשמל של האפליקציה.
שינויים ב-API
- מוסיפים API להמרה של
ImageProxyל-Bitmap. הפורמטים הנתמכים שלImageProxyהםImageFormat.YUV_420_888ו-PixelFormat.RGBA_8888. אם הפורמט לא תקין, המערכת תציג את השגיאהIllegalArgumentException. (Ic7110) - הוספת
CoroutineCameraViewfinderכדי לתמוך בהגדרת עינית באמצעות פונקציות השהיה ב-Kotlin. (I657bc) - הוספת constructor ציבורי חדש ל-
ViewfinderSurfaceRequest. היא מספקת גמישות במקרים שבהם המשתמש לא יכול לספקCameraCharacteristics. (Ie6549)
תיקוני באגים
- תוקנה קריסת התוספים שמתרחשת בחלק ממכשירי Samsung כשמשהים או מפעילים מחדש את האפליקציה מהר מדי (Iaca26)
גרסה 1.3.0-alpha03
25 בינואר 2023
androidx.camera:camera-*:1.3.0-alpha03 מופץ. גרסה 1.3.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- נוסף
CameraInfo.getIntrinsicZoomRatioכדי לספק מידע על זווית הצפייה ביחס למצלמה שמוגדרת כברירת מחדל. (Ib300c) - נוספה
CameraInfo.getLensFacingכדי לספק מידע על כיוון העדשה. הוספנו אתCameraSelector#LENS_FACING_EXTERNALכתכונה ניסיונית לבחירת מצלמות חיצוניות. (Icaf3e) - מוסיפים את
#setEffect()ל-CameraControllerכדי לאפשר הוספת אפקטים לפלט המצלמה. (I1d21f) - הוספת השיטה
invalidate()אלSurfaceRequest. ספק המשטח יכול להודיע שהמשטח שסופק בעבר כבר לא תקף. (Idc649) - מוסיפים
ImageProcessorAPI. הממשק הזה מיועד להוספת אפקטים של עיבוד אחרי העיבוד הראשוני לצינורImageCapture. (I575c6) - הוספנו את API
Recorder.Builder.setAspectRatio()שאפשר לשלב עםQualitySelectorכדי לתמוך ברזולוציות נוספות של סרטונים. (I8a082) - נוספה
Recorder.Builder#setTargetVideoEncodingBitRateלהגדרת Target Video EncodingBitRateו-Recorder#getTargetVideoEncodingBitRateלהשגת Target Video Encoding BitRate. (I5984d)
תיקוני באגים
- תוקנה בעיה שגרמה לכך שהפעלת המצלמה
ImageCaptureנכשלה כשאין יחידת פלאש ומצב הפלאש מופעל. (I9e8b4, b/263391112) - תוקנה בעיה שגרמה להשחתת תמונות JPEG אם נתוני מיקום של Exif נכתבו בחלק ממכשירי Samsung עם Android 12. (Ib7086, b/263747161, b/263289024)
- כשמגדירים פנס או זום לפני שאתחול המצלמה מסתיים, למשל כשקוראים ל-
CameraController#enableTorch, הפעולה בהמתנה נשמרת במטמון ונשלחת אחרי שהאתחול מסתיים. (I11e92, b/264157663)
גרסה 1.3.0-alpha02
7 בדצמבר 2022
androidx.camera:camera-*:1.3.0-alpha02 מופץ. גרסה 1.3.0-alpha02 מכילה את השמירות האלה.
שינויים ב-API
- הוספה של API חדש להחלת אפקט של עיבוד שלאחר הצילום על הפלט של התצוגה המקדימה. (Ic17d5)
- השם של
OutputOptions.getDurationLimitשונה ל-OutputOptions.getDurationLimitMillisושלOutputOptions.setDurationLimitשונה ל-OutputOptions.setDurationLimitMillis. (I91f0c) - הוספת מחלקה
AudioConfigלטיפול בהגדרה שקשורה לאודיו בזמן הקלטת סרטון. ההערה@RequiresPermissionמועברת מפונקציותstartRecordingאלAudioConfigכדי למנוע בקשות מיותרות להרשאות במקרים שבהם לא נדרש אודיו. (I28755) - הסרה של המחלקות Metadata,
OnVideoSavedCallback,OutputFileOptionsו-OutputFileResultsשכבר לא בשימוש אחרי החלת ה-API החדש לצילום וידאו. (I38cd8) - החלת ממשק ה-API החדש לצילום וידאו. השיטות
getVideoCaptureTargetSizeו-setVideoCaptureTargetSizeהוחלפו בשיטותgetVideoCaptureTargetQualityו-setVideoCaptureTargetQualityבהתאמה, כי אין יותר תמיכה ב-setTargetResolution. (I2a1d5)
תיקוני באגים
- הסרת ה-API
core.VideoCaptureשהוצא משימוש. (I531e0) - תוקנה הבעיה שפונקציית ה-callback
onErrorלא נקראת כשמצלמים תמונות בלי הרשאת גישה לאחסון.(I936db, b/244807669) - שיפור האיכות והאמינות של תוספי המצלמה. התוספים למצלמה מושבתים במכשירי Motorola שמותקנת בהם גרסה 1.1.0 או גרסאות ישנות יותר של התוספים למצלמה, בגלל בעיות בתמיכה בבוקה, בצילום תמונות ובחידוש התצוגה המקדימה. (Id3ce3)
- תוקנה קריסה מקומית כשחיתוך סרטונים באמצעות
ViewPortמופעל במכשירים מדור קודם. (I16b8a, b/251357665)
גרסה 1.3.0-alpha01
9 בנובמבר 2022
androidx.camera:camera-*:1.3.0-alpha01 מופץ. גרסה 1.3.0-alpha01 מכילה את השמירות האלה.
תכונות חדשות
Camera-viewfinderפורסם באופן רשמי. Camera-viewfinderמספק ווידג'ט בסיסי של עינית שיכול להציג את הפיד של המצלמה עבור Camera2. אפשר לעיין בקוד לדוגמה.
שינויים ב-API
- נוספה האפשרות
OutputOptions.setDurationLimitכדי לאפשר הגדרת מגבלת אורך לסרטון. ההקלטה תסתיים אוטומטית אם תחרגו ממגבלת משך הזמן שצוינה. (I902a0) - נוסף מצב שגיאה באודיו של הקלטת וידאו
AudioStats.AUDIO_STATE_SOURCE_ERROR. האירוע נשלח כשהגדרת מקור האודיו נכשלת או כשמתרחשת שגיאה כלשהי. (I37410)
תיקוני באגים
- הוספת quirk כדי לאפשר למכשירים בעייתיים מסוימים לנסות לצלם שוב פעם אחת כשנתקלים בכשלים בצילום. (Id4795)
- פתרון בעיה של מסך שחור בהטמעה של
PreviewViewSurfaceViewב-ViewPager2. כחלק מהתיקון,PreviewViewישתמש מחדש ב-SurfaceViewאם הרזולוציה המבוקשת לא תשתנה. (Ib3f27) - תמיכה בחיתוך סרטונים (תכונת WYSIWYG) כשמשתמשים ב-API
ViewPortאוCameraController. (Ifbba8, b/201085351) - תוקנה בעיה שגרמה לכך שצילום סרטון במצלמה הקדמית נכשל בהקלטה ב-Huawei P40 lite. (I87c57, b/250807400)
גרסה 1.2
גרסה 1.2.3
24 במאי 2023
androidx.camera:camera-*:1.2.3 מופץ. גרסה 1.2.3 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה שבה אי אפשר היה להשתמש ב-
VideoCaptureעם המצלמה הקדמית בחלק מהמכשירים. לדוגמה, ב-Samsung Galaxy S23 וב-Xiaomi 2107113SG. (Ibec7e, b/270656244)
גרסה 1.2.2
22 במרץ 2023
androidx.camera:camera-*:1.2.2 מופץ. גרסה 1.2.2 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה הבעיה שבה CameraX Extensions לא פועל כמו שצריך כש-proguard מופעל במכשירים מסוימים כמו Pixel (I90aa2)
גרסה 1.2.1
25 בינואר 2023
androidx.camera:camera-*:1.2.1 מופץ. גרסה 1.2.1 מכילה את השמירות האלה.
תיקוני באגים
- תיקון בעיה של קובץ JPEG פגום אם נתוני מיקום Exif נכתבים בחלק ממכשירי Samsung עם Android 12. (b/263289024)
גרסה 1.2.0
7 בדצמבר 2022
androidx.camera:camera-*:1.2.0 מופץ. גרסה 1.2.0 מכילה את השמירות האלה.
שינויים חשובים מאז גרסה 1.1.0
- ספרייה חדשה camera-mlkit-vision. קל לשלב את CameraX עם הרבה תכונות של MLKit, כולל סריקת ברקודים, זיהוי פנים, זיהוי טקסט וכו'. הוספנו את
MLKitAnalyzerכממשקי API חדשים. - API חדש ניסיוני של השהיית סגר אפסית. אופטימיזציה של צינור הלכידה כדי להשיג חביון טוב יותר תוך שמירה על איכות תמונה טובה. כשמצב הצילום מוגדר ל-
CAPTURE_MODE_ZERO_SHUTTER_LAG, זמן האחזור בין הלחיצה על לחצן הצילום לבין צילום התמונה צפוי להיות מינימלי, בהשוואה למצבי צילום אחרים. במכשירים שלא תומכים ב-ZERO_SHUTTER_LAG, המערכת תחזור ל-CAPTURE_MODE_MINIMIZE_LATENCY. - הוצאה משימוש של
android.camera.core.VideoCapture. - הוספנו את
setStreamUseCase()בתור API ציבורי שלCamera2Interop. - הוספנו דרישה לרמת API עבור
setOutputImageRotationEnabled. - השם של
ImageAnalysis.Analyzer#getTargetResolutionOverride()שונה ל-ImageAnalysis.Analyzer#getDefaultTargetResolution(). - הוספנו API להגדרת מטא-נתונים של מיקום בסרטון השמור.
- תוקנה בעיה של קצב פריימים נמוך כשמשתמשים ב-
VideoCaptureובתרחישי שימוש בתצוגה מקדימה עם יחס גובה-רוחב של 16:9 - תוקנה בעיית התצוגה המקדימה השחורה שמתרחשת כשתוסף ה-BOKEH מופעל בחלק ממכשירי סמסונג והמשתמש מחליף בין המצלמות.
- תוקנה בעיה של מתיחה במכשירי Samsung J7 Prime (SM-G610M) ו-J7 (SM-J710MN)
Preview/VideoCaptureברמת API 27. - השבתנו את הפתרון העקיף לשינוי הכיוון של אזור המיקוד האוטומטי אופקית במצלמות הקדמיות ב-Samsung Android T, כי הבעיה נפתרה
גרסה 1.2.0-rc01
24 באוקטובר 2022
androidx.camera:camera-*:1.2.0-rc01 מופץ. גרסה 1.2.0-rc01 מכילה את השמירות האלה.
שינויים ב-API
- הוספת
setStreamUseCaseAPI ל-OutputConfiguration. המשתמש יכול לציין את תרחיש השימוש בסטרימינג עבור סשן הסטרימינג, ולבטל את הלוגיקה הפנימית של CameraX לבחירת תרחיש השימוש בסטרימינג כדי לבצע אופטימיזציה בהתאם לצורך שלו. (Ib1a95)
תיקוני באגים
- תוקנה בעיה של מתיחה ב-Samsung J7 Prime (SM-G610M) ו-J7 (SM-J710MN)
Preview/VideoCaptureבמכשירים ברמת API 27. רזולוציה של 1920x1080 גורמת למתיחה של התמונותPreview/VideoCapture. נוסף פתרון עקיף כדי לא לבחור ברזולוציה 1920x1080 לתצוגה מקדימה או ל-VideoCapture, וכך למנוע את בעיית מתיחת התמונה. (I0e04e) - תוקן קצב פריימים נמוך כשמשתמשים ב-
VideoCaptureובתרחישי שימוש בתצוגה מקדימה עם יחס גובה-רוחב של 16:9 בחלק ממכשירי Huawei. (If8c88, b/223643510) - תוקנה בעיה שגרמה לכך שלא הייתה אפשרות לפתוח את המצלמה כשההגדרה
SurfaceProviderשל התצוגה המקדימה לא הוגדרה. כחלק מהתיקון, תצוגה מקדימה ללא הגדרה שלSurfaceProviderלא תוגדר יותר בסשן של צילום המצלמה. (I99681)
גרסה 1.2.0-beta02
21 בספטמבר 2022
androidx.camera:camera-*:1.2.0-beta02 מופץ. גרסה 1.2.0-beta02 מכילה את השמירות האלה.
שינויים ב-API
- הוספת דרישה לרמת API
setOutputImageRotationEnabled(I26e3e, b/240993561)
תיקוני באגים
- השבתנו את הפתרון העקיף לשיקוף אופקי של אזור המיקוד האוטומטי במצלמות קדמיות ב-Samsung Android T, כי הבעיה נפתרה. (I05f69)
- תוקנה בעיית התצוגה המקדימה השחורה שמתרחשת כשתוסף
BOKEHמופעל בחלק ממכשירי סמסונג והמשתמש מחליף בין המצלמות. (If6168)
גרסה 1.2.0-beta01
24 באוגוסט 2022
androidx.camera:camera-*:1.2.0-beta01 מופץ. גרסה 1.2.0-beta01 מכילה את השמירות האלה.
תכונות חדשות
- ספרייה חדשה
camera-mlkit-vision. קל לשלב את CameraX עם הרבה תכונות של MLKit, כולל סריקת ברקוד, זיהוי פנים, זיהוי טקסט ועוד. קוד לדוגמה זמין כאן. - Zero-Shutter Lag API חדש וניסיוני. אופטימיזציה של צינור הלכידה כדי להשיג חביון טוב יותר תוך שמירה על איכות תמונה טובה. כשמצב הצילום מוגדר ל-CAPTURE_MODE_ZERO_SHUTTER_LAG, מצופה שההשהיה בין הקליק על לחצן הצילום לבין צילום התמונה תהיה מינימלית, בהשוואה למצבי צילום אחרים. במכשירים שלא תומכים ב-ZERO_SHUTTER_LAG, המערכת תחזור ל-CAPTURE_MODE_MINIMIZE_LATENCY.
- הגדרנו את
ImageAnalysis.AnalyzerוMLKitAnalyzerכממשקי API רשמיים. - API חשוף להגדרת מטא-נתוני מיקום בסרטון השמור.
- שינוי השם של
ImageAnalysis.Analyzer#getTargetResolutionOverride()לImageAnalysis.Analyzer#getDefaultTargetResolution().
תיקוני באגים
- תוקנה בעיה בצילום תמונות במכשיר Alps k61v1_basic_ref. מטא-נתוני Exif שגויים בתמונות JPEG שצולמו מ-HAL. במטא-נתונים של Exif אין את התג 0xffd9 או 0xffda, ולכן
ExifInterfaceלא יכול לנתח את המאפיינים בצורה נכונה. כדי לעקוף את הבעיה הזו, אפשר לצלם את התמונות בפורמט YUV ואז לדחוס אותן לתמונות פלט בפורמט JPEG. (I45abb)
גרסה 1.2.0-alpha04
27 ביולי 2022
androidx.camera:camera-*:1.2.0-alpha04 מופץ. גרסה 1.2.0-alpha04 מכילה את השמירות האלה.
שינויים ב-API
- שינוי השם של
ImageAnalysis.Analyzer#getTargetResolutionOverride()לImageAnalysis.Analyzer#getDefaultTargetResolution(). בנוסף, שונה אופן הפעולה כך שהערך שמוחזר על ידי ה-method הזה יכול להיות מוחלף על ידי הערך שלImageAnalysis#setTargetResolution(). (If1d36) - API חשוף להגדרת מטא-נתוני מיקום בסרטון השמור. אפשר להגדיר אובייקט
android.location.Locationבאמצעות API חדשandroidx.camera.video.OutputOptions.Builder.setLocation(Location). (I313a0, b/204197544)
תיקוני באגים
- תיקון הבעיה כדי לצלם תמונה עם תצוגה מקדימה לא מקושרת (Ie70b6, b/235119898)
- תוקנה קריסה ב-
Recorderבניסיון להקליט כשהמקור של האודיו לא זמין. (I9f652)
גרסה 1.2.0-alpha03
29 ביוני 2022
androidx.camera:camera-*:1.2.0-alpha03 מופץ. גרסה 1.2.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- הסרנו את ההערה הניסיונית לגבי
ImageAnalysis.Analyzerו-MLKitAnalyzer. (I0ff22)
תיקוני באגים
- נוסף זמן קצוב לתפוגה של מיקוד אוטומטי (AF) כברירת מחדל של 5,000 מילי-שניות, שישלים את החלק של המיקוד האוטומטי עם הערך
isFocusSuccessfulfalse אם לא מתבצע ביטול שלFocusMeteringActionוהחלק של המיקוד האוטומטי לא מתכנס במהלך הזמן הזה. (Ibc2e3) - צריך לפתור את הבעיה כדי לצלם תמונה עם תצוגה מקדימה לא קשורה (I1d3a2, b/235119898)
- הופעלה הטמעה מתקדמת של עדכוני תוספים, וגרסת הממשק של תוספי התמיכה ב-CameraX עודכנה ל-1.2 (I92256)
גרסה 1.2.0-alpha02
1 ביוני 2022
androidx.camera:camera-*:1.2.0-alpha02 מופץ. גרסה 1.2.0-alpha02 מכילה את השמירות האלה.
תכונות חדשות
- הצגת CameraX Zero-Shutter Lag API כניסיוני.
שינויים ב-API
- הוספת מצב צילום חדש
CAPTURE_MODE_ZERO_SHUTTER_LAGב-ImageCaptureוהוספתisZslSupportedב-CameraInfoכדי לשלוח שאילתה לגבי יכולת המכשיר. מצבCAPTURE_MODE_ZERO_SHUTTER_LAGנועד לספק את זמן האחזור המינימלי לצילום מיידי. הוא מיושם על בסיס מאגר זמני (ring buffer), ששומר במטמון תוצאות ביניים של צילום כדי לעבד אותן מחדש מאוחר יותר, כשהמשתמש לוחץ על לחצנים כדי לצלם תמונות. אם {@link VideoCapture} מאוגד או שמצב הפלאש לא מושבת או שהתוסף של יצרן הציוד המקורי מופעל, המצב הזה יושבת באופן אוטומטי. (I9ae74) - הוספת השיטה
ImageAnalysis.getBackgroundExecutor()(Icc945)
תיקוני באגים
- תוקנה בעיה שבה השיטה
ImageCapturetakePicture משביתה את הפנס במכשירים המדווחים. (Ib5eb5, b/228272227) - תוקן באג שבו לא בוצע טיפול ב-
AssertionErrorכשמתקבלת המאפייןCONTROL_ZOOM_RATIO_RANGE.(/Ia248a, b/231701345)
גרסה 1.2.0-alpha01
18 במאי 2022
androidx.camera:camera-*:1.2.0-alpha01 מופץ. גרסה 1.2.0-alpha01 מכילה את השמירות האלה.
תכונות חדשות
- השקנו ספרייה חדשה, camera-mlkit-vision
תיקוני באגים
- תוקנה בעיה שבה
QualitySelectorלא מצליח להקליט סרטון UHD כשמופעלת אסטרטגיית חזרה למצב קודם. הבעיה מתרחשת כש-VideoCaptureמאוגד ל-ImageCaptureומוצגת תצוגה מקדימה במכשיר מצלמה ברמת חומרה מלאה או גבוהה יותר. שיטת גיבוי שלQualitySelectorגורמת לכך ש-VideoCaptureמקבל רזולוציית FHD באופן שגוי. בפועל, רזולוציית UHD נתמכת בשילוב הזה של תרחישי שימוש, וכדאי להשתמש בה. (I0e788, b/230651237) - תוקן בתאריך
NullPointerExceptionבמוצרImageCapture.takePicture(). (I92366, b/230454568, b/229766155) - תיקון התנהגות ההשהיה האסינכרונית של
androidx.camera.video.Recorder(Ia8ce8)
Camera-Camera2, Camera-Core, Camera-Lifecycle ו-Camera-Video גרסה 1.1.0
גרסה 1.1.0
29 ביוני 2022
androidx.camera:camera-*:1.1.0 מופץ. גרסה 1.1.0 מכילה את השמירות האלה.
שינויים חשובים מאז גרסה 1.0.0
- ספריות Landed View, Extension ו-Video Capture כגרסת ה-RC הראשונה שלהן. החל מגרסה 1.1.0-beta01, כל ספריות CameraX יתאימו לאותו מספר גרסה. כך יהיה למפתחים קל יותר לעקוב אחרי גרסאות, והם יוכלו לצמצם את המורכבות של מטריצות תאימות גדולות של גרסאות.
- השקנו ממשקי API ותכונות חדשים לציבור, כולל:
- הוספת ספריית הווידאו הרשמית של המצלמה כדי לתמוך בתרחישי שימוש בצילום וידאו.
- יכולת המרה וסיבוב מ-YUV ל-RGB (
ImageAnalysis.Builder.setOutputImageRotationEnabledו-setOutputImageFormat) - תמיכה במצב מרובה חלונות על ידי מתן אפשרות לאפליקציות CameraX להפעיל מחדש את המצלמה כשאפליקציה אחרת מפריעה למצלמה והמיקוד חוזר.
- תוקנו כמה בעיות בתצוגה המקדימה כדי להבטיח שאפליקציית CameraX תפעל בצורה טובה במכשירים מתקפלים.
- הוספנו
CameraStateAPI שייחשף דרך CameraInfo. - נוסף API
ProcessCameraProvider.getAvailableCameraInfos()לאחזור ישיר של מידע על המצלמות הזמינות - פורמט JPEG של הפלט עבור
ImageCapture#OnImageCapturedCallbackכשתוספים מופעלים. - נוסף ממשק API
isFocusMeteringSupportedב-CameraInfoשמאפשר לאפליקציות לבדוק אםFocusMeteringActionנתמך במצלמה הנוכחית או לא. - הוספנו
getResolutionInfoAPI כדי לספק את פרטי הרזולוציה לתצוגה המקדימה,ImageCaptureו-ImageAnalysis. - נוסף API חדש
ImageCapture.Builder#setJpegQualityשמאפשר לשנות את איכות הדחיסה של תמונות JPEG שנוצרות כשמצלמים תמונות. - הוספנו את
CameraSelector#filterל-API הציבורי כדי לסנן רשימה שלCameraInfosעל סמךCameraSelector. - נוספה האפשרות
Camera2CameraControl.clearCaptureRequestOptionsלניקוי האפשרויות הקיימות של בקשת הצילום. - הוספנו API ניסיוני לשימוש ב-
CameraControllerעם ספריות חיצוניות לעיבוד תמונות, למשל MLKit - נוסף API ניסיוני
CameraInfo#getCameraSelector()שמחזירCameraSelectorייחודי למצלמה שלו - קידמנו כמה ממשקי API ניסיוניים לממשקי API ציבוריים רשמיים
- החלפנו את ההערה
@Experimentalבהערה@RequiresOptInבממשקי API ניסיוניים. כדי לקרוא ל-APIs ניסיוניים, צריך להשתמש ב-androidx.annotation.OptIn במקום ב-androidx.annotation.experimental.UseExperimental שהוצא משימוש. - העברנו את ממשקי ה-API הניסיוניים הבאים לממשקי API רשמיים:
CameraXConfig.Builder#setAvailableCamerasLimiter(),CameraXConfig.Builder#setMinimumLoggingLevel(),CameraXconfig.Builder#setSchedulerHandler(),CameraXConfig#getAvailableCamerasLimiter(),CameraXConfig#getMinimumLoggingLevel(),CameraXConfig#getCameraExecutor(),CameraXConfig#getSchedulerHandler(), - ממשקי API של
@ExperimentalCameraFilter - ממשקי API ניסיוניים של פיצוי חשיפה.
- קידמנו את ה-API הניסיוני
UseCaseGroupעבור camera-core, camera-lifecycle ו-camera-video. נוספוViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirectionו-ViewPort.Builder#setScaleTypeלהתאמה אישית של אזור התצוגה. - העברנו את
ExperimentalUseCaseGroupLifecycleלממשקי API ציבוריים רשמיים. - שינויים בממשקי API קיימים
Renamed MediaStoreOutputOptions.getCollectionעדMediaStoreOutputOptions.getCollectionUri.- השם של
ActiveRecordingשונה ל'הקלטה' כדי לצמצם את השימוש במילים. - שינוי של
QualitySelectorcreator API ל-API מבוסס-רשימה
תיקוני באגים
- תוקנה בעיה ב-
YuvToJpegProcessorEOFExceptionכשהמצב של התוסף מופעל והמצב שלImageCapture#CAPTURE_MODE_MAX_QUALITYמוגדר. - תוקנה הגדרת קודק שנכשלה בגלל סגירה של הקלטת וידאו
- תוקן יחס הגובה-רוחב של התצוגה המקדימה או הסרטון שנמתח כשמצלמים ב-FHD
- תוקנה בעיה שגרמה לאי-סנכרון בין האודיו לווידאו אחרי השהיה והפעלה מחדש בחלק מהמכשירים
- תוקנה הבעיה שבה הפלאש מופעל במהלך הקשה למיקוד (
startFocusAndMetering) כשמצב הפלאש הוא אוטומטי או תמיד פועל בסביבה עם תאורה חלשה.
גרסה 1.1.0-rc02
1 ביוני 2022
androidx.camera:camera-*:1.1.0-rc02 מופץ. גרסה 1.1.0-rc02 מכילה את השמירות האלה.
תיקוני באגים
- תוקן בתאריך
NullPointerExceptionבמוצרImageCapture.takePicture(). (I92366, b/230454568, b/229766155) - תוקן באג שגרם לכך ש-
AssertionErrorלא טופל כשמאפייןCONTROL_ZOOM_RATIO_RANGEהתקבל. (Ia248a, b/231701345)
גרסה 1.1.0-rc01
11 במאי 2022
androidx.camera:camera-*:1.1.0-rc01 מופץ. גרסה 1.1.0-rc01 מכילה את השמירות האלה.
תכונות חדשות
- השקת גרסת RC ראשונה לשימוש במצלמה לצילום סרטונים, לשימוש במצלמה לצפייה ולשימוש בתוסף המצלמה
תיקוני באגים
- תוקנה הבעיה שבה קודק הווידאו לא שוחרר כש-
VideoCapture<Recorder>היה לא מאוגד, מה שגרם לשימושים הבאים ב-VideoCapture<Recorder>להיכשל בהקלטה עםMediaCodec.CodecException, במיוחד במכשירים עם API 21-22. (Ie7f68) - פתרון בעיה שבה תמונות שצולמו של
CameraExtensionsActivityלא נמחקות ב-ImageCaptureTest
גרסה 1.1.0-beta03
6 באפריל 2022
androidx.camera:camera-*:1.1.0-beta03 מופץ. גרסה 1.1.0-beta03 מכילה את השמירות האלה.
שינויים ב-API
- הגבלנו את הגישה לבונה
CaptureRequestOptions. (I261b6) - הוספנו API ניסיוני לשימוש ב-
CameraControllerעם ספריות חיצוניות לעיבוד תמונות, למשל MLKit (I4ea71)
תיקוני באגים
- תוקנה הבעיה שגרמה לכך שהתצוגה המקדימה הפכה לרוחבית ב-
PreviewViewכשפעילות לא הופעלה מחדש אחרי סיבוב המכשירים במצב ריבוי חלונות. (I1ea36, b/223488673) - תוקנה בעיה בריבוי חלונות שגרמה לכך שכשהמיקוד חזר לאפליקציה, לא הייתה אפשרות להפעיל מחדש את המצלמה אם (1) אפליקציה אחרת עם עדיפות גבוהה פתחה מצלמה אחרת (2) המכשיר הוא מכשיר Samsung עם Android 12. (I7e9f2)
- כולל פתרון עקיף למכשירים שקורסים כשבודקים את הזמינות של פלאש. המכשירים האלה לא יכללו פנס. (If26a3, b/216667482)
- תיקון
AbstractMethodErrorבעיה שמתרחשת כשאפליקציות משתמשות בתוספים ומפעילות את proguard. (I7cbaf, b/222726805) - השבתה בכוח של מצב הרחבת בוקה במכשיר Motorola razr 5G, שתגרום לבעיה במסך התצוגה המקדימה השחור. (I35d49)
- תוקן באג שגרם לאודיו ולסרטון להיות לא מסונכרנים אחרי השהיה והמשך הפעלה בחלק ממכשירי Samsung עם גרסה קודמת ל-API 29. (I64622, b/202798609, b/202798572)
- תוקנה הבעיה של אודיו/וידאו לא מסונכרנים אחרי השהיה והמשך הפעלה ב-Sony G3125. (I2a1a5, b/202799148)
- תוקנה קריסה שמתרחשת כשהכלי להקלטת מסך נתקל ב
InvalidConfigException. עם זאת, התיקון הזה רק מונע את קריסת האפליקציה, אבל לא פותר את הסיבה לInvalidConfigException. אם עדיין אי אפשר להגדיר אתRecorder, האפליקציות יקבלו קריאה חוזרת לשגיאה כשההקלטה תתחיל. (I89c29, b/213617227)
External Contribution
- בוצע עדכון של :compose:ui:ui-test api (updateApi) בעקבות העברה של test-coroutines-lib (I3366d)
גרסה 1.1.0-beta02
23 בפברואר 2022
androidx.camera:camera-*:1.1.0-beta02 מופץ. גרסה 1.1.0-beta02 מכילה את השמירות האלה.
שינויים ב-API
- הוספת היכולת לציין מזהה פיזי של מצלמה דרך Camera2Interop. (I5aed8)
תיקוני באגים
- תוקנה הבעיה של תצוגה מקדימה מתוחה ב-Oppo Find N (I7d004)
- תוקנה בעיה ב-Galaxy J7 Prime שגרמה לעיוות בתצוגה המקדימה. (I4c500)
- להשתמש בקצב העברת נתונים תואם כדי למצוא מקודד וידאו. (d969052)
גרסה 1.1.0-beta01
26 בינואר 2022
androidx.camera:camera-*:1.1.0-beta01 מופץ. גרסה 1.1.0-beta01 מכילה את השמירות האלה.
תכונות חדשות
- החל מגרסה 1.1.0-beta01, כל ספריות CameraX יתאימו לאותו מספר גרסה. כך יהיה למפתחים קל יותר לעקוב אחרי הגרסאות, והם לא יצטרכו להתמודד עם מטריצה מורכבת של תאימות בין גרסאות.
שינויים ב-API
- נוספה האפשרות
Camera2CameraControl.clearCaptureRequestOptionsלניקוי האפשרויות הקיימות של בקשת התיעוד. (Ifa07d)
תיקוני באגים
- תוקנה הקריסה שהתרחשה בזמן הקלטת סרטון בחלק מהמכשירים עם גרסה קודמת ל-Android O(API 26). (I88fdf, b/212328261)
- תוקנה הבעיה שקשורה לאזור ה-AF הלא נכון כשמשתמשים ב-
cameraControl#startFocusAndMetering()במצלמה הקדמית במכשירי Samsung (Ifbf59, b/210548792) - שימוש בפנס כמבזק ב-Pixel 3a/Pixel 3a XL כדי לשפר את המהירות ואת איכות התמונה שצולמה בחושך (Ib12b6, b/211474332)
- האפשרות מאפשרת לאפליקציות להפעיל מחדש את המצלמה כשהשימוש בה מופסק על ידי אפליקציה אחרת עם עדיפות גבוהה יותר במצב מרובה חלונות, והמיקוד חוזר לאפליקציה. חשוב לדעת: יכול להיות שיהיה עיכוב(של שנייה אחת עד 10 שניות או יותר) בין שינויים במיקוד לבין פתיחה מחדש של המצלמה, בגלל בעיה במסגרת. (I4d092)
גרסה 1.1.0-alpha12
15 בדצמבר 2021
androidx.camera:camera-*:1.1.0-alpha12 מופץ. גרסה 1.1.0-alpha12 מכילה את השמירות האלה.
שינויים ב-API
- הוסרו הערות מיותרות של
@RequiresApi(21)מהממשקים או מהמחלקות הפנימיות. (I8e286, b/204917951) - הקבועים של איכות ושל אסטרטגיית הגיבוי של
QualitySelectorהשתנו ועכשיו הם מיוצגים על ידי אובייקטים של מחלקה. לדוגמה, הערךQualitySelector.QUALITY_HDמשתנה ל-Quality.HD, והערךQualitySelector.FALLBACK_STRATEGY_LOWERמשתנה למופע שמוחזר על ידיFallbackStrategy.lowerQualityOrHigherThan(Quality). ה-API ששימש ליצירתQualitySelectorהשתנה ל-API מבוסס-רשימה. ה-API החדשQualitySelector.fromOrderedList(List<Quality>)יתייחס לסדר של רשימת האיכות של הקלט במקום לסדר שנוצר על ידיQualitySelector.Procedure. הוסרה המחלקהQualitySelector.Procedure. (I43343) - המאפיין
PendingRecording.withEventListener()הוסר, ועכשיו צריך להעביר את ה-event listener אלPendingRecording.start(). הדרישה הזו ל-event listener נועדה לעודד טיפול בשגיאות אסינכרוניות שמדווחות באירועVideoRecordEvent.Finalize. (I1e71d) - השם של
ActiveRecordingשונה ל-Recordingכדי להפחית את המלל. (I77ceb)
תיקוני באגים
- תוקנה הבעיה שגרמה לחשיפת חסר בתמונות שצולמו במצב
FLASH_AUTOבתנאי תאורה חלשים ב-Pixel 3a וב-Pixel 3a XL (I13f19, b/205373142) - תמיד להשתמש בגודל התצוגה העדכני ביותר כדי לקבוע את התצוגה המקדימה
Resolution. (I4a694) - הוסרו מהרשימה מצלמות שלא כוללות
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE. מצלמות עםREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEכוללות את קבוצת היכולות המינימלית שכל מכשיר מצלמה תומך בה. מצלמה בליREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLEיכולה להיות מצלמה שתומכת בפונקציונליות מיוחדת, והיא לא תומכת בפלט צבע רגיל. לא ניתן להשתמש ב-CameraXבמצלמות האלה לצורךPreview, ImageCapture, ImageAnalysisאוVideoCapture. לכן, צריך לסנן את המצלמות האלה כדי למנוע שימוש שגוי. (Ib8cda) - הפונקציה
CameraSelector#filterכבר לא מחזירה את השגיאהIllegalArgumentExceptionכשקבוצת התוצאות ריקה. (I27804) - מעכשיו נעשה שימוש בהיוריסטיקה חכמה יותר כדי לבחור הגדרות מקודד על סמך פרופילים שצוינו על ידי יצרן הציוד המקורי (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 הציבורי כדי לסנן רשימה של CameraInfo על סמך CameraSelector. (I105d0)
הוספנו את API setOutputImageRotationEnabled להגדרת ImageAnalysis. המשתמש יכול להפעיל סיבוב של מאגר תמונות YUV/RGB. זווית הסיבוב היא סיבוב יחסי שמחושב על סמך סיבוב החיישן וסיבוב היעד, כדי שהתמונה תישאר בחזית.
הוספנו את API setOutputImageRotationEnabled להגדרת ImageAnalysis. המשתמש יכול להפעיל סיבוב של מאגר תמונות YUV/RGB. זווית הסיבוב היא סיבוב יחסי שמחושב על סמך סיבוב החיישן וסיבוב היעד, כדי שהתמונה תישאר בחזית.
הוספת
getSensorToBufferTransformMatrixAPI ב-ImageInfo. המטריצה שמוחזרת היא מיפוי מקואורדינטות החיישן לקואורדינטות המאגר, כלומר מהערך שלCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZEלערך של(0, 0, image.getWidth, image.getHeight). אפשר להשתמש במטריצה כדי למפות את הקואורדינטות מ-{UseCase} אחד לאחר. לדוגמה, מיפוי של קואורדינטות הפנים שזוהו באמצעות ImageAnalysis לתצוגה המקדימה. (I9ff1e)נוסף API חדש ImageCapture.Builder#setJpegQuality שמאפשר לשנות את איכות הדחיסה של תמונת ה-JPEG שנוצרת כשמצלמים תמונה. (I8dcf4)
השם של MediaStoreOutputOptions.getCollection שונה ל-MediaStoreOutputOptions.getCollectionUri. (I16639)
תיקוני באגים
- נפתרה הבעיה שגרמה להפעלת הפלאש במהלך הקשה לפוקוס (startFocusAndMetering) כשמצב הפלאש הוא אוטומטי או always_on בסביבה עם תאורה חלשה. (Id4c11)
- השבתנו את HDR+ ב-Pixel 2 XL / Pixel 3 XL במצב MINIMIZE_LATENCY כדי לצמצם את זמן האחזור. (Ib6270, b/203505523)
External Contribution
גרסה 1.1.0-alpha10
13 באוקטובר 2021
androidx.camera:camera-*:1.1.0-alpha10 מופץ. גרסה 1.1.0-alpha10 מכילה את השמירות האלה.
תכונות חדשות
- הגרסה הראשונה של אלפא ל-Video פורסמה באופן רשמי ב-
androidx.camera:camera-video:1.1.0-alpha10. יש כמה בעיות ידועות שיתוקנו במהדורות הבאות.
שינויים ב-API
- הוספנו את ההערה
@RequiresApi(21)לכל המחלקות של CameraX והסרנו את minSdkVersion מ-AndroidManifest.xml. הפעולה הזו תאפשר לשלב בקלות את camera-core באפליקציות עם minSdkVersion נמוך מ-21, אבל שרוצות להשתמש באופן מותנה בנתיבי קוד שמסתמכים על API 21 ומעלה. אם האפליקציה מוגדרת עם minSdkVersion בגרסה 21 ומעלה, לא צריך לבצע שום פעולה. (Ie7f2e, b/200599470)
תיקוני באגים
- כדי שהאפליקציה תוכל לטפל בצורה תקינה ב-AssertionError שקרה כשנוצר CameraCharacteristics, צריך להפעיל את InitializationException. (Ibec79)
גרסה 1.1.0-alpha09
29 בספטמבר 2021
הגרסאות androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 וגם androidx.camera:camera-lifecycle:1.1.0-alpha09 יוצאות. גרסה 1.1.0-alpha09 מכילה את השמירות האלה.
שינויים ב-API
- ההערה ExperimentalUseCaseGroup הוסרה עכשיו, כי ממשקי ה-API כבר לא ניסיוניים. (I01ef5)
תיקוני באגים
- תוקנה בעיה שבה התמונות שצולמו מטושטשות במצב
MAXIMIZE_QUALITY. (I173a9, b/193823892) - תוקנה בעיה ב-Samsung Galaxy J5 שגרמה למצלמה להיתקע אחרי צילום תמונות עם פלאש מופעל או אוטומטי בסביבה חשוכה (I3aab9)
- כשצריך לחתוך תמונה ב-ImageCapture, התמונה החתוכה שנוצרת נדחסת בהתאם לרמת האיכות שצוינה בפורמט JPEG, לפי מצב הצילום שהוגדר. אם מצב הצילום הוא
CAPTURE_MODE_MINIMIZE_LATENCY, איכות הדחיסה של JPEG תהיה 95. אם מצב הצילום הואCAPTURE_MODE_MAXIMIZE_QUALITY, איכות הדחיסה של JPEG תהיה 100. (Ieb37c, b/142856426)
גרסה 1.1.0-alpha08
18 באוגוסט 2021
הגרסאות androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08 וגם androidx.camera:camera-lifecycle:1.1.0-alpha08 יוצאות. גרסה 1.1.0-alpha08 מכילה את השמירות האלה.
תכונות חדשות
- הוספנו את API setOutputImageFormat להגדרת ניתוח תמונות. המשתמש יכול לבחור באחת מהאפשרויות: ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 או ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. כברירת מחדל, האפשרות ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 תהיה מסומנת. (I7902d)
שינויים ב-API
- ההערה ExperimentalUseCaseGroupLifecycle הוסרה עכשיו כי ממשקי ה-API כבר לא ניסיוניים. (I17b85)
תיקוני באגים
- תוקנה בעיה שבה מסך התצוגה המקדימה בהיר מדי ב-Huawei P20 Lite. הבעיה הזו מתרחשת רק כשמשתמשים ברזולוציות מסוימות של תצוגה מקדימה יחד עם ערך גדול של הגדלה. (Idefce, b/192129158)
- תוקנה בעיה שבה הפלאש לא פועל בחלק מהמכשירים כשמגדירים את מצב הפלאש ל-FLASH_MODE_ON ואז מצלמים תמונות. (Ieb49b)
- תוקנה הבעיה שגרמה להשהיית התצוגה המקדימה למשך זמן מסוים בזמן צילום תמונות אם VideoCapture, ImageCapture ו-Preview קשורים. (I56197, b/193864120)
- מאפשר ל-ImageAnalysis לבחור רזולוציה גדולה מ-1080p. מכשיר ברמה LIMITED ומעלה יכול לתמוך ברזולוציה בגודל RECORD לניתוח תמונות כשהוא משולב עם Preview ו-ImageCapture. הפשרה היא שהרזולוציה שנבחרה ל-ImageCapture תצטרך להיות גם רזולוציה בגודל RECORD. כדי לבחור בהצלחה רזולוציה של גודל RECORD עבור ImageAnalysis, צריך להגדיר רזולוציית יעד של גודל RECORD גם ב-ImageCapture וגם ב-ImageAnalysis. המשמעות היא שהאפליקציה מבינה את הפשרה הנדרשת, ומעדיפה שהרזולוציה של ImageAnalysis תהיה גדולה יותר מאשר שהרזולוציה של ImageCapture תהיה מקסימלית. הגדרות של RECORD, גדלים מקסימליים ופרטים נוספים זמינים בכתובת https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. הגודל של RECORD מתייחס לרזולוציית ההקלטה המקסימלית הנתמכת של מכשיר המצלמה, כפי שנקבע על ידי CamcorderProfile. הגודל המקסימלי מתייחס לרזולוציית הפלט המקסימלית של מכשיר המצלמה עבור הפורמט או היעד הזה מתוך StreamConfigurationMap.getOutputSizes(int). (I1ee97, b/192911449)
- הוספת נתוני Exif לתמונה שצולמה. (I01ff0, b/193342619)
- ב-ImageCapture, מחזירים את ה-URI של התמונה שנשמרה אם מיקום השמירה הוא File (קובץ). (Ib5b49, b/149241379)
- תוקנה בעיה שגרמה לכך שתמונות שצולמו עם פלאש היו כהות בהרבה מכשירים. (I4e510)
גרסה 1.1.0-alpha07
21 ביולי 2021
הגרסאות androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07 וגם androidx.camera:camera-lifecycle:1.1.0-alpha07 יוצאות. גרסה 1.1.0-alpha07 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה ב-Samsung Galaxy Note 5 שבה המצלמה נתקעת אחרי צילום תמונות עם פלאש מופעל או אוטומטי בסביבה חשוכה (If6871)
- תוקנה בעיה של
YuvToJpegProcessorEOFException כשמצב התוסף מופעל ומצב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#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- הוספנו את הממשק CameraProvider כדי לספק גישה לקבוצה של מצלמות. (I1a7b1)
- קידום ה-API הניסיוני UseCaseGroup עבור camera-core, camera-lifecycle ו-camera-video. נוספו
ViewPort#getLayoutDirection, ViewPort.Builder#setLayoutDirectionו-ViewPort.Builder#setScaleTypeלהתאמה אישית של אזור התצוגה. (I7cee8)
גרסה 1.1.0-alpha05
2 ביוני 2021
הגרסאות androidx.camera:camera-camera2:1.1.0-alpha05, androidx.camera:camera-core:1.1.0-alpha05 וגם androidx.camera:camera-lifecycle:1.1.0-alpha05 יוצאות. גרסה 1.1.0-alpha05 מכילה את השמירות האלה.
שינויים ב-API
- הוסרה הכיתה
Camera2CameraFilter. מומלץ לבחור מצלמה באמצעות CameraFilter ולאחזר את CameraCharacteristics או מידע אחר שקשור ל-Camera2 דרך Camera2CameraInfo אם צריך. (Ib887c) ExperimentalCameraFilterממשקי ה-API כבר לא בשלב הניסוי, והם הפכו לממשקי API רשמיים. אפשר להשתמש בהם בלי להוסיף הערה ל-OptIn. (I4bc94)- הוספנו API של מצב המצלמה שמוצג דרך
CameraInfo#getCameraState(). (Ia86b4) - נוסף API ניסיוני
CameraInfo#getCameraSelector()שמחזיר CameraSelector ייחודי למצלמה שלו (I77f9f)
תיקוני באגים
- תוקנה הבעיה שבה ListenableFuture הוחזר ב-setZoomRatio ו-setLinearZoom לא יכול להסתיים בחלק ממכשירי Android 11 (I716d7)
- האצת המעבר בין מצלמות והפחתת שיעור השגיאות במצלמה (I34c99)
- הוחלף ExperimentalUseCaseGroupLifecycle ב-ExperimentalUseCaseGroup. (I3b2ef, b/159033688)
גרסה 1.1.0-alpha04
21 באפריל 2021
הגרסאות androidx.camera:camera-camera2:1.1.0-alpha04, androidx.camera:camera-core:1.1.0-alpha04 וגם androidx.camera:camera-lifecycle:1.1.0-alpha04 יוצאות. גרסה 1.1.0-alpha04 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה דליפת זיכרון שנגרמה מכמה שרשורים שניגשים בו-זמנית לאותו אוסף. דליפת הזיכרון עשויה לגרום לשמירת הפעילות או הפריט על ידי מופע של תצוגה מקדימה. (I7b4b8)
- החלפנו את ההערה
@Experimentalבהערה@RequiresOptInבממשקי API ניסיוניים. כדי לקרוא לממשקי API ניסיוניים, משתמשים ב-androidx.annotation.OptInבמקום ב-androidx.annotation.experimental.UseExperimentalשהוצא משימוש. (Iff226) - תוקן ImageCapture עם פלאש מופעל או אוטומטי, שיוצר תמונות דהויות ב-Samsung Galaxy S7. (I30001)
- נוסף CameraState API שייחשף דרך CameraInfo. (I75392)
גרסה 1.1.0-alpha03
24 במרץ 2021
הגרסאות androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03 וגם androidx.camera:camera-lifecycle:1.1.0-alpha03 יוצאות. גרסה 1.1.0-alpha03 מכילה את השמירות האלה.
תיקוני באגים
- פורמט הפלט של
ImageCapture#OnImageCapturedCallbackהוא JPEG כשמצב התוספים מופעל. (I0d7b1) - תוקנה בעיה שגרמה לכשל באתחול במכשירי UMIDIGI BISON (I57d9e, b/180818665)
- תוקנה תצוגה מקדימה מתוחה ב-PreviewView ב-Samsung A3. (Iacb30, b/180121821)
גרסה 1.1.0-alpha02
24 בפברואר 2021
הגרסאות androidx.camera:camera-camera2:1.1.0-alpha02, androidx.camera:camera-core:1.1.0-alpha02 וגם androidx.camera:camera-lifecycle:1.1.0-alpha02 יוצאות. גרסה 1.1.0-alpha02 מכילה את השמירות האלה.
שינויים ב-API
- נוסף API
ProcessCameraProvider.getAvailableCameraInfos()לאחזור ישיר של מידע על המצלמות הזמינות, שהן כל המצלמות במכשיר או המצלמות שנבחרו על ידיCameraSelectorשסופק ב-CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector). (Ieac08)
תיקוני באגים
- עכשיו, CameraX מנסה לפתוח מצלמה בכוח בניסיון הראשוני, ולכן יכול להיות ש-CameraX יגנוב את המצלמה מלקוחות אחרים של המצלמה אם לאפליקציה שלו יש עדיפות גבוהה יותר. (Iab069, b/175820568)
- תוקנה הכשל בבדיקת Robolectric כשמשתמשים ב-setAvailableCamerasLimiter ב-CameraXConfig. (Ice307)
- השינוי הזה מטפל בחריגה כשמגיעים למקסימום של תור התמונות ב-ImageAnalysis. לכן, במקום קריסה, יכול להיות שתבחינו בתרחישי שימוש אחרים שקופאים או פועלים לאט. לדוגמה, תצוגה מקדימה קפואה או איטית. (Ic12da, b/175851631)
- תוקן ExtensionsErrorListener כדי לדווח על שגיאות כשרק Preview או ImageCapture מאוגדים. (I5ae39)
- בוצע תיקון של רגרסיה בביצועים של ImageCapture על ידי הסרת האימות של מיקום שמירת התמונה לפני הצילום. אחרי שמבצעים את השינוי הזה, אם יעד השמירה לא תקין, ייקח יותר זמן לקבל את תגובת השגיאה כי המערכת תנסה לשמור את התמונה אחרי הצילום. (I1fd4e, b/177061560)
- תוקנה רגרסיה בביצועים של ImageCapture עם OutputFileOptions מסוג 'קובץ'. (I5164a, b/177061560)
- התיעוד עודכן כך שלא מומלץ להשתמש ב-
ProcessCameraProvider.configureInstance(...)מקוד הספרייה. (Ib8a9f)
גרסה 1.1.0-alpha01
27 בינואר 2021
הגרסאות androidx.camera:camera-camera2:1.1.0-alpha01, androidx.camera:camera-core:1.1.0-alpha01 וגם androidx.camera:camera-lifecycle:1.1.0-alpha01 יוצאות. גרסה 1.1.0-alpha01 מכילה את השמירות האלה.
תיקוני באגים
- נוסף פתרון עקיף לבעיה של נתוני תמונה פגומים לסירוגין ב-JPEG במצלמה האחורית של SM-G930T. (I52001, b/159831206)
- תוקנה בעיה מספר
IllegalArgumentExceptionשקרתה כשכל הגדלים הנתמכים בתצוגה מקדימה קטנים מ-640x480 וגודל התצוגה גדול מ-640x480. (I2a63c, b/150506192) - משאבים בספריות שלא הוגדרו בהן משאבים ציבוריים באופן מפורש (למשל דרך public.xml) מוגדרים עכשיו כפרטיים כברירת מחדל. (Ia1dcc, b/170882230)
Camera-Camera2, Camera-Core ו-Camera-Lifecycle גרסה 1.0.2
גרסה 1.0.2
29 בספטמבר 2021
הגרסאות androidx.camera:camera-camera2:1.0.2, androidx.camera:camera-core:1.0.2 וגם androidx.camera:camera-lifecycle:1.0.2 יוצאות. גרסה 1.0.2 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה שבה התמונות שצולמו מטושטשות במצב
MAXIMIZE_QUALITY. (I173a9, b/193823892) - תוקנה בעיה שגרמה לכך שתמונות שצולמו עם פלאש היו כהות במכשירים רבים. (I4e510)
Camera-Camera2, Camera-Core ו-Camera-Lifecycle גרסה 1.0.1
גרסה 1.0.1
21 ביולי 2021
הגרסאות androidx.camera:camera-camera2:1.0.1, androidx.camera:camera-core:1.0.1 וגם androidx.camera:camera-lifecycle:1.0.1 יוצאות. גרסה 1.0.1 מכילה את השמירות האלה.
תיקוני באגים
תוקנה הבעיה שבה הערך
ListenableFutureשמוחזר ב-setZoomRatioוב-setLinearZoomלא יכול להסתיים בחלק ממכשירי Android 11 (I716d7)תוקנה הבעיה שבה המצלמה נתקעת במצב סגירה במכשירים מסוימים וגורמת לתצוגה מקדימה שחורה. (I34c99)
Camera-Camera2, Camera-Core ו-Camera-Lifecycle גרסה 1.0.0
גרסה 1.0.0
5 במאי 2021
הגרסאות androidx.camera:camera-camera2:1.0.0, androidx.camera:camera-core:1.0.0 וגם androidx.camera:camera-lifecycle:1.0.0 יוצאות. גרסה 1.0.0 מכילה את השמירות האלה.
התכונות העיקריות של גרסה 1.0.0
- CameraX תומך ב-Preview, ImageCapture ו-Analysis
- CameraX מנהל את מחזור החיים של המצלמה באמצעות API קל לשימוש
- CameraX נועדה לספק שכבת תאימות שמתקנת הרבה בעיות במערכת האקולוגית של מצלמות Android
בעיות מוכרות
גרסה 1.0.0-rc05
21 באפריל 2021
הגרסאות androidx.camera:camera-camera2:1.0.0-rc05, androidx.camera:camera-core:1.0.0-rc05 וגם androidx.camera:camera-lifecycle:1.0.0-rc05 יוצאות. גרסה 1.0.0-rc05 מכילה את השמירות האלה.
תיקוני באגים
- תוקן ImageCapture עם פלאש מופעל או אוטומטי, שיוצר תמונות דהויות ב-Samsung Galaxy S7. (I30001)
גרסה 1.0.0-rc04
24 במרץ 2021
הגרסאות androidx.camera:camera-camera2:1.0.0-rc04, androidx.camera:camera-core:1.0.0-rc04 וגם androidx.camera:camera-lifecycle:1.0.0-rc04 יוצאות. גרסה 1.0.0-rc04 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה שגרמה לכשל באתחול במכשירי UMIDIGI BISON (I57d9e, b/180818665)
גרסה 1.0.0-rc03
24 בפברואר 2021
הגרסאות androidx.camera:camera-camera2:1.0.0-rc03, androidx.camera:camera-core:1.0.0-rc03 וגם androidx.camera:camera-lifecycle:1.0.0-rc03 יוצאות. גרסה 1.0.0-rc03 מכילה את השמירות האלה.
תיקוני באגים
- תיקון שגיאת פורמט במסמך של
ProcessCameraProvider#getInstance - תוקנה הבעיה שגרמה לכשל בבדיקת Robolectric כשנעשה שימוש ב-setAvailableCamerasLimiter ב-CameraXConfig.
- בוצע תיקון של רגרסיה בביצועים של ImageCapture על ידי הסרת האימות של מיקום שמירת התמונה לפני צילום התמונה. אחרי שמבצעים את השינוי הזה, אם יעד השמירה לא תקין, ייקח יותר זמן לקבל את תגובת הכשל כי המערכת תנסה לשמור את התמונה אחרי הצילום
- השינוי הזה מטפל בחריגה כשמגיעים למקסימום של תור התמונות ב-ImageAnalysis. לכן, במקום קריסה, יכול להיות שתבחינו בתרחישים אחרים לדוגמה שנתקעים או פועלים לאט. לדוגמה, תצוגה מקדימה שנתקעת או פועלת לאט.
- נוסף פתרון עקיף לבעיה של נתוני תמונה פגומים לסירוגין ב-JPEG במצלמה האחורית של SM-G930T. (I52001, b/159831206)
- השינוי הזה מטפל בחריגה כשמגיעים למקסימום של תור התמונות ב-ImageAnalysis. לכן, במקום קריסה, יכול להיות שתבחינו בתרחישי שימוש אחרים שקופאים או פועלים לאט. לדוגמה, תצוגה מקדימה קפואה או איטית. (Ic12da, b/175851631)
- תוקנה הכשל בבדיקת Robolectric כשמשתמשים ב-setAvailableCamerasLimiter ב-CameraXConfig. (Ice307)
- בוצע תיקון של רגרסיה בביצועים של ImageCapture על ידי הסרת האימות של מיקום שמירת התמונה לפני צילום התמונה. אחרי שמבצעים את השינוי הזה, אם יעד השמירה לא תקין, ייקח יותר זמן לקבל את תגובת השגיאה כי המערכת תנסה לשמור את התמונה אחרי הצילום. (I1fd4e, b/177061560)
- תוקנה רגרסיה בביצועים של ImageCapture עם OutputFileOptions מסוג 'קובץ'. (I5164a, b/177061560)
גרסה 1.0.0-rc02
27 בינואר 2021
הגרסאות androidx.camera:camera-camera2:1.0.0-rc02, androidx.camera:camera-core:1.0.0-rc02 וגם androidx.camera:camera-lifecycle:1.0.0-rc02 יוצאות. גרסה 1.0.0-rc02 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה של IllegalArgumentException שקרתה כשכל הגדלים הנתמכים בתצוגה המקדימה קטנים מ-640x480 וגודל התצוגה גדול מ-640x480. (b/150506192)
הגבלת מספר הניסיונות לפתיחה מחדש של המצלמה. בניסיון לשחזר נתונים מבעיות מסוימות בפתיחת המצלמה, CameraX לא ינסה יותר לפתוח מחדש את המצלמה ללא הגבלת זמן, אלא יפסיק אחרי ניסיון חוזר של 10 שניות.I435d2
תוקנה בעיה מספר
IllegalArgumentExceptionשקרתה כשכל הגדלים הנתמכים בתצוגה מקדימה קטנים מ-640x480 וגודל התצוגה גדול מ-640x480. (I2a63c, b/150506192)
גרסה 1.0.0-rc01
16 בדצמבר 2020
הגרסאות androidx.camera:camera-camera2:1.0.0-rc01, androidx.camera:camera-core:1.0.0-rc01 וגם androidx.camera:camera-lifecycle:1.0.0-rc01 יוצאות. גרסה 1.0.0-rc01 מכילה את השמירות האלה.
שינויים ב-API
- השינוי של CameraFilter ו-Camera2Filter כדי לקבל CameraInfo. (I6883d)
- נוסף ניסוי Camera2CameraControl בכיתה כדי לאפשר אינטראקציה עם ממשקי Camera2 API באופן דינמי. (I45cf3)
- שם המשתנה Camera2CameraInfo#fromCameraInfo שונה ל-#from. (Ia2bd6)
- נוסף API ניסיוני בשם setAvailableCamerasLimiter ל-CameraXConfig כדי לאפשר לאפליקציות לייעל את זמן האחזור של האתחול על ידי מניעת אתחול של מצלמות שלא נעשה בהן שימוש. (I6cf88)
- הוספנו שיטה ניסיונית
CameraXConfig.Builder#setMinimumLoggingLevel()כדי לאפשר הגדרה של רמת הרישום המינימלית ביומני CameraX. אם לא מגדירים את המדיניות, ברירת המחדל היאLog#DEBUG. (Ic3245)
תיקוני באגים
- נוסף פתרון לבעיה של נתוני תמונה פגומים לסירוגין בקובצי JPEG במצלמה האחורית של SM-G930V. (I5aca5, b/159831206)
- תוקנה הבעיה שגרמה לכך שלא מתקבלות תוצאות כשמצלמים תמונות כשהפלאש מופעל תמיד או מופעל והסביבה חשוכה במכשירי Samsung SM-A716. (If98b2, b/172036589)
- תוקנה הבעיה שגרמה לכך שלא הייתה אפשרות לעצור את התצוגה המקדימה על ידי התקשרות למספר
Preview.setSurfaceProvider(null). (I3ac18) - תוקנה בעיה בכיוון כשמצלמים תמונות ביחס רוחב-גובה של 4:3 במכשירים מסוימים. (I0e3fb, b/171492111)
גרסה 1.0.0-beta12 של Camera Camera2, Core ו-Lifecycle
11 בנובמבר 2020
הגרסאות androidx.camera:camera-camera2:1.0.0-beta12, androidx.camera:camera-core:1.0.0-beta12 וגם androidx.camera:camera-lifecycle:1.0.0-beta12 יוצאות. גרסה 1.0.0-beta12 מכילה את השמירות האלה.
תיקוני באגים
- השבתנו את ההפעלה האוטומטית של הפלאש במכשירי Samsung A3 כדי לתקן את הקריסה שמתרחשת כשמצלמים תמונה עם מצב AE של הפלאש האוטומטי במכשירי Samsung A3. (Ia5fe3, b/157535165)
- תוקנה בעיה שבה התצוגה המקדימה הייתה מתוחה במכשירי Nexus 4 שפועלים עם Android L (רמות API 21 ו-22). (I4d407, b/158749159)
- ההטמעה של מחלקת הבסיס
OnImageCapturedCallback#onCaptureSuccessלא סוגרת יותר את התמונה. הסיבה לכך היא למנוע התנהגות לא צפויה אצל מפתחים. מפתחים לא צריכים להסתמך על super.onCaptureSuccess כדי לסגור את התמונה. (Ifbf9c) - הווריאציה androidx של ההערה Experimental הוצאה משימוש כדי לספק שוויון עם Kotlin. היא הוחלפה בהערת ה-annotation RequiresOptIn, והכלי לבדיקת קוד (linter) של Java עודכן כדי לתמוך גם בהערת ה-annotation החדשה של Kotlin וגם בגרסת androidx החדשה. (I52495, b/151331381)
מצלמה-מצלמה2 גרסה 1.0.0-beta11
14 באוקטובר 2020
androidx.camera:camera-camera2:1.0.0-beta11 מופץ. גרסה 1.0.0-beta11 מכילה את השמירות האלה.
תכונות חדשות
- תמיכה ב-API של Android 11
CONTROL_ZOOM_RATIOלזום במכשירי Android 11 ואילך שמכיליםCONTROL_ZOOM_RATIO_RANGEתקף. (I62cc6)
תיקוני באגים
- תוקנה הבעיה NumberFormatException שקרתה כשמזהה המצלמה לא היה מספר שלם. (Ib2228)
- שופר זמן האחזור של אתחול CameraX ושל bindToLifecycle (I61dc5)
- כדי ליצור UseCases לא צריך לאתחל את CameraX. כל ההגדרות הספציפיות להטמעה מוגדרות ב-UseCase אחרי שהוא מצורף למופע של Camera, שהוא
ProcessCameraProvider.bindToLifecycle()עבור ה-API הציבורי. (Ia5411) - הפונקציה
<UseCase>.getTargetRotation()תחזירSurface.ROTATION_0אם היא נקראת לפני שהיא מצורפת למופע של Camera, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)
גרסה 1.0.0-beta11 של Camera-Core
14 באוקטובר 2020
androidx.camera:camera-core:1.0.0-beta11 מופץ. גרסה 1.0.0-beta11 מכילה את השמירות האלה.
תכונות חדשות
- תמיכה ב-API של Android 11 CONTROL_ZOOM_RATIO להגדלת התצוגה במכשירי Android 11 ואילך שמכילים CONTROL_ZOOM_RATIO_RANGE תקין. (I62cc6)
תיקוני באגים
- תוקנה הבעיה NumberFormatException שקרתה כשמזהה המצלמה לא היה מספר שלם. (Ib2228)
- כדי ליצור UseCases לא צריך לאתחל את CameraX. כל ההגדרות הספציפיות להטמעה מוגדרות ב-UseCase אחרי שהוא מצורף למופע של Camera, שהוא
ProcessCameraProvider.bindToLifecycle()עבור ה-API הציבורי. (Ia5411) - הפונקציה
<UseCase>.getTargetRotation()תחזירSurface.ROTATION_0אם היא נקראת לפני שהיא מצורפת למופע של Camera, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)
גרסה 1.0.0-beta10 של Camera-Core
23 בספטמבר 2020
androidx.camera:camera-core:1.0.0-beta10 מופץ. גרסה 1.0.0-beta10 מכילה את השמירות האלה.
תיקוני באגים
- תיקון באג באימות יעד השמירה של קובץ לצילום תמונות (I8c565, b/167697553)
מצלמה-מצלמה2 גרסה 1.0.0-beta10
23 בספטמבר 2020
androidx.camera:camera-camera2:1.0.0-beta10 מופץ. גרסה 1.0.0-beta10 מכילה את השמירות האלה.
תיקוני באגים
- גרסה לתמיכה ב-Camera-Core 1.0.0-beta10
מצלמה-מצלמה2 גרסה 1.0.0-beta09
16 בספטמבר 2020
androidx.camera:camera-camera2:1.0.0-beta09 מופץ. גרסה 1.0.0-beta09 מכילה את השמירות האלה.
שינויים ב-API
- במקום לספק שיטות סטטיות, Camera2CameraInfo מקבל מופע של CameraInfo כשהוא נוצר כדי לאחזר מידע שקשור ל-Camera2. (I5b844)
תיקוני באגים
- תוקנה בעיה ביחס הגובה-רוחב של יעד במכשירי טאבלט. צריך לבחור גודל של 16:9 כשיחס הגובה-רוחב של היעד מוגדר כ-
AspectRatio.RATIO_16_9. (Ib7fcf, b/151969438) - כדי שהאפליקציה תוכל לטפל בצורה תקינה בשגיאת AssertionError שמתרחשת כשיוצרים CameraCharacteristics, צריך להשתמש ב-
InitializationException. (I89c8c, b/160524721) - הוספנו ממשקי ניסויים ל-ExposureCompensation (If96c7)
גרסה 1.0.0-beta09 של Camera-Core
16 בספטמבר 2020
androidx.camera:camera-core:1.0.0-beta09 מופץ. גרסה 1.0.0-beta09 מכילה את השמירות האלה.
שינויים ב-API
- תוקן הבאג שבו אזור התצוגה מסומן כלא ריק ב-UseCaseGroup. מפתחים צריכים להיות מסוגלים ליצור חלון תצוגה בלי להגדיר חלון תצוגה. (Ie3d2e)
- נוספו ממשקי ניסוי ל-
ExposureCompensation(If96c7) - מאפשרים סיבוב שרירותי של היעד בתצוגה המקדימה. פרטי השינוי מחושבים ומוחזרים למשתמש באופן מיידי באמצעות
TranformationInfoListenercallback חדש. (I21470)
תיקוני באגים
- תוקנה הבעיה שגרמה לכך שהפלאש בחלק מהמכשירים לא כבה. הבעיה התרחשה כשהפלאש הופעל (
FLASH_MODE_ON) לצילום תמונה, ואז הוגדר למצבFLASH_MODE_OFF. הסימפטום דומה למצב פנס מופעל. (Ib4451, b/162568128) - הכריח את PreviewView להשתמש ב-TextureView אם אפקט התוסף מופעל וההטמעה של ספריית הספק צריכה לבצע תהליך מיוחד במשטח הפלט. (I0c3cc)
- תוקן דליפת הפעילות/הקטע כשמועבר הקשר של פעילות/קטע אל
ProcessCameraProvider.getInstance(Context).
בעיות מוכרות
- כשמגדירים את ViewPort, יכול להיות שחיתוך המלבן של ImageCapture יהיה שגוי במכשירים שמסובבים את מאגר התמונות ב-HAL. נפתור את הבעיה הזו במהדורה הבאה.
מצלמה-מצלמה2 גרסה 1.0.0-beta08
19 באוגוסט 2020
androidx.camera:camera-camera2:1.0.0-beta08 מופץ. גרסה 1.0.0-beta08 מכילה את השמירות האלה.
תיקוני באגים
- בוצעה אופטימיזציה של bindToLifecycle כדי להפעיל במהירות בשרשור הראשי. (I1d57e)
- הפונקציה DisplayOrientedMeteringPointFactory מקבלת מופע של CameraInfo במקום CameraSelector, כך שיש מיפוי ישיר למצלמה שעבורה המפעל ייצור נקודות. כל הכיתות שמשתמשות ב-DisplayOrientedMeteringPointFactory מקבלות גם מופע של CameraInfo במקום CameraSelector. (I400c1)
- תוקן באג שקשור לקיבוץ גדלים של יחס גובה-רוחב ברזולוציה אוטומטית. הבעיה הייתה שגודל של 16:9 mod16 (864x480) נבחר כשגודל הרזולוציה של היעד הוא 2016x1080 ויש גודל נתמך אחר של 16:9 1920x1080. (I53167, b/159363774)
- תיקון הבעיה ב-CameraControl שמונעת את הפעולה בגלל מצב מירוץ (I2279f, b/152333890, b/160714166)
גרסה 1.0.0-beta08 של Camera-Core
19 באוגוסט 2020
androidx.camera:camera-core:1.0.0-beta08 מופץ. גרסה 1.0.0-beta08 מכילה את השמירות האלה.
שינויים ב-API
-
DisplayOrientedMeteringPointFactoryמקבל מופע במקוםCameraSelector, כך שיש מיפוי ישיר למצלמה שעבורה המפעל ייצור נקודות.CameraInfoכל המחלקות שמשתמשות ב-DisplayOrientedMeteringPointFactoryמקבלות גם מופעCameraInfoבמקוםCameraSelector. (I400c1)
תיקוני באגים
- לצילום תמונות, מחליפים את הדגל של היפוך אופקי במטא-נתונים על סמך כיוון המצלמה. (I28499)
- ההפעלה לא אמורה לקרוס יותר כשמשתמשים בהקשר שלא מחזיר אובייקט של אפליקציה מ-
Context.getApplicationContext(). (I3d3c9, b/160817073)
מצלמה-מצלמה2 גרסה 1.0.0-beta07
22 ביולי 2020
androidx.camera:camera-camera2:1.0.0-beta07 מופץ. גרסה 1.0.0-beta07 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה הבעיה שבה התצוגה המקדימה נמתחת במכשיר מדור קודם עם Android 5.0. (I0c03a)
- הוצאו מהרשימה גדלים מסוימים שנתמכים ב-JPEG, שיגרמו לבעיה של WYSIWYG במכשירים מסוימים. (Ib5128)
גרסה 1.0.0-beta07 של Camera-Core
22 ביולי 2020
androidx.camera:camera-core:1.0.0-beta07 מופץ. גרסה 1.0.0-beta07 מכילה את השמירות האלה.
שינויים ב-API
- מיזוג של
FIT_CENTER,FIT_STARTו-FIT_ENDעם סגנון ההתאמהFIT. FITמציין שגבולות החיתוך שיוחזרו יהיו הגבולות המקסימליים האפשריים של החיישן. (Ia73c3) - הגדרת אזור החיתוך של התצוגה המקדימה מתבצעת לפי אזור התצוגה. רק האזור שמכוסה על ידי מלבן החיתוך צריך להיות גלוי למשתמשי הקצה. (I142a4)
תיקוני באגים
- תוקנה הבעיה שבה התצוגה המקדימה נמתחת במכשיר מדור קודם עם Android 5.0. (I0c03a)
- תוקנה הבעיה של
ConcurrentModificationExceptionחריגה כשמבטלים את הקישור של תרחישי שימוש. (I371c0)
מצלמה-מצלמה2 גרסה 1.0.0-beta06
24 ביוני 2020
androidx.camera:camera-camera2:1.0.0-beta06 מופץ. גרסה 1.0.0-beta06 מכילה את השמירות האלה.
שינויים ב-API
- נוספו ממשקי ניסוי לסינון מצלמות לפי מזהה מצלמה (camera ID) ומאפייני מצלמה (CameraCharacteristics). (I28f61)
תיקוני באגים
- תוקנה הבעיה שבה הפונקציה startFocusAndMetering לא מצליחה להתמקד ב-Samsung Galaxy S7. (If3be7, b/159039233)
- תוקנה הבעיה שאי אפשר לסגור את המצלמה אחרי שיוצאים מהאפליקציה. (I7a7b3)
- תיקון של בעיה שגורמת להפסקת התצוגה המקדימה כשמשתמשים ב-SurfaceView implementation של PreviewView (I920ce)
- הפונקציה
CameraControl#startFocusAndMeteringתיכשל אם אף אחת מהנקודות MeteringPoint שצוינו לא יכולה ליצור מלבני מדידה תקינים. (Id53ce)
גרסה 1.0.0-beta06 של Camera-Core
24 ביוני 2020
androidx.camera:camera-core:1.0.0-beta06 מופץ. גרסה 1.0.0-beta06 מכילה את השמירות האלה.
שינויים ב-API
- נוספו ממשקי ניסוי לסינון מצלמות לפי מזהה מצלמה (camera ID) ומאפייני מצלמה (CameraCharacteristics). (I28f61)
תיקוני באגים
- מעכשיו אפשר להגדיר את CameraX באמצעות
ProcessCameraProvider#configureInstance()לפני שמפעילים אתProcessCameraProvider#getInstance(). כך אפשר להתאים אישית אתCameraXConfigבלי להטמיע אתCameraXConfig.Providerבמחלקת האפליקציה של האפליקציה. (Ia1a8d) - הפונקציה
CameraControl#startFocusAndMeteringתיכשל אם אף אחת מהנקודות MeteringPoint שצוינו לא יכולה ליצור מלבני מדידה תקינים. (Id53ce)
מצלמה-מצלמה2 גרסה 1.0.0-beta05
10 ביוני 2020
androidx.camera:camera-camera2:1.0.0-beta05 מופץ. גרסה 1.0.0-beta05 מכילה את השמירות האלה.
תיקוני באגים
- תוקן קריסת האפליקציה בזמן ההפעלה כשמאתחלים את CameraX בזמן שהטלפון במצב 'נא לא להפריע'.
InitializationExceptionמכילCameraUnavailableExceptionשיוגדר ל-ListenableFutureשל תוצאת האתחול במקום לגרום לקריסת האפליקציה. (I9909a, b/149413835) - תוקנה הקריסה שמתרחשת כשמתקשרים אל
startFocusAndMeteringבמכשירים שבהםCONTROL_AF_STATEהוא null. (Ife55e, b/157084254)
גרסה 1.0.0-beta05 של Camera-Core
10 ביוני 2020
androidx.camera:camera-core:1.0.0-beta05 מופץ. גרסה 1.0.0-beta05 מכילה את השמירות האלה.
שינויים ב-API
- תוקן קריסת האפליקציה בזמן ההפעלה כשמאתחלים את CameraX בזמן שהטלפון במצב 'נא לא להפריע'. הפונקציה
InitializationExceptionמכילה את הפונקציהCameraUnavailableException, והיא תוגדר ל-ListenableFutureשל תוצאת האתחול במקום לגרום לקריסת האפליקציה. (I9909a, b/149413835)
תיקוני באגים
- עדכון של מסמכי ה-Javadoc של
setTargetResolutionו-setTargetRotation. (Iae16f)
מצלמה-מצלמה2 גרסה 1.0.0-beta04
27 במאי 2020
androidx.camera:camera-camera2:1.0.0-beta04 מופץ. גרסה 1.0.0-beta04 מכילה את השמירות האלה.
תיקוני באגים
- אפליקציות מורשות יכולות להגדיר כל פרמטר של בקשת צילום camera2 דרך
Camera2Interopבלי לגרום לקריסה. חשוב לזכור שאם יש בעיות שנובעות משינוי הפרמטרים, לא מובטחת יציבות והתנהגות כשעוקפים פרמטרים באמצעות Camera2Interop. (Ibe5a1, b/149103700) - הבעיה של הפעלה אוטומטית תוקנה כשמשתמשים באפליקציה במכשיר שמוגדר בו פסאודו-לוקאל. (I3bef3, b/154767663)
- הומרה יומן שגיאות שקשור לתרחיש שימוש מנותק ליומן ניפוי באגים ב-Camera2CameraImpl. (I1a565, b/154422490)
- תוקנה בעיה שבה התמונה שצולמה הייתה חשוכה מדי לפעמים, גם אם נעשה שימוש בפלאש. (I5d9fa, b/149729613)
- תוקן באג שבו המאגר ב-
ImageProxyמ-ImageCaptureלא הוחזר למצב הקודם (I0c455, b/153249512) - תוקנו הבעיות שבהן קישור ImageCapture בלבד: (1) לא הצליח לצלם תמונות עם MAX_QUALITY; (2) יצר איכות תמונה נמוכה כי החשיפה האוטומטית לא פעלה. (I17782, b/145326998)
- שיפור המהימנות של פתיחה מחדש של המצלמה כש-CameraX מתנתק בגלל תהליך אחר או נתיב קוד שגורם להשתלטות על המצלמה (I1fbc3, b/153714651)
Camera-Core גרסה 1.0.0-beta04
27 במאי 2020
androidx.camera:camera-core:1.0.0-beta04 מופץ. גרסה 1.0.0-beta04 מכילה את השמירות האלה.
שינויים ב-API
- נוסף API ניסיוני,
CameraXConfig.Builder#setSchedulerHandler()להגדרת ה-handler שמשמש באופן פנימי את מחסנית המצלמה של CameraX. ה-API החדש הזה, יחד עםCameraXConfig.Builder#setCameraExecutor(), אמור לאפשר שליטה מלאה בשרשורים שבהם נעשה שימוש במערך המצלמה של CameraX. (I7bf32, b/121160431)
תיקוני באגים
- תוקנה קריסה ב-
ImageAnalysisשמתרחשת כשניגשים אלImageProxyאחרי שסוגרים אתImageReaderProxy. בנוסף, כלImageProxyשמתקבלים על ידיAnalyzerצריכים להיסגר לפני ש-ImageReaderProxyייסגר. (I4b299, b/145956416, b/154155377, b/156357269) - הפרמטר
CameraInfoהוסר מ-PreviewView#createSurfaceProvider(), ועכשיוPreviewViewמאחזר אותו באופן פנימי מ-SurfaceRequest. (If18f0, b/154652477) - הבעיה של הפעלה אוטומטית תוקנה כשמשתמשים באפליקציה במכשיר שמוגדר בו פסאודו-לוקאל. (I3bef3, b/154767663)
- תוקנה בעיה שבה התמונה שצולמה הייתה חשוכה מדי לפעמים, גם אם נעשה שימוש בפלאש. (I5d9fa, b/149729613)
- תוקנה בעיה ב-
ImageAnalysisשבה כמה קריאות ל-setAnalyzer/clearAnalyzer גרמו לכך שהכלי לניתוח לא קיבל תמונות לניתוח. (I6169f, b/151605317, b/153514544) - תוקן באג שבו המאגר ב-
ImageProxyמ-ImageCaptureלא הוחזר למצב הקודם (I0c455, b/153249512) - תוקנה הבעיה שבה המצלמה הראשונה ברשימת המצלמות הנתמכות מ-
CameraManagerלא נבחרת תמיד לשימוש. (I4c624, b/153418028) - נפתרה בעיה שגרמה לקריסה לסירוגין בגלל הגדרה של
Preview.SurfaceProviderשלא משחררת את השטח שנדרש קודם. “java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”(I8e4e7, b/155936225)
מצלמה-מצלמה2 גרסה 1.0.0-beta03
15 באפריל 2020
androidx.camera:camera-camera2:1.0.0-beta03 מופץ. גרסה 1.0.0-beta03 מכילה את השמירות האלה.
תיקוני באגים
- תיקונים לתמיכה בהשקה של
camera-core
Camera-Core גרסה 1.0.0-beta03
15 באפריל 2020
androidx.camera:camera-core:1.0.0-beta03 מופץ. גרסה 1.0.0-beta03 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה רגרסיה מגרסה beta03 שבה קריאה ל-
bindToLifecycle()עם אפסUseCases גרמה להקפצת חריגה. כך נמנעת אחזור שלCameraבלי קישור שלUseCase.
מצלמה-מצלמה2 גרסה 1.0.0-beta02
1 באפריל 2020
androidx.camera:camera-camera2:1.0.0-beta02 מופץ. גרסה 1.0.0-beta02 מכילה את השמירות האלה.
תיקוני באגים
- תוקן
ImageInfo.getRotationDegrees()מתוךImageProxyשנוצר על ידיImageCaptureכך שיתאים לערך הסיבוב של כיוון ה-EXIF. (Id4281, b/150802561) - כדי להשתמש בהטמעה של CameraX/Camera2 שמוגדרת כברירת מחדל, כבר לא צריך להגדיר במפורש את סדר התלויות של CameraX ב-
build.gradle. במקרים שבהם נדרש להצהיר על תלות מחמירה, אפשר עכשיו לכלול את כל התלויות של CameraX בקובץ ה-build. (I46e88) - תוקנה הבעיה
IllegalArgumentExceptionשמתרחשת במכשירים שבהם גודל התצוגה קטן מ-640x480. (Ife3f2, b/150506192) - תוקן
bindToLifecycleכך שהוא ישנה את UseCase רק אם הוא נקשר בהצלחה. בעבר, כשמתקשרים אלbindToLifecycleכדי לבצע חישובי רזולוציה, מתבצע עדכון של UseCase. עכשיו אין יותר צורך לעדכן את UseCase כדי לבצע את החישובים (I78d9e)
גרסה 1.0.0-beta02 של Camera-Core
1 באפריל 2020
androidx.camera:camera-core:1.0.0-beta02 מופץ. גרסה 1.0.0-beta02 מכילה את השמירות האלה.
תיקוני באגים
- תוקן
ImageInfo.getRotationDegrees()מתוךImageProxyשנוצר על ידיImageCaptureכך שיתאים לערך הסיבוב של כיוון ה-EXIF. (Id4281, b/150802561) - תוקן
bindToLifecycleכך שהוא ישנה את UseCase רק אם הוא נקשר בהצלחה. בעבר, כשמתקשרים אלbindToLifecycleכדי לבצע חישובי רזולוציה, מתבצע עדכון של UseCase. עכשיו אין יותר צורך לעדכן את UseCase כדי לבצע את החישובים (I78d9e) - תוקנה הבעיה שבה סשן הצילום של תרחיש השימוש
Previewלא התעדכן כשהשתנה משטח התצוגה המקדימה אחרי קריאה ל-Preview.setSurfaceProvider()יותר מפעם אחת.
מצלמה-מצלמה2 גרסה 1.0.0-beta01
26 בפברואר 2020
androidx.camera:camera-camera2:1.0.0-beta01 מופץ. גרסה 1.0.0-beta01 מכילה את השמירות האלה.
תיקוני באגים
- השם של
SurfaceRequest.setSurface(Surface)שונה ל-SurfaceRequest.provideSurface(Surface), ושלSurfaceRequest.setWillNotComplete()ל-SurfaceRequest.willNotProvideSurface(). (I224fe) - תוקנה בעיה שבה יחס הגובה-רוחב של תמונה שנשמרה לא היה נכון אחרי שינוי ערך הסיבוב של היעד באמצעות
ImageCapture.setTargetRotation(). (I474ea, b/148763432) - תוקן תהליך האתחול של וריאציות של אפליקציות עם ProGuard מופעל, על ידי שמירת הדגל שמגדיר את ספק
CameraXConfigברירת המחדל. (I2d6c1)
גרסה 1.0.0-beta01 של Camera-Core
26 בפברואר 2020
androidx.camera:camera-core:1.0.0-beta01 מופץ. גרסה 1.0.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
- החלפתי את
ListenableFutureב-SurfaceRequest.provideSurface()ב-Executorוב-Callback. השינוי הזה מפשט את ה-API כי כבר לא צריך לטפל בחריגים ב-provideSurface(), ומבטיח שלא ניתן לבטל את הקריאה החוזרת (callback) שלprovideSurface(). הסיבה לכך היא למנוע קריסות במכשירים ישנים יותר שנגרמות כתוצאה משחרור מוקדם מדי של משטחים. האובייקטSurfaceRequest.Resultמשמש עכשיו למעקב אחרי השימוש ב-Surfaceשסופק על ידיSurfaceRequest. (I7854b) - השם של
SurfaceRequest.setSurface(Surface)שונה ל-SurfaceRequest.provideSurface(Surface), והשם שלSurfaceRequest.setWillNotComplete()שונה ל-SurfaceRequest.willNotProvideSurface(). (I224fe)
תיקוני באגים
- תוקנה בעיה שבה יחס הגובה-רוחב של תמונה שנשמרה לא היה נכון אחרי שינוי ערך הסיבוב של היעד באמצעות
ImageCapture.setTargetRotation(). (I474ea, b/148763432) - תוקן תהליך האתחול של וריאציות של אפליקציות עם ProGuard מופעל, על ידי שמירת הדגל שמגדיר את ספק
CameraXConfigברירת המחדל. (I2d6c1) - עדכנו את התיעוד של ממשקי API של מצב פלאש כדי לכלול ערכים אפשריים. (I4a3ec)
מצלמה-מצלמה2 גרסה 1.0.0-alpha10
10 בפברואר 2020
androidx.camera:camera-camera2:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 מכילה את השמירות האלה.
תיקוני באגים
- שיפור היציבות במכשירי
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACYעל ידי שמירה עלSurfaces רק למשך השימוש ב-Camera2. (I9dac2) - תוקנה בעיה בתצוגה מקדימה של חשיפת חסר במכשירים מדור קודם על ידי התאמה נכונה של
CONTROL_AE_TARGET_FPS_RANGE. (1224638)
Camera-Core Version 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חדש. ה-methodPreview.getPreviewSurfaceProvider()הוסרה בגלל הפוטנציאל לשימוש לרעה כשמשלבים אתPreviewעם מחלקות אחרות כמוPreviewView. (I20105) - הוספת את
getTargetRotation()ואתgetTargetName()אלPreview. (Iceee7) - הוספת את
getTargetRotation(),getBackpressureStrategy()ואתgetImageQueueDepth()ב-ImageAnalysis. (I9d6d9) - הוספת את
getTargetRotation()ואתgetCaptureMode()ב-ImageCapture()(I5bc17) - הארגומנטים שהועברו קודם ב-
ImageCapture.OnImageSavedCallback.onError()וב-ImageCapture.OnImageCapturedCallback.onError()הוחלפו עכשיו בארגומנט יחידImageCaptureException, שעדיין מכיל את כל המידע שהועבר קודם. - הארגומנט של הקובץ שהועבר קודם ב-
ImageCapture.OnImageSavedCallback.onImageSaved()הוסר. (I750d2) - הכיתות
Previewו-ImageCaptureמסומנות עכשיו כסופיות. (I2500b) - ה-API עודכן, עם שיטות
getZoomRatio(),getMaxZoomRatio(),getMinZoomRatio()ו-getLinearZoom()שלCameraInfoמיזוג לתוךgetZoomState()שמחזיר מופעZoomState. (Ib19fe) - הוסרו שדות ה-API
OPTION_TARGET_CLASSו-OPTION_TARGET_NAMEמ-CameraXConfigכי הם מיועדים לשימוש פנימי בספרייה בלבד. הוסר קונסטרוקטור עבורCameraXConfig.Builder. (I96912) - הוסרה הדרישה שהאפליקציה תרחיב את
Applicationכדי לאתחל את CameraX. CameraX יאותחל עכשיו עם הגדרת ברירת מחדל של Camera2, כל עוד ארטיפקטcamera-camera2כלול ב-build.gradleשל האפליקציה. (I58ff5) (b/146923574)
מצלמה-מצלמה2 גרסה 1.0.0-alpha09
22 בינואר 2020
androidx.camera:camera-camera2:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
שינויים ב-API
הוספת נתיב פעולה הדדית של Camera2 לחילוץ מזהה מצלמה של Camera2. אפשר לחלץ את מזהה המצלמה מ-
CameraInfoבאמצעותCamera2CameraInfo.extractCameraId(). בדוגמת הקוד הבאה אפשר לראות איך משתמשים בזה:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());הכיתה
Camera2CameraInfoדורשת את markerClass.ExperimentalCamera2Interop
גרסה 1.0.0-alpha09 של Camera-Core
22 בינואר 2020
androidx.camera:camera-core:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
שינויים ב-API
- הפרמטר
SurfaceOrientedMeteringPointFactoryuseCaseForSurfaceשונה ל-useCaseForAspectRatio, והרחבנו את מאמרי העזרה. - השיטות
FocusMeteringAction.Builder.from()מוחלפות בבוני האובייקטיםFocusMeteringAction.Builder(). - הוסר
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float). באפליקציות צריך להשתמש בבונה שמקבל פרמטרDisplayולהעביר את התצוגה הנוכחית. - שיפורים ב-Javadoc עבור ממשקי API של מיקוד ומדידה בנוגע ל-
MeteringModeולדגלים של 3A, ושימוש בפרמטרDisplay. - הרחבנו את מאמרי העזרה בנושא
setZoomRatioו-setLinearZoom.
תיקוני באגים
- תוקנו בעיות שקרו כשסוגרים ואז פותחים מצלמות, שגרמו לכשל בבדיקת 'תנאי מוקדם'.
- תוקנה בעיה ב-
ConcurrentModificationExceptionשיכולה להתרחש כשמשתמשים בממשקי API של פנס וזום. - תוקנה בעיה שגרמה לכך שרזולוציות שנבחרו היו רחוקות מהרזולוציה המבוקשת, כשהיה זמין גודל של מידות mod16.
- ממשקי ה-API
startFocusMeteringו-cancelFocusMeteringפועלים עכשיו כמו שמתואר במסמכים, עם תזמון נכון ואפשרות להחזרת שגיאות כשהן מתרחשות. - תוקנה בעיה שקרתה כשבוצעה בקשה לרזולוציית יעד ספציפית עם יחס גובה-רוחב של חיתוך במכשיר שלא תומך בגדלים כאלה. מעכשיו, אם יש תמונה בגודל לא חתוך וברזולוציה מספיקה כדי להגביל את הבקשה המקורית, היא תיבחר.
מצלמה-מצלמה2 גרסה 1.0.0-alpha08
18 בדצמבר 2019
androidx.camera:camera-camera2:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
בעיות מוכרות
- לא כל האפשרויות של בקשות צילום ב-Camera2 פועלות כשמשתמשים ב-Camera2 interop. אם האפשרות המבוקשת לא נתמכת, הפעלת הסשן נכשלת ויכולה להופיע שגיאה כמו:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
תיקוני באגים
- תוקנה בעיה שגרמה למסך שחור בתצוגה המקדימה אחרי סיבוב או החלפה של המצלמה ברמות API 21 ו-22.
שינויים ב-API
- ניסיוני: נוספה דרך פעולה הדדית של camera2 לחילוץ מזהה המצלמה.
גרסה 1.0.0-alpha08 של Camera-Core
18 בדצמבר 2019
androidx.camera:camera-core:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
בעיות מוכרות
- יכול להיות שבאפליקציות שמשתמשות ב-
PreviewViewאו ב-CameraView, התצוגה המקדימה של יחס הגובה-רוחב תהיה שגויה. זה קורה אחרי השהיה או ההפעלה מחדש בחלק מהמכשירים המלאים, כמו Pixel2.
תיקוני באגים
- עדכנו את המסמכים של
FocusMeteringActionו-CameraControl. - ההמלצה יושמה
TorchControlעבורenableTorch()ו-getTorchState().
שינויים ב-API
- הסתרנו את IntDefs והעברנו קבועים של IntDef מחוץ להגדרה של IntDef.
- הועבר
rotationDegreesמהכיתהOnImageCaptureCallbackאלImageInfo. - הועבר
rotationDegreesמהכיתהAnalyzerאלImageInfo.
מצלמה-מצלמה2 גרסה 1.0.0-alpha07
4 בדצמבר 2019
androidx.camera:camera-camera2:1.0.0-alpha07 מופץ. גרסה 1.0.0-alpha07 של camera-camera2 מכילה את השמירות האלה
-
Camera2Configזמין עכשיו לשימוש באתחול ובהגדרה של הטמעה מבוססת Camera2 עבור CameraX. פרטים נוספים על אופן השימוש בשיטה הזו במהלך ההפעלה מופיעים בקטע camera-core בהערות הגרסה. - הפונקציונליות של camera2 interop מסומנת עכשיו כניסיונית והועברה לחבילה נפרדת,
androidx.camera.camera2.interop.
גרסה 1.0.0-alpha07 של Camera-Core
4 בדצמבר 2019
androidx.camera:camera-core:1.0.0-alpha07 מופץ. גרסה 1.0.0-alpha07 של camera-core מכילה את השמירות האלה
שימו לב: יש כמה שינויים משמעותיים בגרסת האלפא הזו, כי אנחנו מתכוננים להשקת גרסת הבטא. מומלץ לבדוק את השינויים ולשתף משוב בקבוצת Google של CameraX. מפתחים שמשתמשים ב-CameraX באפליקציות שזמינות בחנות Play, מומלץ להמתין לגרסת הבטא הרשמית לפני שמשדרגים את הספרייה באפליקציות.
שינויים ב-API
חשוב: חל שינוי באתחול של CameraX. באפליקציות צריך להטמיע את ולהשתמש בערך ברירת המחדל שסופק על ידי .
CameraXConfig.ProviderCamera2Configandroidx.camera.camera2שימוש אופייני:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }הוסרה המחלקה CameraX. הערכים
bindToLifecycle(),unbind(),unbindAll(),isBound()ו-hasCamera()שסופקו בעבר על ידי קריאת המחלקה CameraX זמינים עכשיו דרךProcessCameraProvider.מופע לכל תהליך של
ProcessCameraProviderמתקבל באופן אסינכרוני באמצעות השיטה הסטטיתProcessCameraProvider.getInstance(), שמחזירה listenable future, שמספקת אתProcessCameraProviderעם השלמת הפעולה. כאן מוצג השימוש ב-onCreate()בתרחיש שימוש טיפוסי. אפשר לבצע שיחות אלgetInstance()בשלב מאוחר יותר במחזור החיים של הפעילות כדי לדחות את זמן האחזור של האתחול למועד מאוחר יותר (למשל, כשפעולת משתמש פותחת את ממשק המשתמש של המצלמה).import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }אפשר להוסיף מאזין ל-
ListenableFutureשמוחזר על ידיgetInstance(). כך אפשר לאחזר את ספק המצלמה מ-Futureבלי לחסום ב-Future.get()cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))בחירת המצלמה מתבצעת עכשיו באמצעות בורר מצלמות, במקום לפי תרחיש שימוש
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()ל-
CameraProvider.bindToLifecycleניתנים הבעלים של מחזור החיים, בורר המצלמה ותסריטי השימוש, שמשויכים לבעלים של מחזור החיים ומופעלים עבור המצלמה שנבחרה.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)הוסרו מחלקות של תרחיש השימוש Config. במקום זאת, אפשר ליצור תרחישים לדוגמה ישירות ולהגדיר את האפשרויות בכל כלי ליצירת תרחישים לדוגמה. לדוגמה:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()תרחיש השימוש בתצוגה המקדימה עודכן כך שיקבל משטח שנוצר ומנוהל על ידי האפליקציה, כדי להבטיח את השיטות המומלצות של Android. מומלץ מאוד להשתמש בתצוגת הכיתה
PreviewViewשמופיעה בחבילת תצוגת המצלמה.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)מידע נוסף על צירוף משטח שמנוהל על ידי אפליקציה במקרים כאלה, האפליקציה מנהלת את מחזור החיים של הפלטפורמה.
חשוב: ההטמעה של שיטת הניתוח
ImageAnalysisחייבת לקרוא ל-image.close()בתמונות שהתקבלו כשהשימוש בהן מסתיים. אחרת, יכול להיות שלא יתקבלו תמונות חדשות או שהמצלמה תיתקע, בהתאם להגדרת הלחץ האחורי. פרטים נוספים מופיעים במאמרי העזרה.השיטה
ImageAnalysis ImageReaderModeהשתנתה לשיטת ויסות עומסintdef.ImageProxy.getImage()מסומן כניסיוני. אפליקציות צריכות להוסיף הערות לשימוש, למשל באמצעות@androidx.camera.core.ExperimentalGetImageהדרישה להערה
UIThreadעבורAnalyzerהוסרה.הפונקציה
ImageAnalysis.clearAnalyzer()נוספה להסרת כלי ניתוח.השם של רכיבי Listener עם יותר מ-method אחד שונה ל-Callback:
-
ImageCapture.OnImageCapturedListenerנקרא עכשיוImageCapture.OnImageCapturedCallback -
ImageCapture.OnImageSavedListenerנקרא עכשיוImageCapture.OnImageSavedCallback -
VideoCapture.OnVideoSavedListenerנקרא עכשיוVideoCapture.OnVideoSavedCallback
-
הערכים של enum השתנו ל-IntDef
נוספו אמצעי בקרה על שינוי המרחק מהתצוגה:
CameraControl.setLinearZoom()CameraControl.setZoomRatio()CameraInfo.getLinearZoom()CameraInfo.getMaxZoomRatio()CameraInfo.getZoomRatio()
ההגדרה
CameraInfo.hasFlashUnit()נוספת כדי לקבוע אם קיימת חומרה של פלאש או פנס.CameraInfo.isFlashAvailable()הוסר. הפנס מבטל את הפונקציונליות של הפלאש. פרטים נוספים מופיעים במאמרי העזרה.שדות
ImageCapture.Metadataמוחלפים בשיטות גישה מסוג get/set/is.הפונקציות
startFocusMeteringו-cancelFocusMeteringמחזירות עכשיו את הערךListenableFuturesשמייצג את הפעולה האסינכרונית של השיחה.התכונה
MeteringPointsפועלת עכשיו כנקודות אחיזה לפעולות מדידה, והיא נוצרת על ידי מפעלים. באפליקציות צריך להשתמש במפעלים הקיימים ולא במפעלים מותאמים אישית.
בעיות שתוקנו
- תוקנה בעיה שקרתה כשצילמו תמונה אחרי הפסקה קודמת של צילום תמונות שהמתינו לסיום.
- בעיה מוכרת: הפונקציה
CameraControl.enableTorch()פועלת, אבל הערךListenableFuture<Void>שמוחזר הוא תמידcomplete(success)עתידי מיידי, גם אם אין יחידת פלאש. בגרסאות עתידיות, הבעיה הזו תיפתר וההתנהגות תהיה כזו: אם אין יחידת פלאש, הפעולהenableTorch(true)תיכשל באופן מיידי (לא תישלח בקשה אלCaptureSession), וההגדרהTorchStateתישאר מושבתת. - בעיה מוכרת: הפונקציות
startFocusAndMeteringו-cancelFocusAndMeteringמתחילות ומבטלות את מדידת הפוקוס, אבל מחזירות מיידcompleted (success)future שלא מייצג את ההתנהגות המתועדת. הערךFocusMeteringResultשלListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()הוא תוצאה מזויפת שלisFocusSuccessful(), והוא תמיד false, בניגוד להתנהגות המיועדת והמתועדת. - בעיה ידועה: אנחנו מפתחים מפעל של נקודות מדידה לשימוש עם
PreviewViewאירועי מגע. בשלב הזה, אפליקציות שמתחברות למשטחים מנוהלים בהתאמה אישית יכולות להשתמש במפעלים הקיימים של נקודות המדידה, אבל אין פונקציונליות של מיקוד במגע ל-PreviewView.
מצלמה-מצלמה2 ומצלמה-ליבה גרסה 1.0.0-אלפא06
9 באוקטובר 2019
androidx.camera:camera-camera2:1.0.0-alpha06 וגם androidx.camera:camera-core:1.0.0-alpha06 מופצים. אלה ההתחייבויות שנכללות ב-camera-camera2:1.0.0-alpha06 ואלה ההתחייבויות שנכללות ב-camera-core:1.0.0-alpha06.
תכונות חדשות
שינויים בהגדרת יחסי גובה-רוחב:
-
setTargetAspectRatioMode()נוסף ומקבל ארגומנט enum. ההגדרה הזו קובעת את מצב יחס הגובה-רוחב עם האפשרויותRATIO_4_3אוRATIO_16_9במקום יחס גובה-רוחב שרירותי. הערך הזה משקף בצורה מדויקת יותר את העובדה שהמצלמה מספקת רק יחסי גובה-רוחב מסוימים, ולא כל יחס שרירותי.- בשלב הזה, יחסי הגובה-רוחב הזמינים הם 16:9 ו-4:3. בשיחות אחד על אחד, רק במכשירים מסוימים יש אפשרות להשתמש במצלמה, וגם אז רק ברזולוציות מוגבלות. אם אתם מעצבים ממשק או מעבדים נתונים ביחס גובה-רוחב של 1:1, כדאי להשתמש באפשרויות הגמישות יותר של 16:9 או 4:3 ולחתוך את התצוגה או לעבד אזור משנה.
- יחסי הגובה-רוחב האלה מותאמים לשימוש באזור החיישן המקסימלי.
-
getTargetAspectRatio()נוסף לממשקי API של הגדרות תרחישי שימוש, והוא מחזיר את יחס הגובה-רוחב של הפלט של תרחיש השימוש. - השיטה
setTargetAspectRatio(Rational aspectRatio)שונתה ב-ImageCapture ל-setTargetAspectRatioCustom(Rational aspectRatio). אם מגדירים את האפשרות הזו, הפלט של ImageCapture נחתך בהתאם.
Executor APIs
- הפונקציות הבאות מקבלות פרמטר של executor, שמאפשר לאפליקציה לקבוע באיזה executor הפונקציה תפעל.
Preview.setOnPreviewOutputUpdateListener()API. אם ה-executor לא קיים עבור הפונקציה הזו, היא מופעלת בשרשור הראשי.Preview.setOnPreviewOutputUpdateListenerFocusMeteringAction.Builder.setAutoFocusCallbackImageAnalysis.setAnalyzerImageCapture.takePictureCameraView.takePictureCameraView.startRecordingVideoCapture.startRecording
הוספנו את CameraInfo עם ממשקי ה-API לבדיקת הזמינות של הפלאש וסיבוב החיישן
נוספו
CameraInfoושיטהgetCameraInfo, שמאפשרות לאפליקציות לבדוק אם עדשת CameraInfo זמינה ואם הפלאש זמין במצלמה הזו. לדוגמה:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }צירפנו את
CameraInfo.getSensorRotationDegrees()למרחב המשותף. היא מספקת את הכיוון של חיישן המצלמה ביחס לכיוון הטבעי של המכשיר, או לצורך נוחות, ביחס לכיוון שמתואר על ידי סיבוב של משטח (שמתאר כיוון ביחס לכיוון הטבעי).
שינויים ב-API ותיקוני באגים
- יחסי גובה-רוחב: בכל תרחיש שימוש, האפליקציות צריכות להפעיל רק את
setTargetResolution()או אתsetTargetAspectRatio(). קריאה לשתי הפונקציות באותו אובייקט builder מחזירה שגיאה.- באופן כללי, מומלץ להשתמש ב-
setTargetAspectRatio()על סמך עיצוב ממשק המשתמש של האפליקציה. הפתרונות הספציפיים תלויים בתרחיש השימוש. לדוגמה, התצוגה המקדימה היא ברזולוציה שקרובה לרזולוציית המסך, וצילום התמונה מספק תמונות סטילס ברזולוציה גבוהה. מידע נוסף זמין בטבלה של פתרונות אוטומטיים. - משתמשים ב-
setTargetResolution()למקרים ספציפיים יותר, למשל כשנדרשת רזולוציה מינימלית (כדי לחסוך בחישובים) או רזולוציה מקסימלית (כדי לעבד פרטים).
- באופן כללי, מומלץ להשתמש ב-
- Executor API: הוסר הקריאה
setCallbackHandler()מממשקי API להגדרת תרחישי שימוש. במקום זאת, אפליקציות יכולות להגדיר את ה-executor כפרמטר בממשקי API שונים אחרים שמגדירים קריאה חוזרת. - עדכנו את הערות ה-null לפונקציות שונות.
- תוקנה בעיה שגרמה להצגת השגיאה
java.lang.IllegalStateException at Camera$StateCallback.onErrorכשפותחים את המצלמה. - תוקנה בעיה שבה נבחרו רזולוציות קטנות מדי (פחות מ-640x480) כשהאפליקציה ביקשה רזולוציות גדולות יותר או רזולוציות ברירת מחדל, וכתוצאה מכך תמונת התצוגה המקדימה הייתה מטושטשת או מורכבת מריבועים. אפליקציות שזקוקות באופן ספציפי לרזולוציות קטנות יותר יכולות לבקש אותן באופן מפורש.
- תוקנה בעיה שבה המצלמה הציגה מסך שחור (הפעלת המצלמה נכשלה) אחרי חזרה מ-Intent שהפעיל אפליקציית מצלמה אחרת.
- תוקן באג שגרם לשגיאה הבאה כשמפעילים או מפסיקים אפליקציות שוב ושוב:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface! - תוקנה השגיאה הבאה שמתרחשת כשמשביתים את ImageAnalysis:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more. - נוספו בדיקות נוספות לתהליך הניתוק של המצלמה.
- שיפרנו את החוסן של מערכת הבדיקה כשמריצים בדיקות מצלמה בזו אחר זו.
Camera-Camera2 ו-Camera-Core גרסה 1.0.0-alpha05
5 בספטמבר 2019
androidx.camera:camera-camera2:1.0.0-alpha05 וגם androidx.camera:camera-core:1.0.0-alpha05 מופצים. אלה השמירות שנכללות ב-camera-camera2:1.0.0-alpha05 ואלה השמירות שנכללות ב-camera-core:1.0.0-alpha05.
שינוי ב-API: שמות המשתנים של שגיאות בתרחישי שימוש שונו:
- השם של
ImageCapture.UseCaseErrorשונה לImageCapture.ImageCaptureError - השם של
VideoCapture.UseCaseErrorשונה לVideoCapture.VideoCaptureError
- השם של
נוסף
CameraControlAPI עם ממשקי Tap-to-Focus APIsהוספנו API לקבלת
CameraControlמ-CameraX למצלמה, שנבחרה לפי כיוון העדשה:CameraX.getCameraControl(LensFacing lensFacing)הוספנו את
MeteringPointFactory,MeteringPoint,MeteringModeו-FocusMeteringActionכדי להפעיל את התכונה 'הקשה למיקוד':MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height); MeteringPoint point = factory.createPoint(x, y); FocusMeteringAction action = FocusMeteringAction.Builder.from(point, MeteringMode.AF_ONLY) .addPoint(point2, MeteringMode.AE_ONLY) // could have many .setAutoFocusCallback(new OnAutoFocusListener(){ public void onFocusCompleted(boolean isSuccess) { } }) // auto calling cancelFocusAndMetering in 5 sec. .setAutoCancelDuration(5, TimeUnit.Second) .build();הוספנו API ל-
CameraControlכדי להתחיל ולבטל מדידת פוקוס:getCameraControl(lensFacing).startFocusAndMetering(action);getCameraControl(lensFacing).cancelFocusAndMetering();הוספנו ממשקי API ל-Metering Point Factories (מפעלים של נקודות מדידה) שעוזרים לתרגם קואורדינטות של הקשה לקואורדינטות של חיישן, על סמך מחלקות תצוגה:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
הגדרת אכיפה של קריאה לשיטות הבאות בשרשור הראשי (UI), והצגת שגיאה מסוג
IllegalStateExceptionאם לא מתבצעת קריאה כזו. בגרסאות עתידיות תהיה אפשרות להשתמש בהן בשרשורים אחרים ולהבטיח סדרות.CameraX.bindToLifecycle()CameraX.unbind()CameraX.unbindAll()ImageAnalysis.setAnalyzer()ImageAnalysis.getAnalyzer()ImageAnalysis.removeAnalyzer()Preview.removePreviewOutputListener()Preview.getOnPreviewOutputUpdateListener()Preview.setOnPreviewOutputUpdateListener()
הגדרות שונות של config מקבלות עכשיו פרמטרים מסוג null, ופונקציות getter תואמות עשויות להחזיר null.
תוקנה בעיה שקרתה כשבודקים באמולטורים שלא תומכים בהגדרות AF/AE/AWB.
תוקן באג שגרם לקריסה בסיבוב בזמן ניתוח תמונה.
תוקן באג שגרם לכך שהתצוגה המקדימה הופיעה בשחור בהתחלה (ללא נתוני מצלמה), אחרי סיבוב או אחרי מעבר בין המצלמה הקדמית לאחורית.
הסרנו את הבדיקה של תרחישי שימוש מרובים בניתוח תמונות בו-זמני. כדי להבטיח תאימות, באפליקציות צריך לצרף רק תרחיש שימוש אחד של ניתוח תמונות.
נוספו בדיקות ראשוניות של robolectric למצלמה מזויפת בחבילת בדיקות המצלמה (בשלבי פיתוח).
הבדיקה Camera2Inititalizer הוסרה כי הכיסוי שלה לא היה ברור או שהיה מטעה.
גרסה Camera-Camera2 ו-Camera-Core 1.0.0-alpha04
7 באוגוסט 2019
androidx.camera:camera-camera2:1.0.0-alpha04 וגם androidx.camera:camera-core:1.0.0-alpha04 מופצים. גרסה 1.0.0-alpha04 מכילה את השמירות האלה.
תכונות חדשות
שינויים בבחירת יחס גובה-רוחב ורזולוציה
המטרה של CameraX היא לאתחל סשן של מצלמה בהצלחה. המשמעות היא ש-CameraX מתפשרת על רזולוציה או יחסי גובה-רוחב על סמך יכולות המכשיר, כדי להתחיל סשן צילום בתור המטרה הראשונה שלה, ולכן יכול להיות שבקשות מדויקות לא יתקבלו. יכולות להיות לכך כמה סיבות:
- מכשירים שלא תומכים ברזולוציה המבוקשת
- בעיות תאימות, למשל במכשירים מדור קודם שבהם צריך להשתמש ברזולוציות מסוימות כדי שהמכשיר יפעל בצורה תקינה
- במכשירים מסוימים, פורמטים מסוימים זמינים רק ביחסי גובה-רוחב מסוימים
- העדפה של 'הערך הקרוב ביותר שמתחלק ב-16' לקידוד של JPEG או של סרטון. ראו
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
למרות ש-CameraX יוצרת את הסשן ומנהלת אותו, תמיד צריך לבדוק את גדלי התמונות שמוחזרים בפלט של תרחיש השימוש בקוד, ולבצע התאמות בהתאם.
בוצעו כמה שינויים בהגדרת הרזולוציות ויחסי הגובה-רוחב, במטרה להפוך את ה-API לברור יותר:
- תצוגה מקדימה של תרחיש שימוש נחשבת עכשיו כבעלת יחס גובה-רוחב של 4:3 כברירת מחדל, אם לא הוגדר יחס גובה-רוחב.
- כש-CameraX שוקל באופן פנימי שינויים ברזולוציות וביחסי הגובה-רוחב המבוקשים על סמך יכולת המכשיר, הוא קודם מנסה לשמור על אותו יחס גובה-רוחב (כפי שנקבע על ידי קריאות של
setTargetAspectRatioאוsetTargetResolution) - גרסה של הרזולוציה שבה המספרים הם כפולות של 16 נחשבת לאותו יחס גובה-רוחב.
מצב לא חוסם של ImageAnalysis
- ההתנהגות של
ImageReaderMode.ACQUIRE_LATEST_IMAGEלא חוסמת יותר. היא מקבלת את התמונה האחרונה בתור, אבל מבטלת באופן רציף תמונות שלא נעשה בהן שימוש כדי למנוע חסימה של צינור המצלמה. - הכלי לניתוח יכול להחזיק תמונה אחת ללא הגבלת זמן בלי לעצור את צינור העיבוד.
- אם האפליקציה מספקת מפעיל שחוסם, תרחיש השימוש ImageAnalysis נחסם.
- ה-executor שמוגדר כברירת מחדל באופן פנימי מתנהג כ-executor לא חוסם.
תיקוני באגים
- תוקנו בעיות שקשורות לפסק זמן בהמתנה להתכנסות של 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 - תוקנה הבעיה שבה ביטול הקישור של התצוגה המקדימה לא פעל אחרי הפעלה והתחלה של תוספים
- ארטיפקטים של build לתצוגת המצלמה ולהרחבות המצלמה מתפרסמים עכשיו כגרסאות אלפא
מצלמה-מצלמה2 ומצלמה-ליבה גרסה 1.0.0-אלפא03
2 ביולי 2019
androidx.camera:camera-core:1.0.0-alpha03 וגם androidx.camera:camera-camera2:1.0.0-alpha03 מופצים. גרסה 1.0.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- נוספה הבהרה ל-javadoc לגבי 'יעד' בקריאות להגדרת היעד
Camera-Core
- תוקנה קריסת Input/Output Surface שלא הוגדרה בפתיחה/סגירה מהירה או בקישור/ביטול קישור
- מעבר להטמעות חדשות של חוזים עתידיים
- בדיקת תיקונים כדי לבצע בדיקות אמינות יותר
- בדיקת השילוב המרכזית מציגה עכשיו את זמן הצילום של התמונות
- פותחה מחלקה פנימית לתאימות ל-Executors
- אפליקציה לבדיקת תזמון ללכידת תמונות מחכה לסיום הפעולה הקודמת ומשפרת את היציבות
תוספים
- נוספו בדיקות של ניהול גרסאות
- כיסוי בדיקות נוסף – התקשרות חזרה לאירועים של תוספים
- שיפורים בתאימות הפנימית בין תמונה לבין מטא-נתונים
- תיקונים במעבר בין מצבים באפליקציית הבדיקה
גרסה Camera-Camera2 ו-Camera-Core 1.0.0-alpha02
5 ביוני 2019
androidx.camera:camera-core:1.0.0-alpha02 וגם androidx.camera:camera-camera2:1.0.0-alpha02 מופצים. גרסה 1.0.0-alpha02 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה של חלוקה באפס כשמשתמשים באמולטור
- תוקנה שגיאת NullPointerException/Surface Abandoned שמתרחשת בחלק מהמכשירים כשמצלמים תמונות במהירות בזמן ביטול הקישור וקישור מחדש של תרחישי שימוש במהירות.
- תוקנה בעיה פנימית כדי להבטיח שעדכונים של בקשות לצילום מסך ישפיעו על כל הפלטפורמות באופן עקבי
- שיפורים ביציבות כשמפעילים מחדש תרחישי שימוש במופעים חדשים של האפליקציה
- שינויים בארכיטקטורה הפנימית כדי להתכונן לתמיכה ב-executors ב-API
- הבהרות נוספות ב-Javadoc לגבי מחלקת CameraX וניהול מחזור החיים
- נוספה בדיקה עם מכשור לאפליקציית בדיקת הביצועים Antelope
- הסרת הצורך ב-'-keepattributes Signature' בהגדרות Proguard של האפליקציה
Camera-Camera2 ו-Camera-Core 1.0.0-alpha01
7 במאי 2019
androidx.camera:camera-core:1.0.0-alpha01 וגם androidx.camera:camera-camera2:1.0.0-alpha01 מופצים. גרסה 1.0.0-alpha01 מכילה את השמירות האלה.
גרסה 1.0.0-beta11 של Camera-Lifecycle
14 באוקטובר 2020
androidx.camera:camera-lifecycle:1.0.0-beta11 מופץ. גרסה 1.0.0-beta11 מכילה את השמירות האלה.
תיקוני באגים
- הפונקציה
<UseCase>.getTargetRotation()תחזירSurface.ROTATION_0אם היא נקראת לפני שהיא מצורפת למופע של Camera, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)
גרסה 1.0.0-beta10 של Camera-Lifecycle
23 בספטמבר 2020
androidx.camera:camera-lifecycle:1.0.0-beta10 מופץ. גרסה 1.0.0-beta10 מכילה את השמירות האלה.
תיקוני באגים
- גרסה לתמיכה ב-Camera-Core 1.0.0-beta10
גרסה 1.0.0-beta09 של Camera-Lifecycle
16 בספטמבר 2020
androidx.camera:camera-lifecycle:1.0.0-beta09 מופץ. גרסה 1.0.0-beta09 מכילה את השמירות האלה.
גרסה 1.0.0-beta08 של Camera-Lifecycle
19 באוגוסט 2020
androidx.camera:camera-lifecycle:1.0.0-beta08 מופץ. גרסה 1.0.0-beta08 מכילה את השמירות האלה.
תיקוני באגים
- ההפעלה לא אמורה לקרוס יותר כשמשתמשים בהקשר שלא מחזיר אובייקט של אפליקציה מ-
Context.getApplicationContext(). (I3d3c9, b/160817073)
גרסה 1.0.0-beta07 של Camera-Lifecycle
22 ביולי 2020
androidx.camera:camera-lifecycle:1.0.0-beta07 מופץ. גרסה 1.0.0-beta07 מכילה את השמירות האלה.
גרסה 1.0.0-beta06 של Camera-Lifecycle
24 ביוני 2020
androidx.camera:camera-lifecycle:1.0.0-beta06 מופץ. גרסה 1.0.0-beta06 מכילה את השמירות האלה.
שינויים ב-API
- עכשיו אפשר להגדיר את CameraX באמצעות ProcessCameraProvider#configureInstance() לפני שמפעילים את ProcessCameraProvider#getInstance(). כך אפשר להתאים אישית את CameraXConfig בלי להטמיע את CameraXConfig.Provider בכיתת האפליקציה של האפליקציה. (Ia1a8d)
גרסה 1.0.0-beta05 של Camera-Lifecycle
10 ביוני 2020
androidx.camera:camera-lifecycle:1.0.0-beta05 מופץ. גרסה 1.0.0-beta05 מכילה את השמירות האלה.
תיקוני באגים
- תוקן קריסת האפליקציה בזמן ההפעלה כשמאתחלים את CameraX בזמן שהטלפון במצב 'נא לא להפריע'. הפונקציה
InitializationExceptionמכילה את הפונקציהCameraUnavailableException, והיא תוגדר ל-ListenableFutureשל תוצאת האתחול במקום לגרום לקריסת האפליקציה. (I9909a, b/149413835)
Camera-Lifecycle גרסה 1.0.0-beta04
27 במאי 2020
androidx.camera:camera-lifecycle:1.0.0-beta04 מופץ. גרסה 1.0.0-beta04 מכילה את השמירות האלה.
Camera-Lifecycle גרסה 1.0.0-beta03
15 באפריל 2020
androidx.camera:camera-lifecycle:1.0.0-beta03 מופץ. גרסה 1.0.0-beta03 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה רגרסיה מגרסה beta03 שבה קריאה ל-
bindToLifecycle()עם אפסUseCases גרמה להקפצת חריגה. כך נמנעת אחזור שלCameraבלי קישור שלUseCase. - תיקונים לתמיכה בהשקה של
camera-core
Camera-Lifecycle גרסה 1.0.0-beta01
26 בפברואר 2020
androidx.camera:camera-lifecycle:1.0.0-beta01 מופץ. גרסה 1.0.0-beta01 מכילה את השמירות האלה.
תיקוני באגים
- תיקנו את המסמכים כדי לציין שכאשר מקבלים
ProcessCameraProviderבמהלך האתחול, נעשה שימוש בהגדרת ברירת מחדל, ושהרחבתApplicationהיא אופציונלית. (I5e395)
גרסה 1.0.0-beta02 של Camera-Lifecycle
1 באפריל 2020
androidx.camera:camera-lifecycle:1.0.0-beta02 מופץ. גרסה 1.0.0-beta02 מכילה את השמירות האלה.
תיקוני באגים
- העדכון כולל תמיכה בתיקוני באגים בפריטים
camera-camera2:1.0.0-beta02ו-camera-core:1.0.0-beta02.
Camera-Lifecycle גרסה 1.0.0-alpha10
10 בפברואר 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 מכילה את השמירות האלה.
שינויים ב-API
- נוספה הערה
@MainThreadלשיטות BindToLifecycle, unbind ו-unbindAll. (I990d2)
גרסה 1.0.0-alpha03 של Camera-Lifecycle
22 בינואר 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03 מופץ. גרסה 1.0.0-alpha03 מכילה את השמירות האלה.
עדכונים
- תיקונים ועדכונים שונים לתמיכה בשינויים ב-Camera Core וב-Camera2.
גרסה 1.0.0-alpha02 של Camera-Lifecycle
18 בדצמבר 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02 מופץ. גרסה 1.0.0-alpha02 מכילה את השמירות האלה.
שינויים בתלות
- העדכון בוצע כדי להשתמש ב
androidx.camera:camera-core:1.0.0-alpha08.
גרסה 1.0.0-alpha01 של Camera-Lifecycle
4 בדצמבר 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01 מופץ. גרסה 1.0.0-alpha01 של camera-lifecycle מכילה את השמירות האלה
הערות לגבי API
- נוסף ארטיפקט של מחזור החיים של המצלמה, שמספק ממשק
LifeCycleCameraProviderויישום בשםProcessCameraProvider, שמספק רבות מהפונקציות של המחלקה הקודמת CameraX ב-core, ומתקבל באמצעות שיטהgetInstance(). - כדי להשתמש ב-CameraX, האפליקציות צריכות לכלול את ספריית מחזור החיים של המצלמה.
- הערות לגבי אופן ההפעלה של CameraX באמצעות
ProcessCameraProviderמופיעות בקטע camera-core.
גרסה 1.0.0 של Camera-Extensions ו-Camera-View
גרסה 1.0.0-alpha32
15 בדצמבר 2021
androidx.camera:camera-extensions:1.0.0-alpha32 וגם androidx.camera:camera-view:1.0.0-alpha32 מופצים. גרסה 1.0.0-alpha32 מכילה את השמירות האלה.
שינויים ב-API
- הוסרו הערות מיותרות של
@RequiresApi(21)מהממשקים או מהמחלקות הפנימיות. (I8e286, b/204917951) - עדכון קובצי ה-API של פריט המידע שנוצר בתהליך פיתוח (Artifact) של תוספי המצלמה. (If683a, b/161377155)
תיקוני באגים
- הגדרה שמונעת מהאפליקציה להפעיל מצבי הרחבה כשמבצעים קישור ל-
VideoCapture. CameraX Extensions תומך רק ב-ImageCaptureוב-Preview. עדיין אין תמיכה ב-VideoCapture. אם האפליקציה מבצעת קישור ל-VideoCaptureומפעילה מצב תוסף כלשהו, תופעלIllegalArgumentException. (I0d87b) - הפונקציה
CameraSelector#filterכבר לא מחזירה את השגיאהIllegalArgumentExceptionכשקבוצת התוצאות ריקה. (I27804) - שינינו את השם של
ExtensionsManager#getInstanceAPI ל-getInstanceAsyncכי הוא מחזירListenableFuture. הסיומת Async של שם הפונקציה יכולה להציג בבירור שמדובר בפונקציה אסינכרונית. (I279d2) - הסרנו את פרמטר הרזולוציה מ-API
ExtensionsManager#getEstimatedCaptureLatencyRangeכי משתמשים לא יכולים לדעת אילו גדלים נתמכים בתרחיש השימושImageCapture, ולא יכולים להבחין אם נתוני ההשהיה שמוחזרים מתייחסים לגודל הפלט המקסימלי של הלכידה או לפרמטר הרזולוציה של הקלט. (I74bb2) - העברת הפרמטר
CameraProviderשל הפונקציותExtensionsManagerאלgetInstance()API. כדי שהמשתמשים לא יצטרכו להזין את הפרמטרCameraProviderבכל פעם שהם קוראים לפונקציותExtensionsManager. (Ic7e48)
גרסה 1.0.0-alpha31
17 בנובמבר 2021
androidx.camera:camera-extensions:1.0.0-alpha31 וגם androidx.camera:camera-view:1.0.0-alpha31 מופצים. גרסה 1.0.0-alpha31 מכילה את השמירות האלה.
שינויים ב-API
- נוסף CameraSelector#filter ל-API הציבורי כדי לסנן רשימה של CameraInfo על סמך CameraSelector. (I105d0)
תיקוני באגים
- תוקנה קריסה שמתרחשת כשעוברים במהירות בין מצבי תוספים במכשירים מסוימים. (Iebbef)
גרסה 1.0.0-alpha30
13 באוקטובר 2021
androidx.camera:camera-extensions:1.0.0-alpha30 וגם androidx.camera:camera-view:1.0.0-alpha30 מופצים. גרסה 1.0.0-alpha30 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו את ההערה @RequiresApi(21) לכל המחלקות של CameraX והסרנו את minSdkVersion מ-AndroidManifest.xml. הפעולה הזו תאפשר לשלב בקלות את camera-core באפליקציות עם minSdkVersion נמוך מ-21, אבל שרוצות להשתמש באופן מותנה בנתיבי קוד שמסתמכים על API 21 ומעלה. אם האפליקציה מוגדרת עם minSdkVersion בגרסה 21 ומעלה, לא צריך לבצע שום פעולה. (Ie7f2e, b/200599470)
תיקוני באגים
- תוקנה הבעיה AbstractMethodError שמתרחשת כש-proguard מופעל. (Iae468, b/201177844)
גרסה 1.0.0-alpha29
29 בספטמבר 2021
androidx.camera:camera-extensions:1.0.0-alpha29 וגם androidx.camera:camera-view:1.0.0-alpha29 מופצים. גרסה 1.0.0-alpha29 מכילה את השמירות האלה.
שינויים ב-API
- ההערה ExperimentalUseCaseGroup הוסרה עכשיו, כי ממשקי ה-API כבר לא ניסיוניים. (I01ef5)
- הסרה של
RotationProvider#removeAllListeners(). במקומה צריך להשתמש במדיניותRotationProvider#removeListener(...). (Id9d4a) - עדכנו את המחלקה RotationReceiver: שינינו את set/clear Listener ל-add/remove/removeAll, הסרנו את הווריאציה setListener שמשתמשת בשרשור הראשי כברירת מחדל והוספנו הערות לשיטות. (Ib1669)
תיקוני באגים
- שינינו את השם של ExtensionMode#BEAUTY ל-FACE_RETOUCH כדי להציג בצורה נכונה את הפעולות שמתבצעות במצב התוסף. (I61f54, b/198515274)
- תוקנה הבעיה שבה המצלמה נסגרת באופן לא צפוי כשמשתמשים בכמה CameraController ו-PreviewView בפעילות אחת. (Ibfd18, b/197539358)
גרסה 1.0.0-alpha28
18 באוגוסט 2021
androidx.camera:camera-extensions:1.0.0-alpha28 וגם androidx.camera:camera-view:1.0.0-alpha28 מופצים. גרסה 1.0.0-alpha28 מכילה את השמירות האלה.
שינויים ב-API
- ההערה ExperimentalUseCaseGroupLifecycle הוסרה עכשיו כי ממשקי ה-API כבר לא ניסיוניים. (I17b85)
- שינינו את הקוד של RotationListener ושינינו את השם שלו ל-RotationProvider. הוא ממשיך לספק את אותה תכונה עם API שונה במקצת. (Idffc5)
- שינוי השם של TAP_TO_FOCUS_UNSUCCESSFUL ל-TAP_TO_FOCUS_NOT_FOCUSED ושל TAP_TO_FOCUS_SUCCESSFUL ל-TAP_TO_FOCUS_FOCUSED. הגדרת OutputSize כסופי (I099fa)
תיקוני באגים
- הוסרו המחלקות
<EffectName><UseCase>ExtenderExtensionsErrorListener ו-ExtensionsManager APIs הקשורות שהוצאו משימוש. (I3b8c3)
גרסה 1.0.0-alpha27
21 ביולי 2021
androidx.camera:camera-extensions:1.0.0-alpha27 וגם androidx.camera:camera-view:1.0.0-alpha27 מופצים. גרסה 1.0.0-alpha27 מכילה את השמירות האלה.
שינויים ב-API
- העברנו את viewport API מסטטוס ניסיוני לסטטוס רגיל. מסירים את האנוטציה הניסיונית של ה-API. (I717ea)
- שינוי השם של
CoordinateTransform#getTransformל-CoordinateTransform#transformועדכון JavaDoc (I864ae)
תיקוני באגים
- תוקנה בעיה במצב
PreviewView PERFORMANCEשגרמה למתיחה כשמשתמשים בו יחד עם Compose UI. (Ie1137, b/183864890)
גרסה 1.0.0-alpha26
30 ביוני 2021
androidx.camera:camera-extensions:1.0.0-alpha26 וגם androidx.camera:camera-view:1.0.0-alpha26 מופצים. גרסה 1.0.0-alpha26 מכילה את השמירות האלה.
שינויים ב-API
- להוסיף שיטה חדשה
CameraController#getTapToFocusState()שחושפת את התוצאה האחרונה של ההקשה למיקוד. (Iaccb0) - הוספת תכונות נוספות של ליבת המצלמה ל-CameraController: getters/setters ליחס גובה-רוחב של היעד, לרזולוציית היעד, למצב הצילום, ל-CameraControl ולמבצעים מותאמים אישית. (Iea8f2)
- להוסיף מחלקה RotationReceiver שמקבלת שינויים בסיבוב של Surface. אפשר להשתמש בערך הזה כדי להגדיר את סיבוב היעד כשהמכשיר נמצא במצב קבוע של תצוגה לאורך או לרוחב. (Ib278f)
- חשפנו ממשקי API חדשים מסוג getEstimatedCaptureLatencyRange ציבוריים במחלקה ExtensionsManager. (I6a8ec)
- הוצא משימוש ExtensionsErrorListener. בשלב הזה, הממשק הזה משמש רק למעקב אחרי חוסר בתצוגה מקדימה או ב-ImageCapture כשמפעילים מצבי תוסף. CameraX יוסיף באופן אוטומטי תצוגה מקדימה או ImageCapture נוספים כדי שהפונקציות של התוסף יפעלו בצורה טובה. אחרי כן, לא תדווח שגיאה דרך הממשק הזה. (I47d9e)
- הוספנו את ממשקי ה-API הציבוריים החדשים ExtensionsManager getInstance, isExtensionAvailable ו-getExtensionEnabledCameraSelector והוצאנו משימוש את המחלקות הישנות
<EffectName><UseCase>Extenderוממשקי API קשורים. (I329e6)
גרסה 1.0.0-alpha25
2 ביוני 2021
androidx.camera:camera-extensions:1.0.0-alpha25 וגם androidx.camera:camera-view:1.0.0-alpha25 מופצים. גרסה 1.0.0-alpha25 מכילה את השמירות האלה.
שינויים ב-API
- ממשקי ה-API של ExperimentalCameraFilter כבר לא ניסיוניים והם הפכו לממשקי API רשמיים. אפשר להשתמש בהם בלי להוסיף הערה ל-OptIn. (I4bc94)
- הוספת כלי לשינוי קואורדינטות בין תרחישי שימוש. דוגמה לשימוש: שינוי הקואורדינטות שזוהו בתרחיש לדוגמה של ImageAnalysis והדגשת האובייקט שזוהה בתצוגה המקדימה. (I63ab1, b/137515129)
- בוצעה הסרה של
CameraView. CameraViewהוחלף ב-CameraController. במדריך ההעברה מוסבר איך מעבירים את הנתונים. (Id5005)
תיקוני באגים
- הטקסט
ExperimentalUseCaseGroupLifecycleהוחלף בטקסטExperimentalUseCaseGroup. (I3b2ef, b/159033688)
גרסה 1.0.0-alpha24
21 באפריל 2021
androidx.camera:camera-extensions:1.0.0-alpha24 וגם androidx.camera:camera-view:1.0.0-alpha24 מופצים. גרסה 1.0.0-alpha24 מכילה את השמירות האלה.
תיקוני באגים
- החלפנו את ההערה
@Experimentalבהערה@RequiresOptInבממשקי API ניסיוניים. כדי לקרוא לממשקי API ניסיוניים, משתמשים ב-androidx.annotation.OptInבמקום ב-androidx.annotation.experimental.UseExperimentalשהוצא משימוש. (Iff226) - תוקנה הבעיה של מתיחת PreviewView ב-Samsung J5 Prime (Ib10b6)
Camera Extensions & View Version 1.0.0-alpha23
24 במרץ 2021
androidx.camera:camera-extensions:1.0.0-alpha23 וגם androidx.camera:camera-view:1.0.0-alpha23 מופצים. גרסה 1.0.0-alpha23 מכילה את השמירות האלה.
שינויים ב-API
- התכונה CameraView יוצאת משימוש. במקומה צריך להשתמש במדיניות
LifecycleCameraController. למדריך להעברת נתונים (Idac2c) - נוספה הערה מסוג FloatRange ל-setLinearZoom() (I69971)
תיקוני באגים
- הצמדת תלויות של תצוגת המצלמה כדי להסתמך על ארטיפקטים בגרסה 1.0.0. הסתמכות על camera-view לא תגרום יותר לשדרוג אוטומטי של camera-core, camera-camera2 ו-camera-lifecycle לגרסה 1.1.0 העדכנית של הארטיפקטים, למרות ש-camera-view עדיין תואם לארטיפקטים האלה אם הם מוגדרים במפורש לשימוש בגרסה 1.1.0. (Ic8fa1, b/181599852)
- תוקנה תצוגה מקדימה מתוחה ב-PreviewView ב-Samsung A3. (Iacb30, b/180121821)
- תוקנה הבעיה שבה אי אפשר להגדיר את בורר המצלמות לפני שהמצלמה מאותחלת. (Ic8bd0)
Camera Extensions & View Version 1.0.0-alpha22
24 בפברואר 2021
androidx.camera:camera-extensions:1.0.0-alpha22 וגם androidx.camera:camera-view:1.0.0-alpha22 מופצים. גרסה 1.0.0-alpha22 מכילה את השמירות האלה.
שינויים ב-API
- הוספת פונקציית getter של CameraInfo ל-CameraController. (Ib8138, b/178251727)
תיקוני באגים
- תוקן ExtensionsErrorListener כדי לדווח על שגיאות כשרק Preview או ImageCapture מאוגדים. (I5ae39)
Camera Extensions & View Version 1.0.0-alpha21
27 בינואר 2021
androidx.camera:camera-extensions:1.0.0-alpha21 וגם androidx.camera:camera-view:1.0.0-alpha21 מופצים. גרסה 1.0.0-alpha21 מכילה את השמירות האלה.
הגרסה הזו הושקה כדי לתמוך בארטיפקטים אחרים של ספריות מצלמה.
Camera Extensions & View Version 1.0.0-alpha20
16 בדצמבר 2020
androidx.camera:camera-extensions:1.0.0-alpha20 וגם androidx.camera:camera-view:1.0.0-alpha20 מופצים. גרסה 1.0.0-alpha20 מכילה את השמירות האלה.
הגרסה הזו הושקה כדי לתמוך בארטיפקטים אחרים של ספריות מצלמה.
גרסה 1.0.0-alpha19 של Camera-Extensions ו-Camera-View
11 בנובמבר 2020
androidx.camera:camera-extensions:1.0.0-alpha19 וגם androidx.camera:camera-view:1.0.0-alpha19 מופצים. גרסה 1.0.0-alpha19 מכילה את השמירות האלה.
תיקוני באגים
- ההערה
@ExperimentalVideoנוספה לתצוגת המצלמה. ההערה הזו מציינת ממשקי API שחושפים פונקציונליות ניסיונית של סרטונים, שצפויה להשתנות ככל שהתכונות יפותחו באופן מלא. בכל שיטה שמשתמשת בממשקי ה-API האלה צריך להשתמש בהערה@UseExperimentalעםExperimentalVideoבתורmarkerClass. (I6d729)
גרסה 1.0.0-alpha18 של Camera-Extensions
14 באוקטובר 2020
androidx.camera:camera-extensions:1.0.0-alpha18 מופץ. גרסה 1.0.0-alpha18 מכילה את השמירות האלה.
תיקוני באגים
- שיפור זמן האחזור של אתחול CameraX ושל bindToLifecycle (I61dc5)
- הפונקציה
<UseCase>.getTargetRotation()תחזירSurface.ROTATION_0אם היא נקראת לפני שהיא מצורפת למופע של Camera, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)
גרסה 1.0.0-alpha18 של Camera-View
14 באוקטובר 2020
androidx.camera:camera-view:1.0.0-alpha18 מופץ. גרסה 1.0.0-alpha18 מכילה את השמירות האלה.
הגרסה הזו הושקה כדי לתמוך בארטיפקטים אחרים של ספריות מצלמה.
גרסה 1.0.0-alpha17 של Camera-Extensions
23 בספטמבר 2020
androidx.camera:camera-extensions:1.0.0-alpha17 מופץ. גרסה 1.0.0-alpha17 מכילה את השמירות האלה.
תיקוני באגים
- גרסה לתמיכה ב-Camera-Core 1.0.0-beta10
גרסה 1.0.0-alpha17 של Camera-View
23 בספטמבר 2020
androidx.camera:camera-view:1.0.0-alpha17 מופץ. גרסה 1.0.0-alpha17 מכילה את השמירות האלה.
תיקוני באגים
- גרסה לתמיכה ב-Camera-Core 1.0.0-beta10
גרסה 1.0.0-alpha16 של Camera-Extensions
16 בספטמבר 2020
androidx.camera:camera-extensions:1.0.0-alpha16 מופץ. גרסה 1.0.0-alpha16 מכילה את השמירות האלה.
תיקוני באגים
- נוספה method ב-
ExtensionsManagerכדי לקבל אובייקטExtensionsשמשמש להפעלה ולשאילתות של תוספים במופעי מצלמה (I4fb7e)
גרסה 1.0.0-alpha16 של Camera-View
16 בספטמבר 2020
androidx.camera:camera-view:1.0.0-alpha16 מופץ. גרסה 1.0.0-alpha16 מכילה את השמירות האלה.
שינויים ב-API
- הוסרו
PreviewView#setDeviceRotationForRemoteDisplayMode()ו-PreviewView#getDeviceRotationForRemoteDisplayMode(). שתי השיטות האלה מיועדות להתאמה אישית של סיבוב התצוגה המקדימה, כשסיבוב התצוגה הרצוי הוא לא סיבוב התצוגה, למשל תצוגה מרחוק. כדי לטפל עכשיו ברוטציה של תצוגה מקדימה שלא מוצגת, מגדירים את הרוטציה הרצויה באמצעותPreview#setTargetRotation()והמאפייןPreviewView#getViewPort(targetRotation)שנוסף לאחרונה. (Ib62cc) - השם של
createSurfaceProvider()שונה ל-getSurfaceProvider(). השיטה תמיד תחזיר את אותו מופע של Preview.SurfaceProvider. (Iff83c)
תיקוני באגים
- הכריח את PreviewView להשתמש ב-TextureView אם אפקט התוסף מופעל וההטמעה של ספריית הספק צריכה לבצע תהליך מיוחד במשטח הפלט. (I0c3cc)
- מאפשרים סיבוב שרירותי של היעד בתצוגה המקדימה. פרטי השינוי מחושבים ומוחזרים למשתמש באופן מיידי באמצעות
TranformationInfoListenercallback חדש. (I21470)
בעיות מוכרות
- ב-PreviewView,
OnClickListener#onClick()לא מופעל כשמשתמש הקצה לוחץ על PreviewView. האירוע של המגע נצרך בטעות על ידי PreviewView#onTouchEvent(). הבעיה תיפתר בגרסה הבאה. - יכול להיות שהערך של MeteringPoint שמתקבל מ-
PreviewView#getMeteringPointFactory()שגוי אם משתמשים ב-ViewPort עם PreviewView.
גרסה 1.0.0-alpha15 של Camera-Extensions
19 באוגוסט 2020
androidx.camera:camera-extensions:1.0.0-alpha15 מופץ. גרסה 1.0.0-alpha15 מכילה את השמירות האלה.
תיקוני באגים
- ה-method
ExtensionsManager.init()מקבלת עכשיו Context כפרמטר במקום 0 ארגומנטים. (Ife754) ההפעלה לא אמורה לקרוס יותר כשמשתמשים בהקשר שלא מחזיר אובייקט של אפליקציה מ-
Context.getApplicationContext(). (I3d3c9, b/160817073)גרסה 1.0.0-alpha15 של Camera-View
19 באוגוסט 2020
androidx.camera:camera-view:1.0.0-alpha15 מופץ. גרסה 1.0.0-alpha15 מכילה את השמירות האלה.
תיקוני באגים
-
DisplayOrientedMeteringPointFactoryמקבל מופע במקוםCameraSelector, כך שיש מיפוי ישיר למצלמה שעבורה המפעל ייצור נקודות.CameraInfoכל המחלקות שמשתמשות ב-DisplayOrientedMeteringPointFactoryמקבלות גם מופעCameraInfoבמקוםCameraSelector. (I400c1) - בוצעה הסרה של
TextureViewMeteringPointFactory. PreviewViewמספקת API ציבורי (createMeteringPointFactory()) ליצירת מפעל של נקודות מדידה, בלי קשר לשאלה אם היא משתמשת ב-TextureViewאו ב-SurfaceView. (Ide693) - שינוי השם של מצבי ההטמעה של
SURFACE_VIEW/TEXTURE_VIEWב-PreviewView ל-PERFORMANCE/COMPATIBLE. PERFORMANCEהוא המצב הישןSURFACE_VIEW, ו-COMPATIBLEהוא המצב הישןTEXTURE_VIEW. (I0edc2) - לצילום תמונות, מחליפים את הדגל של היפוך אופקי במטא-נתונים על סמך כיוון המצלמה. (I28499)
גרסה Camera-Extensions 1.0.0-alpha14
22 ביולי 2020
androidx.camera:camera-extensions:1.0.0-alpha14 מופץ. גרסה 1.0.0-alpha14 מכילה את השמירות האלה.
גרסה 1.0.0-alpha14 של Camera-View
22 ביולי 2020
androidx.camera:camera-view:1.0.0-alpha14 מופץ. גרסה 1.0.0-alpha14 מכילה את השמירות האלה.
גרסה Camera-Extensions 1.0.0-alpha13
24 ביוני 2020
androidx.camera:camera-extensions:1.0.0-alpha13 מופץ. גרסה 1.0.0-alpha13 מכילה את השמירות האלה.
תיקוני באגים
- נוספו ממשקי ניסוי לסינון מצלמות לפי מזהה מצלמה (camera ID) ומאפייני מצלמה (CameraCharacteristics). (I28f61)
גרסה 1.0.0-alpha13 של Camera-View
24 ביוני 2020
androidx.camera:camera-view:1.0.0-alpha13 מופץ. גרסה 1.0.0-alpha13 מכילה את השמירות האלה.
תיקוני באגים
- אפליקציית CameraView לא קורסת יותר עם IllegalArgumentException כשמבצעים binding ל-LifecycleOwner שה-Lifecycle שלו עובר למצב DESTROYED זמן קצר אחרי ה-binding. מחזורי חיים של Binding במצב DESTROYED לא ינסו לפתוח את המצלמה. (I7c2b8)
- הסטטוס של תצוגה מקדימה של סטרימינג זמין עכשיו דרך CameraView.getPreviewStreamState() (I21a2b)
Camera-Extensions Version 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 של Camera-View
10 ביוני 2020
androidx.camera:camera-view:1.0.0-alpha12 מופץ. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.
תיקוני באגים
- הוספת
PreviewView#getBitmap()API שמחזיר ייצוג Bitmap של התוכן שמוצג באזור התצוגה המקדימה. (I9b500, b/157659818)
Camera-Extensions Version 1.0.0-alpha11
27 במאי 2020
androidx.camera:camera-extensions:1.0.0-alpha11 מופץ. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.
גרסה 1.0.0-alpha12 של Camera-View
10 ביוני 2020
androidx.camera:camera-view:1.0.0-alpha12 מופץ. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.
תכונות חדשות
שינויים ב-API
תיקוני באגים
- הוספת
PreviewView#getBitmap()API שמחזיר ייצוג Bitmap של התוכן שמוצג באזור התצוגה המקדימה. (I9b500, b/157659818)
גרסה 1.0.0-alpha11 של Camera-View
27 במאי 2020
androidx.camera:camera-view:1.0.0-alpha11 מופץ. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.
שינויים ב-API
- הוספת
PreviewView#getPreviewStreamStateAPI שמאפשר לאפליקציות לבדוק אם התצוגה המקדימה מוזרמת או לא. כש-PreviewView במצב TEXTURE_VIEW, המצב STREAMING מבטיח גם שהתמונה בתצוגה המקדימה תהיה גלויה. (Ic0906, b/154652477) - נוסף
PreviewView#setDeviceRotationForRemoteDisplayMode()API כדי לספק סיבוב מכשיר לחישובי טרנספורמציה אם האפליקציה פועלת במצב תצוגה מרחוק. (I59b95, b/153514525)
תיקוני באגים
- תוקנה בעיית העיוות בתצוגה המקדימה במצלמות
FULL/LIMITED/LEVEL_3שפועלות ב-Android מגרסה 7.0 ומטה. מצבImplementationMode#TEXTURE_VIEWשימוש מאולץ כשגרסת Android היא 7.0 ומטה. (I83e30, b/155085307) - הפרמטר
CameraInfoהוסר מ-PreviewView#createSurfaceProvider(), ועכשיוPreviewViewמאחזר אותו באופן פנימי מ-SurfaceRequest. (If18f0, b/154652477) - יחס הגובה-רוחב שמוגדר כברירת מחדל ב-VideoCapture הוא עכשיו 16:9 ב-CameraView. (Ie6a7b, b/153237864)
- תוקנה בעיה שבה
PreviewViewמסך שחור הופיע כשמבצעים החלקה כדי להוציאPreviewקטע ואז מחליקים כדי להחזיר אותו ב-ViewPager2. בנוסף, פתרנו את הבעיה כשלוחצים עלremoveView(previewview)ואז עלaddView(previewView). (Iab555, b/149877652, b/147354615) - צריך לעדכן את
CameraView#takePicture()API כדי לאפשר שמירת תמונות ב-Uriוב-OutputStream. מעדכנים את אפליקציית הבדיקה כך שתשתמש ב-Uriכדוגמה קנונית. (Ia2459, b/153607583) - אפשר להגדיר את סוג קנה המידה של PreviewView מפריסת XML על ידי הגדרת המאפיין
ScaleType. (I08565, b/153015659) CameraView.ScaleTypeהוסר. במקום זאת, משתמשים ב-PreviewView.ScaleTypeכדי להגדיר או לקבל סוג קנה מידה באמצעות CameraView. (Ia8974, b/153014831)- נותנים ל-
PreviewViewצבע רקע כברירת מחדל אם עדיין אין לו צבע רקע. כך לא ניתן לראות את התוכן שמאחורי המסך לפני שהתצוגה המקדימה מתחילה. (I09fad)
Camera-Extensions גרסה 1.0.0-alpha10
15 באפריל 2020
androidx.camera:camera-extensions:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 מכילה את השמירות האלה.
תיקוני באגים
- תיקונים לתמיכה בהשקת Camera-Core
Camera-View גרסה 1.0.0-alpha10
15 באפריל 2020
androidx.camera:camera-view:1.0.0-alpha010 מופץ. גרסה 1.0.0-alpha010 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה מוכרת קודמת שבה ההטמעה של
PreviewViewsurfaceView לא פעלה בצורה טובה במכשירים מסוימים, וגרמה לקריסת האפליקציה אחרי חידוש התצוגה המקדימה. (I5ed6b)
Camera-Extensions Version 1.0.0-alpha09
1 באפריל 2020
androidx.camera:camera-extensions:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
תיקוני באגים
- העדכון תומך בתיקוני הבאגים בפריטים
camera-camera2:1.0.0-beta02,camera-core:1.0.0-beta02ו-camera-lifecycle:1.0.0-beta02
גרסה 1.0.0-alpha09 של Camera-View
1 באפריל 2020
androidx.camera:camera-view:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
בעיות מוכרות
- יכול להיות שהשימוש ב-
ImplementationMode.SURFACE_VIEWעםPreviewViewלא יעבוד טוב במכשירים מסוימים. הסיבה לכך היא ש-SurfaceViewשמשמש לתצוגה מקדימה מבטל את התוקף של השטח שלו כשהמחזור של החלון שבו הוא נמצא נעצר. כשהוא מופעל מחדש, המצלמה נפתחת מחדש ויכול להיות שהיא תנסה להמשיך את התצוגה המקדימה לפני שהשטח שלSurfaceViewיהיה תקף שוב. בשלב הזה, כדאי להשתמש ב-ImplementationMode.TEXTURE_VIEW.
שינויים ב-API
- השם של
PreviewView.setImplementationMode()שונה ל-PreviewView.setPreferredImplementationMode(). - השם של
PreviewView.getImplementationMode()שונה ל-PreviewView.getPreferredImplementationMode(). - הפונקציה
PreviewView.getSurfaceProvider()הוחלפה בפונקציהPreviewView.createSurfaceProvider(CameraInfo), שמקבלת מופעCameraInfoשניתן לאתחול ל-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.הוספת
createMeteringPointFactory()API ל-PreviewView כדי לתמוך בהמרה של (x, y) ב-PreviewViewל-MeteringPoint. (Ib36d7)
תיקוני באגים
- תוקנו מקרים שבהם מוצגת תצוגה מקדימה שגויה אחרי שינוי הגודל של
PreviewView. (I71101)
גרסה Camera-Extensions 1.0.0-alpha08
26 בפברואר 2020
androidx.camera:camera-extensions:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
גרסה 1.0.0-alpha08 של Camera-View
26 בפברואר 2020
androidx.camera:camera-view:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
תיקוני באגים
- החלפתי את
ListenableFutureב-SurfaceRequest.provideSurface()ב-Executorוב-Callback. השינוי הזה מפשט את ה-API כי כבר לא צריך לטפל בחריגים ב-provideSurface(), ומבטיח שלא ניתן לבטל את הקריאה החוזרת (callback) שלprovideSurface(). הסיבה לכך היא למנוע קריסות במכשירים ישנים יותר שנגרמות כתוצאה משחרור מוקדם מדי של משטחים. האובייקטSurfaceRequest.Resultמשמש עכשיו למעקב אחרי השימוש ב-Surfaceשסופק על ידיSurfaceRequest. (I7854b) - השם של
SurfaceRequest.setSurface(Surface)שונה ל-SurfaceRequest.provideSurface(Surface), והשם שלSurfaceRequest.setWillNotComplete()שונה ל-SurfaceRequest.willNotProvideSurface(). (I224fe) - תוקן תהליך האתחול של וריאציות של אפליקציות עם ProGuard מופעל, על ידי שמירת הדגל שמגדיר את ספק
CameraXConfigברירת המחדל. (I2d6c1)
Camera-Extensions Version 1.0.0-alpha07
10 בפברואר 2020
androidx.camera:camera-extensions:1.0.0-alpha07 מופץ. גרסה 1.0.0-alpha07 מכילה את השמירות האלה.
תיקוני באגים
- הארגומנטים שהועברו קודם ב-
ImageCapture.OnImageSavedCallback.onError()וב-ImageCapture.OnImageCapturedCallback.onError()הוחלפו עכשיו בארגומנט יחידImageCaptureException, שעדיין מכיל את כל המידע שהועבר קודם. - הארגומנט של הקובץ שהועבר קודם ב-
ImageCapture.OnImageSavedCallback.onImageSaved()הוסר. (I750d2)
גרסה 1.0.0-alpha07 של Camera-View
10 בפברואר 2020
androidx.camera:camera-view:1.0.0-alpha07 מופץ. גרסה 1.0.0-alpha07 מכילה את השמירות האלה.
שינויים ב-API
- ההטמעה של
PreviewViewב-TextureViewמגדירה עכשיו את הגודל שלTextureViewלגודל הפלט של חיישן המצלמה לפני שינוי קנה המידה שלו כדי למלא את רכיב האבPreviewView. אם רוצים שתצוגה מקדימה של המצלמה תמלא חלק שלם בממשק המשתמש (למשל, את המסך כולו), לא צריך להגדיר את הגודל שלPreviewViewכערך קבוע, או לגרום לו להקיף את התוכן שלו (למשל באמצעות המאפייןwrap_content). אחרת, יכול להיות שהתצוגה המקדימה של המצלמה תמלא רק חלק מה-PreviewView(אם גודל הפלט של חיישן המצלמה קטן יותר). במקום זאת, צריך להגדיר אתPreviewViewכך שיהיה גדול כמו רכיב האב שלו (לדוגמה, באמצעות המאפייןmatch_parent). (1204869)
תיקוני באגים
- עדכנו את
ImageCaptureכדי לאפשר שמירת תמונות ב-Uriוב-OutputStream. שילבנו שיטותtakePictureעם עומס יתר לאחת. עדכנו את אפליקציית הבדיקה כך שתשתמש ב-Uriכדוגמה קנונית. (Ia3bec) - השם של
Preview.PreviewSurfaceProviderשונה ל-Preview.SurfaceProvider.SurfaceProviderכבר לא מחייב את המפתחים ליצורListenableFutureמשלהם, ואספקתSurfaceמתבצעת עכשיו באמצעות אובייקטSurfaceRequestחדש. ה-methodPreview.getPreviewSurfaceProvider()הוסרה בגלל הפוטנציאל לשימוש לרעה כשמשלבים אתPreviewעם מחלקות אחרות כמוPreviewView. (I20105) - הארגומנטים שהועברו קודם ב-
ImageCapture.OnImageSavedCallback.onError()וב-ImageCapture.OnImageCapturedCallback.onError()הוחלפו עכשיו בארגומנט יחידImageCaptureException, שעדיין מכיל את כל המידע שהועבר קודם. - הארגומנט של הקובץ שהועבר קודם ב-
ImageCapture.OnImageSavedCallback.onImageSaved()הוסר. (I750d2) - ה-API עודכן, ושיטות
getZoomRatio(),getMaxZoomRatio(),getMinZoomRatio()ו-getLinearZoom()שלCameraInfoמוזגו ל-getZoomState()שמחזירה מופע שלZoomState. (Ib19fe)
גרסה 1.0.0-alpha06 של Camera-Extensions
22 בינואר 2020
androidx.camera:camera-extensions:1.0.0-alpha06 מופץ. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
עדכונים
- תיקונים ועדכונים שונים לתמיכה בשינויים ב-Camera Core וב-Camera2.
גרסה 1.0.0-alpha06 של Camera-View
22 בינואר 2020
androidx.camera:camera-view:1.0.0-alpha06 מופץ. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
עדכונים
- תיקונים ועדכונים שונים לתמיכה בשינויים ב-Camera Core וב-Camera2.
גרסה 1.0.0-alpha05 של Camera-Extensions
18 בדצמבר 2019
androidx.camera:camera-extensions:1.0.0-alpha05 מופץ. גרסה 1.0.0-alpha05 מכילה את השמירות האלה.
תיקוני באגים
- העדכון בוצע בהתאם לממשקי ה-API הפנימיים של Camera Core.
גרסה 1.0.0-alpha05 של Camera-View
18 בדצמבר 2019
androidx.camera:camera-view:1.0.0-alpha05 מופץ. גרסה 1.0.0-alpha05 מכילה את השמירות האלה.
בעיות מוכרות
- יכול להיות שיחס הגובה-רוחב יהיה שגוי כשמשתמשים ב-PreviewView (b/146215202).
תכונות חדשות
- הוטמעה מחלקה חדשה בשם
PreviewView.TextureViewImplementationשמסנכרנת את מחזור החיים של SurfaceTexture עם השימוש של המצלמה במשטח של TextureView.
גרסה 1.0.0-alpha04 של Camera-Extensions
4 בדצמבר 2019
androidx.camera:camera-extensions:1.0.0-alpha04 מופץ. Version 1.0.0-alpha04 of camera-extensions contains these commits
שינויים ב-API
בדיקת הזמינות של תוסף והפעלתו מתבצעות עכשיו באמצעות פרמטר קלט
CameraSelector. זה צריך להיות אותוCameraSelectorשמשמש לקישור של תרחיש השימוש.val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA val builder = ImageCapture.Builder() val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder) if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) { bokehImageCaptureExtender.enableExtension(cameraSelector) } val imageCapture = builder.build() mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)צריך לאתחל את התוספים לפני שמשתמשים בספריית התוספים.
val availability = ExtensionsManager.init() Futures.addCallback<ExtensionsManager.ExtensionsAvailability>( availability, object : FutureCallback<ExtensionsManager.ExtensionsAvailability> { override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) { // Ready to make extensions calls } override fun onFailure(throwable: Throwable) { // Extensions could not be initialized } }, Executors.newSingleThreadExecutor() )
גרסה 1.0.0-alpha04 של Camera-View
4 בדצמבר 2019
androidx.camera:camera-view:1.0.0-alpha04 מופץ. גרסה 1.0.0-alpha04 של camera-view מכילה את השמירות האלה
שינויים ב-API
- יש מחלקה
PreviewViewשמאפשרת להציג בקלות את הפלט של תרחיש השימוש בתצוגה מקדימה באפליקציה. אפשר לכלול את
PreviewViewבפריסה:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />
PreviewViewמספקPreviewSurfaceProviderכדי לחבר בקלות תרחיש לדוגמה של תצוגה מקדימהpreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)השם '
ZoomLevel' הוא עכשיו 'ZoomRatio' בשמות של ממשקי APIחלק מהפרמטרים של השיטה השתנו מבחינת האפשרות להגדיר אותם כ-null
גרסה 1.0.0-alpha03 של Camera-Extensions ו-Camera-View
9 באוקטובר 2019
androidx.camera:camera-extensions:1.0.0-alpha03 וגם androidx.camera:camera-view:1.0.0-alpha03 מופצים. אלה ההתחייבויות שנכללות ב-camera-extensions:1.0.0-alpha03 ואלה ההתחייבויות שנכללות ב-camera-view:1.0.0-alpha03.
תכונות חדשות
- נוסף מאתחל הקשר לתוספים. הגרסה של התוספים עודכנה ל-1.1.0
גרסה 1.0.0-alpha02 של Camera-Extensions ו-Camera-View
5 בספטמבר 2019
androidx.camera:camera-extensions:1.0.0-alpha02 וגם androidx.camera:camera-view:1.0.0-alpha02 מופצים. אלה השמירות שכלולות בגרסה camera-extensions:1.0.0-alpha02 ואלה השמירות שכלולות בגרסה camera-view:1.0.0-alpha02.
- נוספו בדיקות כדי לוודא ש
PreviewImageProcessorImplהטמיע חותמות זמן בצורה נכונה. - תיקון של כשל בבדיקה
ExtensionTestב-Nexus 5 (רמת API 21) והבטחה שהתצוגה המקדימה זמינה.
גרסה 1.0.0-alpha01 של Camera-Extensions ו-Camera-View
7 באוגוסט 2019
androidx.camera:camera-extensions:1.0.0-alpha01 וגם androidx.camera:camera-view:1.0.0-alpha01 מופצים.
אלה השמירות שנכללות ב-camera-extensions:1.0.0-alpha01 ואלה השמירות שנכללות ב-camera-view:1.0.0-alpha01
- ספרייה חדשה לתוספי מצלמה עתידיים, לגישה לאפקטים במכשירים נתמכים. הספרייה הזו נמצאת בשלבי פיתוח.
- כיתה חדשה של Camera View. הספרייה הזו נמצאת בשלבי פיתוח.