CameraX
בטבלה הזו מפורטים כל פריטי המידע בקבוצה androidx.camera.
| פריט מידע שנוצר בתהליך פיתוח (Artifact) | גרסה יציבה | גרסה מועמדת להפצה | גרסת בטא | גרסת אלפא |
|---|---|---|---|---|
| camera-camera2 | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-core | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-compose | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-effects | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-extensions | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
| camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
| camera-lifecycle | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-mlkit-vision | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-view | 1.6.2 | 1.7.0-rc01 | - | - |
| camera-viewfinder | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
| camera-video | 1.6.2 | 1.7.0-rc01 | - | - |
בדיקת מכשירים
אנחנו בודקים את CameraX במכשירים רבים במעבדה שלנו. כדי לראות רשימה של המכשירים שנמצאים כרגע במעבדה, עיינו במכשירים שנבדקו במעבדה של CameraX.
הצהרה על יחסי תלות
כדי להוסיף תלות ב-CameraX, צריך להוסיף לפרויקט את מאגר Google Maven. מידע נוסף זמין במאמר מאגר ה-Maven של Google.
אתם יכולים להוסיף את יחסי התלות של הארטיפקטים שאתם צריכים בקובץ build.gradle של האפליקציה או המודול:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.7.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.7.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 מכילה את השמירות האלה.
תכונות חדשות
- ספרייה חדשה. הספרייה הזו כוללת רכיב קומפוזבילי של תצוגת הצילום ב-Compose, שאפשר להשתמש בו עם CameraX ו-Camera2. ה-composable 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
- שינוי השם של רשימות ה-Enum של
Viewfinderב-ImplementationModeכדי לשקף טוב יותר את ההטמעות הבסיסיות, והוספת קבועים קבועים ל-TransformationInfo.sourceRotation. (Ic6149) - הוספנו את
ZoomGestureDetector.ZoomEventכדי לתמצת את המצבים של תנועת זום. (I84cdf)
גרסה 1.7
גרסה 1.7.0-rc01
21 באוקטובר 2026
androidx.camera:camera-*:1.7.0-rc01 מופץ. גרסה 1.7.0-rc01 מכילה את ה-commits האלה.
שינויים ב-API
- המרנו את
UseCaseCamera2Interop,ImageCaptureCamera2Interop,SessionConfigCamera2Interopו-CameraControlCamera2Interopמממשקים למחלקות מופשטות. (If654e) - תוקנה בעיית העמימות ב-Camera2Interop V2 (I1bbe5)
תיקוני באגים
- תוקנה קריסה ברמת שפת המכונה של
SIGSEGVבשרשורCameraXOpenGLכש-SurfaceProcessorשחרר קלטSurfaceTextureשה-SurfaceRequestשלו נאסף על ידי מנגנון איסוף הזבל לפני ההשלמה. (I76f73, b/563673593) - תוקנה דליפת Surface וקריסה ברמת שפת המכונה של
OpenGLשיכולה להתרחש במהלך איסוף זבל כש-executor שלCameraEffectאוHandlerThreadנסגר לפני ש-SurfaceOutputשל האפקט נסגר. (Ifcc19, b/558819242) - שיפור בהתנהגות של "הגברת התאורה החלשה": התכונות "הגברת התאורה החלשה" ו"פנס" פועלות עכשיו לפי מדיניות של "ההגדרה האחרונה קובעת". כלומר, הפעלה של אחת מהן משביתה באופן אוטומטי את השנייה, במקום לדחות את הבקשה. בנוסף, עכשיו אפשר להפעיל את הפלאש בזמן הצילום כשהתכונה "שיפור בתאורה חלשה" פועלת. (Ie583f)
- התלות
androidx.lifecycle:lifecycle-runtimeעודכנה לגרסה 2.10.0. הגרסה הזו נדרשת כדי להריץ בדיקות lint של זמן ריצה של מחזור חיים בחבילה עם AGP בגרסה 9.5.0-alpha04 ואילך. (I99bfd, b/556807521) - תמיכה בקבלת
CameraSelectorבמצלמות פיזיות מ-CameraInfo.getPhysicalCameraInfos()ובקישור שלUseCasesלמצלמות פיזיות. כששולחים שאילתה ל-CameraInfoעםCameraSelectorפיזי, עכשיו מוחזרCameraInfoפיזי במקוםCameraInfoלוגי. (Ibe7f2) - הבהרנו ב-Javadoc של
OutputOptions.Builder.setLocationשרק קווי הרוחב והאורך נשמרים במטא-נתונים של הסרטון. (I77d3b, b/551348846) - תוקן באג ב-
ImageAnalysisשבו שינוי דינמי של סיבוב הפלט או ביטול הקישור של תרחיש השימוש עלולים לגרום לדליפת משאבים של Surface/ImageReader. (I25cef) - היחס שמוחזר על ידי
CameraInfo.getIntrinsicZoomRatio()מעוגל עכשיו לשתי ספרות אחרי הנקודה העשרונית. (Ibe9a8) - בדיקת
HardwareBuffer.isSupportedפחות מחמירה לפורמטPRIVATEב-ImageAnalysisכדי למנוע כשלים של תוצאות שליליות כוזבות במכשירים מסוימים. (I347a4, b/545866947) - תוקנה קריסה של קומפילציה בגרסאות חדשות יותר של JDK כשפותרים הערות מסוג JSpecify שיובאו באופן טרנזיטיבי בשדות פנימיים של
CameraX. (I00bb4, b/543937345)
גרסה 1.7.0-alpha03
12 באוגוסט 2026
androidx.camera:camera-*:1.7.0-alpha03 מופץ. גרסה 1.7.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- ממשקי API מדור קודם של Camera2Interop (
Camera2Interop.Extender,Camera2CameraControl,Camera2CameraInfoו-CaptureRequestOptions) הוצאו משימוש לטובת שיטות להגדרת מפעל שלCamera2Interopופונקציות הרחבה של Kotlin. (Ib0845, b/529609261) - הוספנו בלוקים של תוספי Kotlin DSL
camera2Interopל-preview, ל-imageAnalysis, ל-videoCapture, ל-imageCaptureול-SessionConfig.Builder, וגם פונקציית תוסףCameraControl.applyCamera2InteropAsync. (I51af9, b/529609261) - נוספו שיטות חדשות של מפעל מגדירים של
Camera2Interop(forUseCase,forImageCapture,forSessionConfig,forCameraControl) ושיטות תואמות שלsetInterop/applyInteropAsyncב-Preview.Builder,ImageCapture.Builder,ImageAnalysis.Builder,VideoCapture.Builder,SessionConfig.Builderו-CameraControl. (I0007b, b/529609261) - הוספנו שיטות עזר ל-
Camera2Interopומאפייני תוספים מקבילים של Kotlin (CameraInfo.cameraId,CameraInfo.cameraCharacteristicsו-String.toCameraSelector()) כדי לאחזר את מזהה המצלמה והמאפיינים של Camera2 מ-CameraInfo. (I11803, b/529609261) - הוספנו את
Preview.setMirrorMode,Preview.getMirrorModeו-VideoCapture.setMirrorModeלממשקי API ציבוריים, והסרנו את ההערהExperimentalMirrorMode. (I4ed60, b/519794349, b/470629643) - הוספנו את ה-builders של Kotlin DSL
preview{ ... },imageCapture{ ... },imageAnalysis{ ... } ו-videoCapture{ ... } ליצירתUseCases. (I91df9, b/530013719) - שינינו את ImagePlane.buffer ל-ByteBuffer שלא יכול להיות null. (I98593)
- הוצאה משימוש של פונקציות ה-getter של המאפיינים ב-
SessionConfig.Builder, ב-HighSpeedVideoSessionConfig.Builderוב-ExtensionSessionConfig.Builderב-Kotlin DSL כדי לאכוף מאפיינים לכתיבה בלבד. (I2875b, b/534570559)
תיקוני באגים
- תוקנה בעיה שבה קישור של כמה תרחישי שימוש של
PreviewעםOverlayEffectגרם לכשל אחד בהעברת סטרימינג של גרסת טרום-השקה (Preview). (I7a383, b/532577546, b/532924417) - תוקנה בעיה שבה
Recording.pause()ו-Recording.resume()נכשלו כשעברו בין מצלמות במהלך הקלטת וידאו מתמשכת. (I71004, b/532327691, b/367121726) - תוקנו קריסות של HAL כשמשתמשים ב-Zero-Shutter Lag (ZSL) בזמן שינוי מרחק התצוגה (Zoom) מעבר לגבולות המצלמה הפיזית במכשירים עם כמה מצלמות. (I1c374, b/527782712, b/514757157)
- תוקנה בעיה שבה צילום וידאו ב-HDR נכשל במכשירי Samsung Galaxy S25, S26 ו-Fold 7. (Ic0827, b/529618629)
גרסה 1.7.0-alpha02
1 ביולי 2026
androidx.camera:camera-*:1.7.0-alpha02 מופץ. גרסה 1.7.0-alpha02 מכילה את השמירות האלה.
שינויים ב-API
- ב-
CameraXViewfinderיש עכשיו תמיכה בתנועות מובנות לפתיחה או סגירה של אצבעות כדי לשנות את מרחק התצוגה, ובהקשה כדי להתמקד. בנוסף, יש תמיכה בהבהוב מסך ובמצב סטרימינג. FocusStateגלוי עכשיו לכולם ב-viewfinder-core כדי לאפשר מעקב אחרי התוצאות של "לחיצה למיקוד". (I66a17, b/522549890) - הוספנו את
isAutoRotationEnabledל-SessionConfig.Builder, ל-HighSpeedVideoSessionConfig.Builderול-ExtensionSessionConfig.Builder, והוספנו להם פונקציות של מפעל Kotlin DSL. ההגדרה הזו מאפשרת להגדיר את הסיבוב המתאים באופן אוטומטי על סמך החיישנים של המכשיר. (I5b4a3, b/510752515) - הוספנו את המאפיין
TransformationModeל-TransformationInfoכדי לתמוך באפליקציות שמשתמשות בצינור עיבוד הנתוניםOpenGLבמצבEMBEDDED. (Id1de1, b/487826941) - הוספנו את
isNightModeIndicatorSupported()ואתgetNightModeIndicator()אלCameraInfoכדי לקבוע מתי תנאי הסביבה עומדים בקריטריונים של מצב לילה. (Iae47b, b/499389465) - הגדרנו את ImageAnalysis.OUTPUT_IMAGE_FORMAT_PRIVATE ואת ImageProxy.getHardwareBuffer() כ-API ציבורי כדי לתמוך ב-ImageAnalysis שמבוסס על GPU. (I41cb3, b/496022391, b/492934501)
- ה-API ExtensionsManager#getExtensionEnabledCameraSelector הוצא משימוש. כדי להפעיל מצבי תוספים, צריך להשתמש ב-API החדש ExtensionSessionConfig. (I2b336, b/473715607)
- נוספה תמיכה בסגנון חזותי של פריימים של מצלמה במהלך קומפוזיציה של מצלמות בו-זמנית. עכשיו אתם יכולים להתאים אישית את:
- פינות מעוגלות: משתמשים ב-setRoundedCornerRatio(float) כדי להחיל עיגול מנורמל (0.0 עד 1.0) על קצוות המסגרת.
- גבולות: משתמשים ב-setBorderWidthRatio(float) וב-setBorderColor(int) כדי להוסיף מסגרת דקורטיבית בעובי אחיד (I18a07, b/366349205)
- עדכנו את CompositionSettings כדי לאכוף סדר z לא שלילי, והוספנו אימות ל-ConcurrentCamera.setCompositionSettings כדי לוודא שהקריאה אליו מתבצעת עם מספר ההגדרות הנכון במצב קומפוזיציה תקין. (If660d, b/496951658)
- הוספנו את getNightModeIndicator() ואת isNightModeIndicatorAvailable() ל-CameraExtensionsInfo כדי לאפשר לאפליקציות לעקוב אחרי הסביבה הנוכחית ולבדוק אם היא במצב לילה כשמשתמשים בתוספים למצלמה. (I62bb4, b/499389465)
- הוספנו תמיכה באיכות וידאו של
QHDב-VideoCapture. (I0ac20, b/501305592) - הוספנו את
Recorder.Builder.setTargetAudioChannelCount(int)ו-Recorder.getTargetAudioChannelCount()כדי לאפשר למפתחים להגדיר מספר מפורש של ערוצי אודיו. (I6bee0, b/441895100) - הוספנו את
Recorder.Builder.setTargetAudioEncodingBitRate(int)כדי לאפשר הגדרה של קצב העברת נתונים לקידוד אודיו. (I29062, b/241151504) - הוספנו את ה-API ConcurrentCamera.setCompositionSettings כדי לאפשר לאפליקציות לעדכן את הקומפוזיציה של המצלמה הנוכחית באופן דינמי אחרי שמחזור החיים נקשר. בנוסף, setZOrder API חדש ב-CompositionSettings.Builder מאפשר שליטה מדויקת בסדר העיבוד של סטרימינג מהמצלמה חופפים. (I90528, b/473702287)
- הוספנו ממשקי API שמאפשרים שליטה מפורטת בפורמטים של קידוד. מפתחים יכולים עכשיו לגלות פורמטים שנתמכים במכשיר באמצעות
Recorder.getSupportedVideoMimeTypes()ו-getSupportedAudioMimeTypes(), שנמצאים כרגע בשלב ניסיוני. אפשר להגדיר באופן מפורש את הפורמטים המועדפים באמצעותRecorder.Builder.setVideoMimeType()ו-setAudioMimeType(). בנוסף,Recorder.getVideoCapabilities(CameraInfo, String)מאפשר לשלוח שאילתות לגבי יכולות ספציפיות למצלמה, כמו איכויות נתמכות וטווחים דינמיים, עבור קודק נבחר. (I4620e, b/491319384) - הוספנו את CameraController.setAutoRotationEnabled(boolean) כדי לאפשר השבתה של המאזין לסיבוב האוטומטי של המכשיר. (Ia0c03, b/449573627)
- הוספנו תמיכה בנעילת AE/AWB ב-FocusMeteringAction באמצעות setLockingMode API חדש. כך אפשר גם לעדכן אזורי 3A בלי לנעול את המיקוד, והמצלמה יכולה להישאר במצב מיקוד אוטומטי רציף בזמן עדכון אזור המיקוד. (I6416f, b/481624745)
תיקוני באגים
- הסרת הדרישה ל-
compileSdk 37(If78b4) - תוקנו
CameraXViewfinderבעיות טרנספורמציה במצבEMBEDDEDכשצינור עיבוד הנתוניםOpenGLמופעל על ידיCameraXכדי לקשר יותרUseCasesאו לעבד משטחים. (I3e637, b/487826941) - עדכנו את הבדיקות והפעילויות כך שישתמשו ב-ExtensionSessionConfig במקום ב-API getExtensionEnabledCameraSelector שהוצא משימוש. (I765d8, b/473715607)
- תוקנה שגיאת קומפילציה "Cannot access class 'ListenableFuture'". (Ic8cba, b/497571473)
- compileSdk של Compose עודכן ל-API 37. כלומר, כשמשתמשים ב-Compose, נדרשת גרסת AGP מינימלית של 9.2.0. (Id45cd, b/413674743)
גרסה 1.7.0-alpha01
11 במרץ 2026
androidx.camera:camera-*:1.7.0-alpha01 מופץ. גרסה 1.7.0-alpha01 מכילה את ה-commits האלה.
שינויים ב-API
- חשפנו את ה-API של
CameraController.setSessionConfig(). כך אפשר לספקSessionConfigבהתאמה אישית להגדרות מתקדמות שלUseCaseשלא נחשפות ישירות על ידיCameraController. כש-SessionConfigפעיל, שיטות הגדרה אחרות ב-CameraControllerמושבתות.(I35cf1, b/448525636)
תיקוני באגים
- העברת ספריות לשימוש ביעד Java 11. כלומר, קוד ה-בייטקוד (bytecode) שנוצר יהיה Java 11 (קובץ כיתה בגרסה 55) ויכול להיות שיהיה צורך בתהליך הסרה של סוכר תחבירי כדי להשתמש בספרייה (If4c2a, b/457821470)
- תוקן באג ב-
ImageAnalysisשגרם לכך שתמונות לא סובבו בצורה נכונה כשסיבוב תמונת הפלט מופעל והסיבוב היחסי הראשוני הוא 0 מעלות. (Id46c2, b/487160584)
גרסת המצלמה 1.6
גרסה 1.6.2
26 באוגוסט 2026
androidx.camera:camera-*:1.6.2 מופץ. גרסה 1.6.2 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה קריסה של קומפילציה בגרסאות חדשות יותר של JDK כשפותרים הערות מסוג JSpecify שיובאו באופן טרנזיטיבי בשדות פנימיים של
CameraX. (I00bb4, b/543937345)
גרסה 1.6.1
6 במאי 2026
androidx.camera:camera-*:1.6.1 מופץ. גרסה 1.6.1 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה שגיאת הידור "לא ניתן לגשת לכיתה
ListenableFuture" כשמשתמשים ב-CameraX 1.6.0. (Ic8cba, b/497571473)
גרסה 1.6.0
25 במרץ 2026
androidx.camera:camera-*:1.6.0 מופץ. גרסה 1.6.0 מכילה את ה-commits האלה.
שינויים חשובים מאז גרסה 1.5.0:
1. מעבר למערכת מצלמה מאוחדת עם ביצועים גבוהים
- עכשיו CameraX משתמשת ב-
CameraPipe– אותה מערכת מודרנית עם ביצועים גבוהים שמפעילה את מצלמת Pixel. המעבר הזה מייעל את הארכיטקטורה ומספק בסיס שניתן להתאים אותו, כדי להביא תכונות מתקדמות של צילום ממוחשב לסביבת המפתחים.
2. שילוב של Media3 Muxer
- CameraX משלב עכשיו את Media3 Muxer כברירת מחדל ב-API של VideoCapture. להעברה הזו יש כמה יתרונות:
- ביצועים משופרים: עיבוד וידאו וריבוב (muxing) יעילים יותר.
- עמידות בפני קריסות: הגנה משופרת מפני פגיעה בקובצי וידאו, כדי להבטיח שהנתונים יישמרו גם אם האפליקציה תקרוס במהלך ההקלטה.
3. שיפור קבוצת התכונות
- Feature Group API תומך עכשיו בייצוב וידאו ובהקלטה באיכות 4K.
GroupableFeaturesכולל אתVIDEO_STABILIZATION,UHD_RECORDINGכדי לאפשר לאפליקציות להפעיל אותם יחד עם תכונות אחרות. התכונותCameraEffectו-ImageAnalysisב-SessionConfigנתמכות כשקבוצת התכונות מופעלת.
4. Stabilized SessionConfig API
-
SessionConfigעבר משלב הניסוי ל-API ציבורי יציב לחלוטין, כוללSessionConfigו-HighSpeedVideoSessionConfig. עכשיו אפשר להטמיע את CameraX Extensions באמצעות ממשק API חדש שלExtensionSessionConfig. הוספנו ממשק API חדש שלisSessionConfigSupportedשמאפשר למפתחים לבדוק אם המכשיר תומך בשילוב ספציפי של תרחישי שימוש ותכונות (כמו HDR, ייצוב, רזולוציות ספציפיות, תוספי CameraX או הילוך איטי) לפני הקישור למחזור החיים.
תיקוני באגים
- תוקנה קריסה שמתרחשת במכשירים מסוימים עם Android 17 (API 37) ואילך. כשהמכשירים האלה חושפים פרופילים חדשים של טווח דינמי (למשל, STANDARD_SMPTE_2094_50(ID 8192)) שלא היו מוכרים ל-CameraX בגרסה 1.5.1 ובגרסאות קודמות, הספרייה לא הצליחה לטפל במזהים האלה בצורה מתאימה, וכתוצאה מכך התרחשה שגיאה מסוג
NullPointerExceptionאוIllegalArgumentExceptionבמהלךProcessCameraProvider.bindToLifecycle(). התיקון הזה מאפשר ל-CameraX להתעלם בצורה חלקה מפרופילים לא מזוהים של טווח דינמי, וכך למנוע את הקריסה ולשמור על תאימות קדימה. כדי למנוע את הבעיה הזו במכשירים שחושפים את הפרופילים החדשים האלה, צריך לעדכן את יחסי התלות של CameraX לגרסה 1.5.2 או 1.6.0 (או גרסה חדשה יותר). פרטים נוספים זמינים בבעיה 519796838. (Ibd7b5) - ה-API של קבוצת התכונות מספק עכשיו תוצאות עקביות כשמשתמשים ב-
PREVIEW_STABILIZATIONעםVideoCapture. התיקון הזה פותר באג שגרם לתוצאות לא עקביות כשלא היה גם תרחיש שימוש פעיל של גרסת טרום-השקה (Preview). (Ifed82, b/449913903) - תוקנה בעיה שבה תכונות מועדפות שלא נתמכות היו זמינות באופן שגוי. התכונות מסוננות עכשיו בצורה נכונה כשלא מתקיימים תרחישי השימוש הנדרשים שלהן. (I38db8, b/449532342)
- תוקנה בעיה שגרמה לתוצאות וידאו לא תקינות ב-Samsung Galaxy S6. (I612d9, b/235127608)
- תוקנה בעיה שבה
CameraInfo#isFeatureGroupSupportedהחזיר ערך true שגוי עבורPREVIEW_STABILIZATIONאםSessionConfigבשאילתה כבר הוגדר עם תכונות אחרות. (I2c355c, b/437816469) - החרגנו גדלים בעייתיים של פלט בפורמט YUV ממכשיר Samsung Z Fold 4. התמונות שמתקבלות מעוותות כשמשתמשים בגדלים האלה. (I776bf, b/460322307)
- תוקנה בעיה ספציפית למכשיר Samsung A53 שבה צילום תמונה עם פנס מופעל נכשל לפעמים אם תרחיש השימוש של
VideoCaptureמוגדר. (I0f183, b/458197367) - תוקנה בעיה במכשירים מסוימים שבה שימוש בפלאש עם המצלמה הרחבה במיוחד עלול לגרום לתמונות עם חשיפת חסר. (Ib7530, b/444590340)
- עדכנו את התלות ב-
ExifInterfaceכך שתכלול תיקון לניתוח קובצי JPEG עם מילוי0xFF. התיקון פותר כשלים בצילום תמונות במכשירים שבהם מקודד ה-JPEG מוסיף בייטים למילוי לפני סמנים. (I0eb49)
גרסה 1.6.0-rc01
25 בפברואר 2026
androidx.camera:camera-*:1.6.0-rc01 מופץ. גרסה 1.6.0-rc01 מכילה את ה-commits האלה.
גרסה 1.6.0-beta02
11 בפברואר 2026
androidx.camera:camera-*:1.6.0-beta02 מופץ. גרסה 1.6.0-beta02 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה הבעיה
ImageCaptureOUTPUT_FORMAT_RAW_JPEG in-memory captureIllegalArgumentException. (Id4eec, b/479990902) - מעבר למרבב AndroidX Media3. העדכון הזה פתר שתי בעיות: 1. פגיעה בקובץ הסרטון במהלך הפסקות לא צפויות או סגירת האפליקציה, ו-2. קריסות בזמן שמירת סרטונים בתיאורי קבצים של שרתי proxy. (I23b63, b/433649708, b/264812009, b/475750115)
גרסה 1.6.0-beta01
28 בינואר 2026
androidx.camera:camera-*:1.6.0-beta01 מופץ. גרסה 1.6.0-beta01 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה
CameraExtensionsInfoב-CameraX 1.6.0-alpha שבה אובייקט LiveData לא יכול לקבל את נתוני הסוג המעודכנים. (I2c7a5) - עדכנו את יחסי התלות של ExifInterface כך שיכללו תיקון לניתוח קובצי JPEG עם מילוי של 0xFF. התיקון פותר כשלים בצילום תמונות במכשירים שבהם מקודד ה-JPEG מוסיף בייטים למילוי לפני הסמנים. (I0eb49)
גרסה 1.6.0-alpha02
17 בדצמבר 2025
androidx.camera:camera-*:1.6.0-alpha02 מופץ. גרסה 1.6.0-alpha02 מכילה את השמירות האלה.
תכונות חדשות
- הוספנו תכונה שניתן לקבץ כדי לציין את התכונה של ייצוב הסרטון בהגדרת הסשן. מפתחים יכולים עכשיו לבקש ייצוב וידאו כתכונה נדרשת או מועדפת, ולהתאים אותה לתכונות אחרות שניתן לקבץ, כמו UHD_RECORDING ו-PREVIEW_STABILIZATION. (Ic6757, b/419766630)
- הוספנו תכונות שניתן לקבץ כדי לציין את איכות הקלטת הווידאו בהגדרות של הסשן. המפתחים יכולים עכשיו לבקש איכות ספציפית (למשל, UHD, FHD) כתכונה נדרשת או מועדפת, ולהתאים אותה לתכונות אחרות שניתן לקבץ, כמו HDR ו-60 FPS. (Ib5cd3, b/437820285)
- הוספנו תמיכה בשימוש ב-
CameraEffectוב-Feature Groups API ב-SessionConfig. (I17f18, b/406370934) - הוספנו תמיכה בשימוש ב-
ImageAnalysisוב-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) -
ExtensionSessionConfigAPI חשוף. אפליקציות יכולות ליצורExtensionSessionConfigולהשתמש בו כדי ליצור סשן של תוספים עכשיו. (I6354c, b/448524373) - ה-API של
androidx.camera.video.HighSpeedVideoSessionConfigכבר לא ניסיוני, ועכשיו הוא API ציבורי יציב לחלוטין. (I492d4, b/447558239) - ה-API של
androidx.camera.core.SessionConfigכבר לא ניסיוני, ועכשיו הוא 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לא הוחל כשהוגדר דרך ה-API שלCamera2Interop. (I0004c, b/459608684) - תוקנה בעיה ספציפית למכשיר Samsung A53 שבה צילום תמונה עם פנס מופעל נכשל לפעמים אם תרחיש השימוש של
VideoCaptureמוגדר. (I0f183, b/458197367) - תוקנה בעיה במכשירים מסוימים שבה שימוש בפלאש עם המצלמה הרחבה במיוחד עלול לגרום לתמונות עם חשיפת חסר. (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 חדשים לזיהוי דינמי של הוספה או הסרה של מצלמה. פרטים נוספים זמינים ב-API של
CameraPresenceListener. (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 מכילה את ה-commits האלה.
תיקוני באגים
- תוקנה קריסה שנגרמה בגלל
IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object:ב-Android מגרסה 17 ואילך. (Ic9184) - תוקן באג שגרם לתוצאות לא עקביות ב-Groups API של קבוצת התכונות כשהתכונה
PREVIEW_STABILIZATIONנוספה עם תרחיש השימושVideoCapture, אבל בלי תרחיש השימושPreview. (Ifed82) - תוקנה בעיה שבה תכונות מועדפות לא סוננו למרות שלא היו להן תרחישי השימוש הנדרשים כדי שהתכונות ייתמכו. (I38db8)
גירסה 1.5.1
8 באוקטובר 2025
androidx.camera:camera-*:1.5.1 מופץ. גרסה 1.5.1 מכילה את ה-commits האלה.
תיקוני באגים
- תמיכה ב-
CameraEffectבמצב פריסת מצלמה בו-זמנית. האפקט יופעל על פלט הקומפוזיציה. חשוב לזכור שהמערכת תתעלם מההגדרהmirrorModeב-VideoCaptureכשהאפקט מוגדר במצב הרכבת תמונה ממצלמות בו-זמנית. (If3d00, b/425565129) - תוקנה הבעיה שבה
mirrorModeלא הוחל בצורה נכונה על המצלמה המשנית במצב פריסת מצלמות בו-זמנית. (I686cd, b/446430827) - תמיכה בקישור של
Preview, ImageCaptureו-VideoCaptureיחד במצב מצלמה בו-זמנית ללא קומפוזיציה. (Ib410a, b/443009871) - תוקנה בעיה שבה תרחישים לדוגמה כמו
ImageCaptureו-VideoCaptureמאבדים את פרטי הרוטציה של היעד אם הם נוצרים מחדש. זה יכול לגרום לכך שהכיוון של התמונות או הסרטונים יהיה שגוי אם הגדרה כמוimageCaptureModeשונתה אחרי שהמכשיר סובב. (I477c8, b/444734537) - תוקנה בעיה שמנעה בחירה של רזולוציות 16:9 בתצוגה המקדימה, וצילום ב-
VideoCaptureבאיכות QUALITY_1080P. הבעיה הזו התרחשה כשמשתמשים בהגדרת רזולוציה של תצוגה מקדימה כברירת מחדל בזמן שהתכונה הפנימית שלStreamSharingהייתה פעילה (לדוגמה, כשארבעה UseCases קשורים בו-זמנית). (I493cb, b/440364875) - תוקנה הקריסה שמתרחשת כשמפעילים אפקט אחרי ש-
SurfaceProcessorנסגר (I2c450, b/414150174) - תוקן באג ב-
CameraControllerשגרם ל-IllegalStateExceptionכש-UseCase ראשוני בחר ברזולוציה המקסימלית, וכתוצאה מכך מנע את הקישור של UseCases אחרים. (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: ממשק ה-API החדש שלSessionConfigמאפשר להגדיר את סשן המצלמה ולהפעיל כמה תכונות ביחד בצורה בטוחה, כולל 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)מאפשרת לשלוט במצב ההשתקה הראשוני של הקלטת האודיו. - צילום תמונות: תמיכה בפורמטים DNG (RAW) ו-JPEG + DNG (RAW) ב-
ImageCapture. בודקים אםImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats()תומך ב-RAW. משתמשים בממשקי 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 מכילה את ה-commits האלה.
תיקוני באגים
- העברת ברירת המחדל של 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 מכילה את ה-commits האלה.
שינויים ב-API
- הוספנו ממשקי API חדשים כדי להגדיר או לשלוח שאילתות לקבוצות של תכונות באיכות גבוהה בצורה אינטואיטיבית ומדויקת יותר, כי יכול להיות שהתכונות האלה לא נתמכות כשילוב בכל המכשירים.
SessionConfigכולל עכשיו ממשקי API חדשים שמאפשרים לציין קבוצה של תכונות כנדרשות או כמועדפות. ה-API שלCameraInfo.isFeatureGroupSupportedמאפשר לדעת אם קבוצת תכונות נתמכת לפני שמקשריםSessionConfig.SessionConfigגם מאפשר להגדיר מאזין כדי לדעת אילו תכונות נבחרו בסופו של דבר כשמוגדרת תצורת סשן. (Ie4d60) - הוספנו את ממשקי ה-API החדשים
SessoinConfig.Builder.setFrameRateRange(Range<Integer>)ו-CameraInfo.getSupportedFrameRateRanges(SessionConfig), שמאפשרים למפתחים לשלוח שאילתות לגבי קצבי פריימים נתמכים שמוגבלים על ידיSessionConfigספציפי, ואז להחיל את קצב הפריימים עלSessionConfig. (Ieacf7) - הוספנו את ה-API החדש
SessionConfig, שכולל הפשטה טובה יותר להגדרת תרחישי שימוש, פרמטרים של סשנים,CameraEffect,ViewPortוכו'. קישור שלSessionConfigל-LifecycleOwner פותח את סשן המצלמה, מגדיר אותו באמצעות תרחישי השימוש והפרמטרים של הסשן שצוינו, ומחיל אתCameraEffectו-ViewPortהייעודיים. כשמעדכניםSessionConfigחדש לאותוLifecycleOwner, אפשר פשוט לקשרSessionconfigחדש בלי להפעיל קודם את unbind או אתunbindAll. (Iedfc3) - נוספו ממשקי API חדשים לצילום סרטונים במהירות גבוהה או בהילוך איטי. פרטים נוספים זמינים ב-API של
HighSpeedVideoSessionConfig. (Ia16f3)
תיקוני באגים
- תוקנה בעיה שבה ממשק ה-API של
ImageCaptureCapabilities#getSupportedOutputFormats()דיווח על פורמטים של RAW כנתמכים במכשירים מסוימים שאין להם בפועל יכולת RAW. (Ibcadb) - תוקנה דליפת הזיכרון שמתרחשת כשמשתמשים ב-
PreviewView, כש-CameraEffectמופעל או כשמקשרים 4 תרחישים לדוגמה(StreamSharing) (I87468) - תוקנה קריסה בהקלטת וידאו שנגרמה על ידי
AssertionError: מצב אודיו פנימי לא חוקי: IDLING. (I38d4b, b/414259796) - תוקנה הבעיה שבה האפליקציה פועלת במסך חיצוני והמכשיר במצב לרוחב, והתצוגה המקדימה ב-
PreviewViewנמתחת או מוצגת הצידה (Ia917a) - תוקנה הבעיה שבה ההגדרות של ייצוב התצוגה המקדימה לא הוחלו בצורה נכונה כשסטרימינג מהמצלמה שותף בין Preview ל-VideoCapture.(I5430e)
- עכשיו
CameraXViewfinderמטפל כראוי בהחלפת פני השטח ב-Viewfinderהבסיסי. זה כולל תרחישים כמו מצב שבו תצוגת הצילום שלEXTERNALברמת API 28 ומטה יוצאת מהמסך, או אםCameraXViewfinder(עם כלImplementationMode) הוא חלק מ-moveableContentOf(). במקרים שבהם לא ניתן לשמור על הפעילות שלViewfinderSurfaceSession, ה-CameraXViewfinderיבטל את התוקף שלSurfaceRequestהנוכחי של CameraX, ויאפשר ל-CameraX להשתמש ב-Surfaceהחדש. (I79432) - תיקון בעיה ב-Android 10/11 שבה
EXTERNALCameraXViewfinderעשוי להיראות מתוח או שגוי בגלל שפעולות טרנספורמציה (כמו שינוי קנה מידה או תרגום) הופעלו מוקדם מדי. עכשיו המערכת ממתינה ליצירת ה-Surface לפני שהיא מחילה את הטרנספורמציות האלה בשלב הפריסה, כדי להבטיח פלט תקין. (Icc77c) - הפונקציה הקומפוזבילית
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וב-Alignment בתצוגת הצילום כדי לשנות את קנה המידה של המשטח המוצג ולמקם אותו בתוך הקונטיינר שלו, בדומה לאופן שבוandroidx.compose.foundation.Imageפועל. (Ibcea3) - ל-
TransformationInfoיש עכשיו ערכי ברירת מחדל לכל הארגומנטים. כך אפשר ליצור תצוגות צילום בלי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 שבה הקואורדינטות של התיבה התוחמת (bounding box) לא נכונות כשמשתמשים ב-
CameraController. (Iae91b, b/409808510)
גרסה 1.5.0-alpha06
26 בפברואר 2025
androidx.camera:camera-*:1.5.0-alpha06 מופץ. גרסה 1.5.0-alpha06 מכילה את ה-commits האלה.
שינויים ב-API
- הוספנו את
CameraInfo.getTorchStrengthLevel, CameraInfo.getMaxTorchStrengthLevelו-CameraControl.setTorchStrengthLevelכדי לאפשר התאמה אישית של בהירות הפנס (I00878) - נוסף API חדש,
CameraController#setTapToFocusAutoCancelDuration, כדי שהמשתמשים יוכלו לשלוט בהתנהגות של הביטול האוטומטי באירועי "לחיצה למיקוד" ב-PreviewView. כברירת מחדל, CameraX מבטל את אירועי המיקוד אחרי 5 שניות (כלומר, המיקוד של המצלמה מתאפס) וה-API הזה מאפשר לשנות את משך הזמן הזה או להשבית את הביטול האוטומטי לגמרי. (Icf59a) - השם של
FLASH_STATE_READYהשתנה ל-NOT_FIRED, והשמות של שאר הקבועים ב-FlashStateפושטו כדי שיהיה קל יותר לקרוא אותם. (I8771d) - ממשק API חשוף לשיפור בתאורה חלשה. מכשירים עם Android מגרסה 15 ואילך יכולים לספק תמיכה בשיפור התאורה. התכונה הזו יכולה לכוונן אוטומטית את הבהירות של התצוגה המקדימה, הווידאו או ניתוח התמונות בתנאי תאורה חלשה. אפליקציות יכולות להשתמש ב-API החדש כדי: 1. אפשר להשתמש ב-
CameraInfo#isLowLightBoostSupportedכדי לבדוק אם התכונה זמינה. 2. אפשר להשתמש ב-CameraControl#enableLowLightBoostAsyncכדי להפעיל את המצב כשהמכשירים תומכים בו. 3. אפשר להשתמש ב-CameraInfo#getLowLightBoostStateכדי לעקוב אחרי מצב שיפור התאורה החלשה. (I937ed) - הוספת מחלקות תאימות כדי לאפשר שאילתות מהירות יותר שאינן camera2 ב-camera-feature-combination-query. (Ie97ee)
- באירועים של
CameraControllerלחיצה למיקוד, ממשק API חדש,getTapToFocusInfoState(), חושף עכשיו גם את מיקום הלחיצה התואם על ידי החזרתLiveDataשל המחלקהTapToFocusInfo, בעוד שממשק ה-API הקודם,LiveData<Integer>שמחזיר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) - כשמפעילים צילום תמונה באמצעות ה-API של
ImageCapture.OnImageCapturedCallback, אפשר להשתמש ב-ImageInfo ב-ImageProxyשמוחזר כדי לדעת אם הופעל פלאש באמצעות ה-API החדש שלImageInfo.getFlashState(). (Id2c61, b/380527406) - נוספה תמיכה בפורמט הפלט
OUTPUT_IMAGE_FORMAT_NV21עבורImageAnalysis. (I484ab) - הסרת ההערה הניסיונית של פריט המידע שנוצר באופן אוטומטי
featurecombinationquery(I4427f) - התאמת טווח יחס הזום שמותר ל-
CameraControlלפי מאפיינים ספציפיים של תוספים כשמצב תוספים מופעל. (I85af1)
תיקוני באגים
- הגרסה של
compileSdkשודרגה ל-35 כדי להשתמש ב-API שקשור ל-Android 15. באפליקציות שמשתמשות בספריות CameraX צריך גם לשדרג את הגדרת התצורה שלcompileSdk. (Ic80cd) - הספרייה הזו משתמשת עכשיו באנוטציות של JSpecify nullness, שהן מסוג type-use. מפתחים ב-Kotlin צריכים להשתמש בארגומנט המהדר הבא כדי לאכוף שימוש נכון:
-Xjspecify-annotations=strict(זוהי ברירת המחדל החל מגרסה 2.1.0 של מהדר Kotlin). (Idc6c6, b/326456246)
גרסה 1.5.0-alpha04
11 בדצמבר 2024
androidx.camera:camera-*:1.5.0-alpha04 מופץ. גרסה 1.5.0-alpha04 מכילה את השמירות האלה.
שינויים ב-API
- חשיפת
ImageCapture.Builder#setOutputFormatו-ImageCaptureCapabilities#getSupportedOutputFormatsכממשקי API יציבים (Ieb04a) - צריך להוסיף את
VideoCapture.getResolutionInfo()כדי לקבל את פרטי הרזולוציה כש-VideoCaptureמקושר ל-Lifecycle. (Icb478) - הפכנו את
PreviewView.getScreenFlashו-PreviewView.setScreenFlashOverlayColorלממשקי API יציבים. (I74fee)
תיקוני באגים
- תוקנה בעיה שגרמה לכשל בצילום במכשיר Vivo 1610 כשצילמו תמונה עם פלאש בחושך. (I366f4)
- תוקנה בעיה שבה הפנס נכבה באופן בלתי צפוי אחרי צילום תמונה ב-Redmi Note 6 Pro. (I2e0e8, b/377144569)
- תוקנה בעיה במכשירי Pixel עם Android 15 שבה מצב לילה בתוספים לא הצליח לצלם תמונות סטילס עד שהמצלמה התמקדה באובייקט קרוב. (I228d4)
- תוקנה התקלה בצילום תמונות סטילס כשהתוספים מופעלים ו-
VideoCaptureמקושר. (I5c745) - הופעלה תמיכה ב-
UltraHDRלצילום תמונות סטילס בתוספים, אם המכשיר תומך בכך. (I48300) - תוקנה בעיה בתזמון הפלאש בצילום עם פלאש באמצעות
CameraEffect, שמתמקדת בצילום תמונות במכשירי TCL. (I7698c)
גרסה 1.5.0-alpha03
30 באוקטובר 2024
androidx.camera:camera-*:1.5.0-alpha03 מופץ. גרסה 1.5.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- הוספת ממשקי API של פורמט פלט ל-RAW ול-RAW + JPEG
ImageCapture, בדיקת יכולת המכשיר נחשפת ב-ImageCaptureCapabilities#getSupportedOutputFormats. האפשרותOUTPUT_FORMAT_RAWמיועדת לצילום תמונות בפורמט RAW, שהוא פורמט Adobe DNG, והאפשרותOUTPUT_FORMAT_RAW_JPEGמיועדת לצילום תמונות בפורמט RAW ו-JPEG בו-זמנית. ה-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.
זוהי גרסה תואמת של ממשק ה-API
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupportedשל camera2 עם נתונים נוספים שסופקו על ידי Google Play Services.
תיקוני באגים
- תוקנה בעיה ב-
Preview/VideoCaptureקצב הפריימים של היעד במכשירים ברמת LEGACY. קצב הפריימים המטורגט שהוגדר באמצעות ה-API שלsetTargetFrameRateאוCamera2Interopתמיד הוחלף בערך שסופק על ידיAeFpsRangeLegacyQuirk. התיקון הזה מאפשר לספריית CameraX לפעול לפי הערך שמוגדר באמצעות ה-API שלsetTargetFrameRateאוCamera2Interop. (Ie2d32) - הוספנו פונקציות של פלאש/פנס/3A לצילום תמונות באמצעות
CameraEffect. צילום התמונות עםCameraEffectאמור עכשיו לכלול את אותם תהליכי עיבוד לפני הצילום ואחרי הצילום (למשל, הפעלת פלאש, התכנסות 3A וכו' במקרים הרלוונטיים) כמו צילום תמונות בליCameraEffect. (I5ff30) - הוצאנו מכלל שימוש גדלים בעייתיים של פלט ל-
ImageAnalysisבמכשיר Samsung SM-A057G. כשהרזולוציה שלImageAnalysisהיא 1920x1440 או יותר, התצוגה המקדימה תהיה שחורה. הוחלExcludedSupportedSizesQuirkבמכשיר SM-A057G כדי למנוע את הבעיה. (I63dfe, b/365877975) - תוקנה בעיה בקצב הפריימים של
Preview/VideoCaptureכשהמנגנון לשיתוף סטרימינג מופעל באופן פנימי כדי לשתף סטרימינג עםPreviewו-VideoCapture. (I4fdac) - הפעלנו את הפתרון הזמני לבעיה של מטא-נתונים שגויים בתמונות JPEG במכשירי Samsung S10e ו-S10+. התיקון מאפשר ל-CameraX לשמור את תמונת ה-JPEG, או להחזיר אובייקטים נכונים של מפת סיביות (bitmap) כשקוראים לפונקציה
ImageProxy.toBitmap()במכשירים האלה אם מתרחשת הבעיה של מטא-נתונים שגויים של תמונת JPEG. (Iae493, b/356428987) - התוספים למצלמה האחורית של Samsung A52s, שהמזהה שלה הוא 0, הושבתו כי קריסות ברמת שפת המכונה עלולות להתרחש בזמן צילום תמונות HDR, והגדרת סשנים של צילום עלולה להיכשל במצבים BOKEH או FACE_RETOUCH. (I03ec9, b/364152642)
- תוקן: האירוע
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGEלא מופעל כשמקליטים סרטון ואין מספיק נפח אחסון פנוי. (Ia5b4f, b/356399842) - תוקנה בעיה שבה הניסיון השני להקליט סרטון נכשל במכשיר 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, שמציג סטרימינג של תצוגה מקדימה מ-CameraXSurfaceRequestמ-camera-core. (I8666e) - נוסף רכיב קומפוזבילי חדש,
CameraXViewfinder, שפועל כרכיב קומפוזבילי אידיומטי שמתאים אתSurfaceRequestשל CameraX לרכיב הקומפוזבילי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 מכילה את ה-commits האלה.
תיקוני באגים
- תוקנה בעיה שבה התצוגה המקדימה קפאה כשמשתמשים ב-
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 מכילה את ה-commits האלה.
שינויים חשובים מאז גרסה 1.3.0
גרסה 1.4.0 של CameraX כוללת עדכונים מרגשים. כך זה נראה:
התכונה העיקרית: וידאו HDR באיכות 10 ביט:
- מצלמים בקלות תמונות וסרטונים מדהימים ב-HDR.
- תומך ב-HLG ובקידוד HEVC של 10 ביט.
- ליהנות מתצוגה מקדימה של HDR באיכות 10 ביט ולבדוק את יכולות המכשיר.
- התכונה פועלת עם תמונות בפורמט
UltraHDRוסרטונים ב-HDR במגוון הולך וגדל של מכשירים.
תכונות מגניבות נוספות:
- תוספי Kotlin: נוספו פונקציות ההשעיה
takePictureו-awaitInstance. - אפקטים בזמן אמת: אפשר להוסיף אפקטים כמו סימני מים והדגשת אובייקטים.
- CameraController API: אמצעי בקרה חדשים להגדרת צילום וידאו.
- ייצוב התצוגה המקדימה: שליחת שאילתה לגבי יכולת המכשיר והפעלת הייצוב.
- שיפורים ב-VideoCapture: שליטה מדויקת יותר באיכות וגישה לרזולוציות גבוהות יותר.
- שילוב של תוספי CameraX: שילוב חלק עם
VideoCaptureותכונות חדשות שלImageCapture. - ממשק 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 מכילה את ה-commits האלה.
תיקוני באגים
- תוקנה הקריסה שמתרחשת כשמפעילים את
bindToLifecycleעםLifecycleOwnerשנהרס. (I6e6d8) - נוספה אנימציית חשיפה ב-
ScreenFlashViewעבורScreenFlash#apply, שגם מתקנת באגים שנגרמו כתוצאה מכך שהשינוי בבהירות הושלם באופן אסינכרוני לאחר זמן מה. (I37cdb) - שיפור החלקות של הזום על ידי שינוי הגדרות הזום במסגרת במכשירים נתמכים.
גרסה 1.4.0-rc01
7 באוגוסט 2024
androidx.camera:camera-*:1.4.0-rc01 מופץ. גרסה 1.4.0-rc01 מכילה את השמירות האלה.
תכונות חדשות
- הוספנו את
CameraInfo.getCameraInfoהניסיוני כדי לספק מידע ספציפי על המצלמה בלי צורך לקשר תרחישי שימוש למצלמה. (I550d1)
שינויים ב-API
- הוספנו את ממשקי ה-API
PreviewView.getScreenFlashו-PreviewView.setScreenFlashOverlayColorלמקרים שבהםScreenFlashViewלא נוסף באופן מפורש. (I43945)
תיקוני באגים
- תוקנו בעיות בחשיפה ובגוון הצבע כשמצלמים תמונה עם פלאש בתאורה חלשה, כשהתרחיש לדוגמה של VideoCapture מוגדר. (Ic9814)
- תוקנה הבעיה שבה הפרעה לבקשה של
takePictureכשהתוספים מופעלים עלולה לגרום לכך שלא תתקבל תוצאה, וייתכן שהבקשה הבאה שלtakePictureלא תפעל יותר. (Iae78f) - תוקנה בעיה של דליפת זיכרון שמתרחשת כשהתוספים מופעלים. (Iab276)
- תוקנה תקלה בתוספים של CameraX במכשירים כמו Pixel 7/8 וסדרת Samsung Galaxy S24. הבעיה, שנובעת מבעיית המרה של
Camera2OutputConfigImplבמצב הפצה, הופיעה אחרי שדרוג AGP לגרסה 8.5.1 והפעלת ההקטנה. (I99598, b/354824993)
גרסה 1.4.0-beta02
12 ביוני 2024
androidx.camera:camera-*:1.4.0-beta02 מופץ. גרסה 1.4.0-beta02 מכילה את השמירות האלה.
שינויים ב-API
- בדומה ל-
VideoCapture, צריך להוסיף אתsetMirrorModeלתרחיש השימוש של גרסת טרום-השקה (Preview). היא תתמוך בהפעלה ובהשבתה של מצב השתקפות במראה בסטרימינג של תצוגה מקדימה באמצעותOutputConfiguration.setMirrorModeמ-API 33 ומעלה. בממשקי API ישנים יותר, לא תהיה פעולה. (I821f4)
תיקוני באגים
- תוקנה הבעיה שבה אפליקציות לא יכולות לצלם תמונות ב-Samsung Tab A8 כש-
ImageCaptureבוחרת 1920x1080 בשילוב שלPreview+VideoCapture+ImageCaptureUseCase. (I5a463, b/336925549) - תוקנה בעיה שבה הקלטה קבועה עלולה להיכשל אחרי החלפת מצלמה. (Icb0a1)
גרסה 1.4.0-beta01
14 במאי 2024
androidx.camera:camera-*:1.4.0-beta01 מופץ. גרסה 1.4.0-beta01 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו את
ZoomGestureDetector.ZoomEventכדי לתמצת את המצבים של תנועת זום. (I84cdf)
תיקוני באגים
- תוקן באג שבו צילום תמונה ומיקוד בנגיעה לא משתמשים בערכי מצב הייצוב או ה-FPS של הבקשה החוזרת, מה שעלול ליצור מחדש סשן צילום ולגרום לבעיות זמן אחזור או להקפאת התצוגה המקדימה במכשירים מסוימים. (I7dc0b)
- תוקן באג שבו אי אפשר לבחור רזולוציות גבוהות כש-
CameraEffectמופעל במכשירים מסוימים. (למשל, 4,000x3,000 ב-Samsung A32 5G). (Ie3ed3, b/337336152) - תוקנה קריסה שמתרחשת כשמצלמים תמונה עם תצוגה מקדימה,
ImageCaptureו-VideoCapture(UHD)קשורים ב-Pixel 4XL API29. (I5b288) - תמיכה במכשירים וירטואליים: ההקשר שמועבר אל
ProcessCameraProviderישמור את מזהה המכשיר כדי להבטיח את הפונקציונליות בסביבה של מכשיר וירטואלי. (I5ba48)
גרסה 1.4.0-alpha05
17 באפריל 2024
androidx.camera:camera-*:1.4.0-alpha05 מופץ. גרסה 1.4.0-alpha05 מכילה את השמירות האלה.
תכונות חדשות
- המרנו את
ProcessCameraProviderלהטמעה של Kotlin. (I46d4f) - הוספנו פונקציות השעיה של
ImageCapture.takePictureכדי לאפשר קריאה להן באופן אידיומטי של Kotlin. (I920be)
שינויים ב-API
- הוספת ממשקי API של פורמט פלט ל-
ImageCapture, והוספת השיטהgetSupportedOutputFormatsל-ImageCaptureCapabilitiesכדי לשלוח שאילתות לגבי יכולות המכשיר. ערך ברירת המחדל של פורמט הפלט הואOUTPUT_FORMAT_JPEG, שבו תמונות SDR נשמרות בפורמט JPEG. כשהמכשיר תומך ב-Ultra HDR ופורמט הפלט מוגדר כ-OUTPUT_FORMAT_JPEG_ULTRA_HDR, CameraX יצלם תמונות דחוסות ב-Ultra HDR באמצעות פורמט התמונה JPEG/R. הפורמט תואם לדורות קודמים עם פורמט SDR JPEG ותומך ברינדור תוכן ב-HDR. זה אומר שבאפליקציות או במכשירים ישנים יותר, התמונות מופיעות בצורה חלקה כ-JPEG רגיל. באפליקציות ובמכשירים שעודכנו כדי לתמוך באופן מלא בפורמט, התמונות מופיעות כ-HDR. (I5de50) - הוספת
PhysicalCameraInfoב-CameraInfoכדי לשלוח שאילתות לגבי מידע על המצלמה הפיזית, והוספת setter/getter של מזהה המצלמה הפיזית ב-CameraSelector(Ic5b90) - מחליפים את
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCEDב-ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED. הערך של הקבוע נשאר ללא שינוי. ככה אפשר לאחד את כל הקבועים במקום אחד. (I890bb) - ממשק ה-API החדש של
RetryPolicyמאפשר למפתחים להתאים אישית את התנהגות הניסיונות החוזרים לאתחול של CameraX. (I36dd2) - הפעלת יצירה של אובייקט
ImageCaptureLatencyEstimateכדי לסייע בבדיקות (Iaba99) - צריך להוסיף
ImageAnalysis#COORDINATE_SYSTEM_SENSOR. כשמשתמשים בזה,MlKitAnalyzerמחזיר קואורדינטות במערכת הקואורדינטות של חיישן המצלמה. (I3ec61) - API חשוף של מטא-נתונים של תוספים. ממשקי
CameraExtensionsInfoו-CameraExtensionsControlחדשים מאפשרים לאפליקציות לעקוב אחרי הגדרות העוצמה של התוסף ולשנות אותן. אפליקציות יכולות לקבל את המכונהCameraExtensionsInfoאוCameraExtensionsControlבאמצעות השיטותExtensionsManager#getCameraExtensionsInfo()אוExtensionsManager#getCameraExtensionsControl()שנוספו לאחרונה. (I28e1a) - נוספה הפונקציה
ProcessCameraProvider.awaitInstance, שהיא גרסת השהיה שלProcessCameraProvider.getInstance(Ib22b9) - מוסיפים API של
PreviewView#getSensorToViewTransform(). המטריצה מייצגת את הטרנספורמציה מהקואורדינטות של חיישן המצלמה לקואורדינטות שלPreviewView. אפשר להשתמש בזה כדי להמיר קואורדינטות מ-UseCaseאחד לאחר. לדוגמה, המרת הקואורדינטות של אובייקטים שזוהו ב-ImageAnalysisלשכבת-על שלPreviewView. (I947ab) - צריך להפוך את ה-API של
camera-viewfinder-coreליותר כללי כדי ש-camera-viewfinderו-camera-viewfinder-composeיוכלו להשתמש בו. (I1e295) - הוספת הפונקציה
getSurfaceאלViewfinderSurfaceRequest. (I781a0) - משתמשים ב-
camera-viewfinder-coreב-camera-viewfinderומפסיקים את השימוש ב-ViewfinderSurfaceRequestוב-CameraViewfinder. (I6198c) - נוסף
ZoomGestureDetectorשמפרש תנועות שינוי קנה מידה שהוגדרו במיוחד לפעילות של תנועת צביטה לשינוי מרחק התצוגה. (Ifafbf)
תיקוני באגים
- תוקנה בעיה בבחירת הרזולוציה של
ImageAnalysisשקשורה להגדרת ברירת המחדל של רזולוציית היעד של המנתח: רזולוציית היעד נשמרה באופן שגוי כ-640x480 גם אם האפליקציות הגדירו הגדרה אחרת של ברירת המחדל של רזולוציית המנתח. אם באפליקציות נתקלים בבעיה הזו (1.3.0 עד 1.3.2) ואי אפשר לשדרג לגרסאות החדשות יותר שמכילות את הפתרון, אפשר לעקוף את הבעיה על ידי הגדרה ישירה שלResolutionSelectorעם הרזולוציה המועדפת ו-AspectRatioStrategyתואם ל-ImageAnalysisUseCase. (I81f72, b/330091012) - תוקנה בעיה שבה בקשה בתור (
takePicture) עלולה להיכשל אם הבקשה הנוכחית נכשלה. (Ie0801) - הפעלת בדיקת נתוני JPEG לא תקינים במכשירי Vivo X60 ו-Vivo X60 Pro. הפעולה הזו יכולה לפתור את הבעיה של תמונות גדולות באופן חריג במכשירים האלה. (I82247, b/288828159)
- תוקנה הבעיה שקשורה למטא-נתונים שגויים של תמונות JPEG במכשירי Samsung A24. התיקון מאפשר ל-CameraX לשמור את תמונת ה-JPEG, או להחזיר אובייקטים נכונים של מפת סיביות (Bitmap) כשקוראים לפונקציה
ImageProxy.toBitmap()במכשירי Samsung A24. (I8d6eb, b/309005680) - אם התמונה שצולמה גדולה מ-10MB, צריך לבדוק אם נתוני ה-JPEG לא תקינים בכל מכשירי סמסונג. הפעולה הזו יכולה לפתור בעיה של תמונה גדולה באופן חריג במכשירי סמסונג. (Ic2a65, b/288828159)
- הוסרה התמיכה ב-
ImageAnalysisבתוספים של CameraX, כי הטמעות של תוספים של יצרני ציוד מקורי (OEM) רבים לא פועלות היטב עםImageAnalysisועלולות לגרום לבעיות לא עקביות. (I2d926)
גרסה 1.4.0-alpha04
24 בינואר 2024
androidx.camera:camera-*:1.4.0-alpha04 מופץ. גרסה 1.4.0-alpha04 כוללת את השינויים האלה.
תכונות חדשות
- רכיב חדש: camera-effects: ספרייה להחלת אפקטים בזמן אמת על הפלט של CameraX, כולל
Preview,VideoCaptureו/אוImageCapture. הארטיפקט הזה מכיל הטמעות של OpenGL של ממשק ה-API שלCameraEffect, שמשנה את הפלט של המצלמה ביעילות. -
OverlayEffect: לציור שכבות-על באמצעות Canvas API של Android. ההרשאה הזו מאפשרת לאפליקציה להוסיף סימן מים או להדגיש אובייקטים שזוהו בפלט של המצלמה. - ממשקי API של
DynamicRangeלתרחיש השימוש של התצוגה המקדימה: עכשיו אפשר להגדיר את הטווח הדינמי בתרחיש השימוש של התצוגה המקדימה, בלי קשר לתרחיש השימוש של הווידאו. האפשרות הזו מאפשרת טווחים דינמיים של HDR כמו HLG10 לתצוגה מקדימה בלבד. ממשקי API חדשים זמינים גם ב-CameraInfoכדי לשלוח שאילתות לגבי טווחי הדינמיות שכל מצלמה תומכת בהם.
שינויים ב-API
- השם של
ScreenFlashUiCompleterהשתנה ל-ScreenFlashListener, והפרמטרScreenFlashUiCompleter#getExpirationTimeMillisהועבר ל-expirationTimeMillisשלScreenFlash#apply. (I13944) - נוספו ממשקי API חדשים שמאפשרים להגדיר טווח דינמי בתרחיש לדוגמה של תצוגה מקדימה, ולשלוח שאילתות לגבי טווחים דינמיים שנתמכים בכל מצלמה. כך אפשר להשתמש בטווחים דינמיים של HDR, כמו HLG10, בתרחיש לדוגמה של תצוגה מקדימה בלבד, בלי צורך לקשר
VideoCaptureבו-זמנית. (If25e3) - השם של
getMirroring()שונה ל-isMirroring()(I47063) - נוספה תמיכה בהערכת זמן האחזור של צילום תמונות סטילס בזמן אמת ב-CameraX. תוספי המצלמה מאפשרים לאפליקציות להשתמש ב-API שמספק הערכה של משך הזמן שייקח לצלם תמונה. ההערכה מביאה בחשבון את תנאי הסביבה הנוכחיים, את מצב המצלמה ואת הזמן שנדרש לעיבוד בקשות לצילום של כמה פריימים, וגם את הזמן הנוסף לקידוד מאגרים מעובדים, אם צריך. (I05c3a)
- שינינו את השם של
ScreenFlashUiControlל-ScreenFlash, שלScreenFlashUiControl#applyScreenFlashUiל-ScreenFlash#applyושלScreenFlashUiControl#clearScreenFlashUiל-ScreenFlash#clear, והוספנו את ה-methodgetScreenFlashUiApplyTimeoutSecondsבמקום לחשוף אתSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDSישירות. (Iccdd0)
תיקוני באגים
- תוקנה דליפת זיכרון שגורמת לכך שפעילויות או מקטעים לא משתחררים כשתוספים מופעלים (I14215)
- תוקנה הבעיה שבה
getZoomRatioהחזיר ערך מופחת באופן שגוי כשמחילים יחס זום הולך וגדל. (I4aa0d, b/317543616) - האירוע
ImageCapture#ScreenFlash#clearמופעל מיד כשמבטלים את הקישור שלImageCaptureאו כשהמצלמה נסגרת. בנוסף, תוקנו כמה באגים שבהם האירוע לא מופעל אף פעם כי הצילומים בתרחישים האלה לא מסתיימים כמו שצריך. (If99f9) - תוקנה הקריסה שמתרחשת כשמחזור החיים נעצר לפני השלמת הבקשה של
takePicture (Idf017, b/306202751) - תוקנה הבעיה שבה התצוגה המקדימה של המצלמה הופכת לשחורה כשהתוספים מופעלים במכשירים מסוימים (I1ffd0)
- תוקן משך הזמן השגוי של הקלטת וידאו במכשירים שמשתמשים ב-Snapdragon 778G SoC. (If6aa7, b/316057919)
גרסה 1.4.0-alpha03
13 בדצמבר 2023
androidx.camera:camera-*:1.4.0-alpha03 מופץ. גרסה 1.4.0-alpha03 כוללת את השינויים האלה.
תכונות חדשות
- הוספנו את
CameraInfo.mustPlayShutterSoundכדי לספק מידע על השאלה אם צריך להשמיע צליל תריס בהתאם להגבלות אזוריות. (Ifda84) - נוספו
OnImageCapturedCallback.onCaptureStartedו-OnImageSavedCallback.onCaptureStartedכדי להודיע כשהמצלמה מתחילה לחשוף פריים. מומלץ להשמיע את צליל הצמצם או להפעיל את אנימציית הצמצם בשלב הזה. (Ic49b3) - הוספנו תמיכה בתכונה "הבהוב מסך" ב-CameraX לצילום תמונות במצלמה הקדמית. CameraX יטפל ב-API בצד ה-framework ויסנכרן את התזמון עם השינויים בממשק המשתמש של האפליקציה לפי הצורך (למשל, טריגר של AE precapture אחרי שינוי הצבע או הבהירות של מסך האפליקציה). האפליקציות יצטרכו להוסיף רק את ההטמעות של ממשק המשתמש שלהן בממשק
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 לחישוב טרנספורמציה של קואורדינטות מהחיישן למאגר הנתונים הזמני הנוכחי, עם דגל שמציין אם ה-Surface מכיל את פרטי הכיוון של המצלמה. (I59096)
- חשיפת ה-API לשאילתה
PreviewCapabitlityבתצוגה המקדימהUseCase. (Ie5b6c) - הוספנו ממשקי API כדי לתמוך באיכויות נוספות של
VideoCapture. אפשר להשתמש ב-Recorder.Builder#setVideoCapabilitiesSource(int)עםVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIESכדי ליצור מופע שלRecorderשתומך ביותר איכויות מאשרVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE. תרחיש נפוץ הוא כשהאפליקציה מנסה להקליט סרטון באיכות UHD בכל פעם שאפשר, אבל ה-CamcorderProfileשל המכשיר לא כולל הגדרות UHD, למרות שהקודק מסוגל להקליט סרטון באיכות UHD. (Iedbe2, b/263961771) - מוסיפים את ה-getter/setter של פורמט הפלט
ImageAnalysisאלCameraController. (I9a96c, b/308240643)
תיקוני באגים
- מצלמה
1.3.1: שיפור הביצועים שלProcessCameraProvider#bindToLifecycle(). השינוי העיקרי הוא אופטימיזציה של תהליך הזיהוי של שילובי הגדלים המתאימים ביותר ל-UseCases. התוצאות האופטימליות משתנות בהתאם לשילובים הספציפיים שלUseCaseולמספר גודלי הפלט הנתמכים במכשירי היעד. (I454f2) - לאפשר שימוש ב-
VideoCaptureכשהתוספים מופעלים. (I91f32) - תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי Samsung מסדרות A71 ו-M51. תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בפלח הנתונים הדחוסים של JFIF. התמונות שצולמו הן בגודל קובץ קיצוני. הנתונים המיותרים של הספרה 0 יוסרו כדי שגודל הקובץ של קובצי התמונה שצולמו יהיה רגיל. (I01afc, b/288828159)
- השבתת התמיכה ב-
ImageAnalysisבמכשירי Pixel כדי למנוע את הבאג ב-Pixel שמחזיר בטעות את הגדלים הנתמכים שלImageAnalysisשאינם ריקים. (I7ec31) - תוקנה בעיה בביצועים שבה העומס על המעבד וצריכת החשמל גדלו כשהתוספים הופעלו. (Ibdccb)
- הוספנו את Snapdragon 480 ל-
CameraUseInconsistentTimebaseQuirk. העדכון הזה פותר בעיה ב-Android 12 במכשירים עם ערכת השבבים הזו, שבה האודיו בהקלטות מוסט לפי משך הזמן שבו המכשיר נמצא במצב מושהה. (I58010)
גרסה 1.4.0-alpha02
18 באוקטובר 2023
androidx.camera:camera-*:1.4.0-alpha02 מופץ. גרסה 1.4.0-alpha02 מכילה את השינויים האלה.
שינויים ב-API
- משנים את שם ה-API ל-
setCameraOpenRetryMaxTimeoutInMillisWhileResumingואת שם הארגומנט. (I72370) - הוספת ממשקי API כדי לשלוח שאילתות לגבי יכולות המכשיר ולהפעיל ייצוב של הסרטון או התצוגה המקדימה. (I87544)
- לספק API להתאמה אישית של הזמן הקצוב לתפוגה של ניסיון חוזר לפתיחת המצלמה. (I0c642)
- השקנו את
ProcessCameraProvider.shutdownAsyncכ-API לבדיקה ציבורית כדי לאפשר שימוש בספק המצלמה של התהליך בחבילות מקרים לבדיקה, שבהן יכול להיות שיהיה צורך להפעיל את CameraX בדרכים שונות בין הבדיקות. (I9eca7) - הוספת ממשקי API להגדרת הטווח הדינמי, קצב הפריימים ומצב ההשתקפות במראה של צילום הווידאו. (Ifb8f7)
- הוצאה משימוש של
OutputSizeוהחלפה ב-ResolutionSelector. ResolutionSelectorהיא דרך מקיפה יותר לבחור רזולוציות, והיא תואמת ל-API של camera-core. (I93abd, b/286801438)
תיקוני באגים
- תוקנה הבעיה שגרמה לתצוגה מקדימה שחורה ב-Samsung Galaxy S23 Ultra 5G כשהתוספים "אפקט בוקה" או "ריטוש פנים" מופעלים עם
ImageAnalysisבמצלמה האחורית. (I2e8b1) - תוקנו בעיות בתצוגה המקדימה ובמתיחה של
VideoCaptureב-Moto E5 Play. (73dce2)
גרסה 1.4.0-alpha01
20 בספטמבר 2023
androidx.camera:camera-*:1.4.0-alpha01 מופץ. גרסה 1.4.0-alpha01 מכילה את השינויים האלה.
שינויים ב-API
- הוספת API חדש כדי לגשת למידע על עוצמת האודיו בזמן ההקלטה. (Id4925)
תיקוני באגים
- כדי לשפר את היציבות של התוספים, צריך לוודא שאירועי האתחול וביטול האתחול מופעלים בסדר הנכון. (Ib3b8e)
- תוקן כשל בהגדרת סשן הצילום שנגרם בגלל חריגה מהשילוב הנתמך של משטחים, כתוצאה מהוספה פנימית של משטח חוזר נוסף. (Id718c)
- תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשיר Vivo S16. תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בפלח הנתונים הדחוסים של JFIF. היא גורמת לכך שהתמונות שצולמו יהיו בגודל קובץ גדול. הנתונים המיותרים של הספרה 0 יוסרו כדי שגודל הקובץ של קובצי התמונה שצולמו יהיה רגיל. (I79505, b/299069235)
- תוקנה הבעיה שבה לא ניתן לקשר את
ImageAnalysisעםImageCaptureועם Preview כשמצבי תוספים מסוימים מופעלים במכשירים מסוימים. התיקון יחזיר את הערך הנכון כשאפליקציות יבצעו שאילתה לגבי הזמינות שלImageAnalysisדרךExtensionsManager#isImageAnalysisSupported(). (I7d538) - עדכון JavaDoc כך שיתאים להתנהגות. במקום להסתיים מיד, הפונקציות
#setZoomRatio, #setLinearZoomו-#enableTorchממתינות עד שהמצלמה מוכנה. הוספנו גם מידע על איך להשיג את שדה הראייה המקסימלי באמצעות ה-API של#takePicture. (I23588)
גרסה 1.3
גרסה 1.3.4
12 ביוני 2024
androidx.camera:camera-*:1.3.4 מופץ. גרסה 1.3.4 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה הבעיה שבה
getZoomRatioהחזיר ערך מופחת באופן שגוי כשמחילים יחס זום הולך וגדל. (I4aa0d, b/317543616) - תוקנה בעיה שבה צילום תמונה סטטית או לחיצה למיקוד לא השתמשו בערכי מצב הייצוב או ה-FPS של הבקשה החוזרת, מה שעלול ליצור מחדש סשן צילום ולגרום לבעיות זמן אחזור או להקפאת התצוגה המקדימה במכשירים מסוימים. (I7dc0b)
- תוקנה הבעיה שבה קצב הפריימים מוגדר לערך נמוך יותר כשמתבצעת קריאה ל-
setTargetFrameRateעםFRAME_RATE_RANGE_UNSPECIFIED. (I78c61)
גרסה 1.3.3
17 באפריל 2024
androidx.camera:camera-*:1.3.3 מופץ. גרסה 1.3.3 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה בבחירת הרזולוציה של
ImageAnalysisשקשורה להגדרת ברירת המחדל של רזולוציית היעד של המנתח: רזולוציית היעד נשמרה באופן שגוי כ-640x480 גם אם האפליקציות הגדירו הגדרה אחרת של ברירת המחדל של רזולוציית המנתח. אם באפליקציות נתקלים בבעיה הזו (1.3.0 עד 1.3.2) ואי אפשר לשדרג כדי להשתמש בגרסאות החדשות יותר שמכילות את הפתרון, אפשר לעקוף את הבעיה על ידי הגדרה ישירה שלResolutionSelectorעם הרזולוציה המועדפת ו-AspectRatioStrategyתואם ל-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) - הסרנו את אפשרות הרזולוציה 9280x6944 במכשירי Redmi Note 9 Pro בגלל בעיות. (Ia23da)
גרסה 1.3.1
13 בדצמבר 2023
androidx.camera:camera-*:1.3.1 מופץ. גרסה 1.3.1 מכילה את השינויים האלה.
תיקוני באגים
שיפרנו את הביצועים של ProcessCameraProvider#bindToLifecycle(). השינוי העיקרי הוא אופטימיזציה של תהליך הזיהוי של שילובי הגדלים המתאימים ביותר ל-UseCases. התוצאות האופטימליות משתנות בהתאם לשילובים הספציפיים של UseCase ולמספר גודלי הפלט הנתמכים במכשירי היעד. (I454f2)
הנה כמה תוצאות לדוגמה בתרחישים שונים:
4
UseCases:Preview+ImageCapture+ImageAnalysis+VideoCapture- Google Pixel 7: בערך 430 מילישניות עד 60 מילישניות
- Samsung Galaxy S23 Ultra: בערך 540 מילישניות עד 45 מילישניות
- Samsung A53 5G: בערך 115 מילישניות עד 70 מילישניות
שלושה
UseCases:Preview+ImageCapture+ImageAnalysis- Google Pixel 7: בערך 9 מילישניות עד 7 מילישניות
- Samsung Galaxy S23 Ultra: בערך 6 מילישניות עד 5 מילישניות
- Samsung A53 5G: בערך 32 מילישניות עד 12 מילישניות
הוספנו את Snapdragon 480 ל-
CameraUseInconsistentTimebaseQuirk. העדכון הזה פותר בעיה ב-Android 12 במכשירים עם ערכת השבבים הזו, שבה האודיו בהקלטות מוסט לפי משך הזמן שבו המכשיר נמצא במצב מושהה. (I58010)
גרסה 1.3.0
18 באוקטובר 2023
androidx.camera:camera-*:1.3.0 מופץ. גרסה 1.3.0 מכילה את השינויים האלה.
שינויים חשובים מאז גרסה 1.2.0
- תכונות וידאו, כולל HDR של 10 ביט, חיתוך, שיקוף/ללא שיקוף, השתקה/ביטול השתקה, הגדרת קצב פריימים ועוד.
- שתי מצלמות בו-זמנית
- ספריית האפקטים
- בורר הרזולוציה
- בחירת מצלמה עם עדשת Ultrawide ועדשת טלפוטו
- מעבר בין מצלמות במהלך צילום סרטון (תכונה ניסיונית)
גרסה 1.3.0-rc02
20 בספטמבר 2023
androidx.camera:camera-*:1.3.0-rc02 מופץ. גרסה 1.3.0-rc02 מכילה את השינויים האלה.
תיקוני באגים
- כדי לשפר את היציבות של התוספים, צריך לוודא שאירועי האתחול וביטול האתחול מופעלים בסדר הנכון. התיקון הזה פתר כמה בעיות של תצוגה מקדימה שחורה כשעוברים בין מצבי תוספים או בין מצלמות. (Iddaac)
- תוקנה הבעיה שבה אי אפשר לקשר את
ImageAnalysisעםImageCaptureועם Preview כשמצבי תוספים מסוימים מופעלים במכשירים מסוימים. התיקון יחזיר את הערך הנכון כשאפליקציות יבצעו שאילתה לגבי הזמינות שלImageAnalysisדרךExtensionsManager#isImageAnalysisSupported(). (I7d538) - תוקנה הבעיה שבה האודיו והווידאו של הסרטון המוקלט לא היו מסונכרנים כשמצב השתקפות במראה הופעל ב-Xiaomi Poco X3 NFC. (I20b4c)
גרסה 1.3.0-rc01
23 באוגוסט 2023
androidx.camera:camera-*:1.3.0-rc01 מופץ. גרסה 1.3.0-rc01 מכילה את השינויים האלה.
שינויים ב-API
- הוספנו את
PendingRecording.asPersistentRecordingכדי לאפשר הקלטה רציפה בזמן שה-VideoCaptureשמכשיר ההקלטה מחובר אליו מופעל מחדש. (I517c6)
תיקוני באגים
- תוקנה קריסה שקרתה כשמשתפים שידור גם עם
VideoCaptureוגם עם Preview. תוקנה גם בעיה של מסך שחור במכשירים מדור קודם כששיתוף הסטרימינג מופעל. - תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי Samsung S7 (SM-G930T, SM-G930V). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בפלח הנתונים הדחוסים של JFIF. היא גורמת לכך שהתמונות שצולמו יהיו בגודל קובץ גדול. הנתונים המיותרים של הספרה 0 יוסרו כדי שגודל הקובץ של קובצי התמונה שצולמו יהיה רגיל. (I407b0, b/288828159)
- תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי Samsung מסדרת S22 (SM-S901B, SM-S901B/DS) ו-S22+ (SM-S906B). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בפלח הנתונים הדחוסים של JFIF. היא גורמת לכך שהתמונות שצולמו יהיו בגודל קובץ גדול של כ-13MB במכשיר S22 SM-S901B/DS. הנתונים המיותרים של הספרה 0 יוסרו כדי שגודל הקובץ של קובצי התמונה שצולמו יהיה רגיל. (I73be9, b/288828159)
- תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירים מסדרות Samsung A5, A52, A70 ו-A72. תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בפלח הנתונים הדחוסים של JFIF. היא גורמת לכך שהתמונות שצולמו יהיו בגודל קובץ קיצוני (למשל כ-32MB או אפילו 96MB). הנתונים המיותרים של הספרה 0 יוסרו כדי שגודל קובץ התמונה של התמונות שצולמו יהיה רגיל. (I97c4d, b/288828159)
- תוקנה הקריסה ברמת שפת המכונה שמתרחשת כשמצלמים תמונות כשהתוספים מופעלים (I698f5)
גרסה 1.3.0-beta02
26 ביולי 2023
androidx.camera:camera-*:1.3.0-beta02 מופץ. גרסה 1.3.0-beta02 מכילה את השינויים האלה.
תיקוני באגים
- שימוש בפנס כפלאש בגרסאות של Pixel 4 ו-Pixel 5 כדי לשפר את איכות הצילום בתאורה חלשה (I56ff5, b/280221967)
- תוקנה בעיה שקשורה לתמונות JPEG גדולות שצולמו במכשירי Samsung מסדרת A5 (2017). תמונות ה-JPEG שצולמו מכילות נתוני ריפוד מיותרים של 0 בפלח הנתונים הדחוסים של JFIF. התמונות שצולמו יהיו בגודל של כ-32MB. הנתונים המיותרים של הספרה 0 יוסרו כדי שגודל קובץ התמונה של התמונות שצולמו יהיה רגיל. (I29837, b/288828159)
- תוקנה בעיה שבה הניסיון החוזר לא הופעל כמו שצריך במקרה של כשל בצילום במכשירים הבעייתיים שצוינו ב-
CaptureFailedRetryQuirk. (I7b589)
גרסה 1.3.0-beta01
21 ביוני 2023
androidx.camera:camera-*:1.3.0-beta01 מופץ. גרסה 1.3.0-beta01 מכילה את השינויים האלה.
שינויים ב-API
- השם של הפונקציה
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)שונה ל-setAllowedResolutionMode, והשמות של הקבועיםResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONשונו ל-PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE. (If84e8) - הוסרו ממשקי ה-API שהוצאו משימוש:
ImageAnalysis.setTargetRotationDegrees(int), ImageCapture.setTargetRotationDegrees(int)ו-VideoCapture.setTargetRotationDegrees(int). (Id8e77) - הכיתה
DynamicRangeמייצגת את הטווח הדינמי של התמונות. אפשר להשתמש בזה כדי לבחור פורמטים של טווח דינמי גבוה (HDR) כפלט שלVideoCaptureעדVideoCapture.Builder#setDynamicRange(). (Ib0377) - הוספנו ממשק API של
isImageAnalysisSupportedל-ExtensionsManager, שבאמצעותו אפליקציות יכולות לקבוע אם אפשר לקשר תרחיש לדוגמה שלImageAnalysisיחד עם תצוגה מקדימה ו-ImageCaptureכשהתוספים מופעלים. (I1bc63) - אפשר להשתמש במחלקה החדשה
VideoCapabilitiesשהתקבלה מ-Recorderכדי לשלוח שאילתות לגבי טווחים דינמיים ואיכויות שנתמכים להקלטת וידאו במכשיר. ה-methodsgetSupportedQualities()ו-isQualitySupported()שלQualitySelectorיוצאות משימוש. במקום זאת, צריך להשתמש בשיטותgetSupportedQualities()ו-isQualitySupported()שלVideoCapabilities. (I04014) -
CameraController#setVideoCaptureTargetQuality()שונה ל-setVideoCaptureQualitySelectorומקבל את הארגומנטQualitySelector, שמאפשר גמישות רבה יותר בהגדרת איכות הווידאו. הערך שלCameraController#getVideoCaptureTargetQuality()משתנה בהתאם ל-getVideoCaptureQualitySelector. (I520ed) - הסרנו את ההערה הניסיונית לתכונות של סרטונים. התכונות של הסרטונים יציבות עכשיו. (I1a113)
תיקוני באגים
- בדגמי Samsung SM-A320, אפשר להשתמש בפנס כפלאש כדי לשפר את המהירות ואת איכות התמונה שצולמה בתאורה חלשה. (I6a022, b/286190938)
- הוספת תמיכה בפורמט
ImageFormat.JPEGל-ImageProxy.toBitmap(). אם לא ניתן לפענח את מערך הבייטים של ה-JPEG, תופיע השגיאהUnsupportedOperationException. (I81958, b/282057603)
גרסה 1.3.0-alpha07
24 במאי 2023
androidx.camera:camera-*:1.3.0-alpha07 מופץ. גרסה 1.3.0-alpha07 מכילה את השינויים האלה.
תכונות חדשות
- ה-API החדש של
VideoCapture.Builder# setTargetFrameRate(Range)מאפשר לצלם הקלטות וידאו בקצבי פריימים אחרים מלבד ברירת המחדל של המכשיר. אפשר לשלוח שאילתה לגבי קצבי הפריימים הזמינים להקלטות באמצעות ה-API החדש שלCameraInfo#getSupportedFrameRates().
שינויים ב-API
- שינינו את השם של הקבועים
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ONל-ALLOWED_RESOLUTIONS_NORMAL/SLOWואת השם של הפונקציהsetHighResolutionEnabledFlagשל ה-builder ל-setAllowedResolutionMode. (Iae817) - הפונקציה
CameraInfo#getSupportedFrameRateRanges()מחזירה עכשיוSetבמקוםListכדי לייצג טוב יותר את העובדה שהטווחים לא מסודרים. (I02f43) - צריך להוסיף מאזין שגיאות אל
CameraEffectכדי לטפל בשגיאות שבעקבותיהן אי אפשר לשחזר (Ice471) - הוספת constructor ציבורי ב-
ResolutionInfoכדי לשפר את יכולת הבדיקה (If6d1c) - סופק API
UseCase.snapToSurfaceRotation(int)כדי להחליף את השימוש ב-setTargetRotationDegreesולהוציא משימוש את ה-APIImageAnalysis.setTargetRotationDegrees(int),ImageCapture.setTargetRotationDegrees(int)ו-VideoCapture.setTargetRotationDegrees(int). (Ia9010) - נוספו ממשקי ה-API החדשים
Preview#getTargetFrameRateו-Preview.Builder#setTargetFrameRateכדי לאפשר הגדרה ואחזור של קצב הפריימים לטירגוט בתרחיש לדוגמה של תצוגה מקדימה (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
- חשפנו ממשק API חדש של
ResolutionSelector. אפליקציות יכולות לציין אסטרטגיות של יחס גובה-רוחב ורזולוציה עם כללי חלופות או מסנן רזולוציה בהתאמה אישית כדי לקבל את התוצאות הרצויות. אפליקציות יכולות לציין דגל כדי להפעיל צילום ברזולוציה גבוהה. כך CameraX תוכל לבחור רזולוציות גבוהות יותר כשמצלמים תמונות או סרטונים. עם זאת, חשוב לזכור ששימוש ברזולוציה גבוהה עלול להאט את זמני הצילום. (Ibed95) - עכשיו אפשר לשלוח שאילתות לגבי טווחי ה-FPS שנתמכים על ידי אלגוריתם ה-AE באמצעות
CameraInfo#getSupportedFrameRateRanges(). (Iaa67f) - איחוד השמות של כל השיטות של קצב הפריימים לשימוש ב-FrameRate. תקן את השגיאה ב-javadoc ב-
VideoCapture#getTargetFrameRate()(I83304) - הוצאנו משימוש את ה-API מהדור הקודם של
setTargetAspectRatioו-setTargetResolution. במקומו צריך להשתמש ב-API החדשResolutionSelector. (I542c3) - הוספנו ממשקי API ציבוריים להפעלת שתי המצלמות במקביל, כולל
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)boolean isConcurrentCameraModeOn()ו-ConcurrentCameraConfig,SingleCameraConfigו-ConcurrentCamera(Iab1c1)
- הגדרת
ImageProcessor.Response#getOutputImageכ-NonNull (Ib9c60) - הוספנו ממשקי API לשיקוף של
VideoCapture, כוללVideoCapture.Builder.setMirrorMode(int)ו-VideoCapture.getMirrorMode(). ממשקי ה-API האלה שימושיים לאפליקציות שבהן הקלטת הווידאו צריכה להיות עקבית עם ההתנהגות הנפוצה של תצוגה מקדימה במצלמה, כלומר התצוגה המקדימה במצלמה האחורית לא מוצגת בשיקוף, אבל התצוגה המקדימה במצלמה הקדמית כן מוצגת בשיקוף. (I713b6, b/194634656) - הוספת ה-API של
setTargetFrameRate()ב-VideoCapture.Builderוה-API שלgetTargetFramerate()ב-VideoCapture(I109d4) - צריך להגדיר את
SurfaceOutputכך שיאריך את Closable ולהסתיר את ה-constructor הציבורי שלurfaceOutput.Event. (I60ea8) - הוספנו את
Recording.muteכדי להשתיק או לבטל את ההשתקה של הקלטה שנמצאת בתהליך עיבוד. השדהRecordingStatsיכיל את הערךAudioStats.AUDIO_STATE_MUTEDכשההקלטה שבעיבוד מושתקת באופן מפורש. (Ie17fc) - הפרמטר
#setEffects()הוגדר כ-non-null. הוספת API של#clearEffects()לניקוי אפקטים. האפליקציה צריכה להפעיל את#clearEffects()כדי להסיר אפקטים. (I4b4d9) - הוספת בנאי שני ל-
ViewfinderSurfaceRequest.Builderכדי להשתמש ב-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
- הוספנו
VideoCaptureממשקי API לסיבוב, כוללVideoCapture.Builder.setTargetRotation(int), VideoCapture.setTargetRotation(int), VideoCapture.setTargetRotationDegrees(int)ו-VideoCapture.getTargetRotation(). ממשקי ה-API שימושיים לאפליקציות שנועלות את כיוון המכשיר. גםImageCapture.setTargetRotationDegrees(int)ו-ImageAnalysis.setTargetRotationDegrees(int)יתווספו. (Id3ffe, b/205242781) - אפשר להשתמש ב-
VIDEO_CAPTUREוב-PREVIEW|VIDEO_CAPTUREכיעד לאפקטים. אפקטים שמטרגטים אתVIDEO_CAPTUREיופעלו על UseCase שלVideoCapture. אפקטים שמטרגטים אתPREVIEW|VIDEO_CAPTUREיופעלו על סטרימינג משותף לפני ההעתקה לתצוגה המקדימה ולסטרימינג שלVideoCapture. (Iee6f3)
תיקוני באגים
- ממצלמה
1.2.2: תוקנה הבעיה שבה תוספי CameraX לא פועלים כמו שצריך כש-proguard מופעל במכשירים מסוימים כמו Pixel (I90aa2) - תוקן באג ב-
PreviewViewשגרם לכך שאם האפליקציה מטפלת בכיוון המסך בעצמה, התצוגה המקדימה עלולה להתעוות בזמן סיבוב. זה קורה רק במכשירים מסוימים. אפשר לשחזר את הבעיה במכשירים מדגמי Pixel 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 מכילה את השינויים האלה.
תכונות חדשות
תכונה חדשה שמאפשרת לשתף סטרימינג אחד עם כמה UseCases, וכך תומכת בשילובים של 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)
תיקוני באגים
- תוקנה קריסה של התוספים שמתרחשת בחלק ממכשירי סמסונג כשמשהים או מפעילים מחדש את האפליקציה מהר מדי (Iaca26)
גרסה 1.3.0-alpha03
25 בינואר 2023
androidx.camera:camera-*:1.3.0-alpha03 מופץ. גרסה 1.3.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו את
CameraInfo.getIntrinsicZoomRatioכדי לספק מידע על זווית הצפייה ביחס למצלמה שמוגדרת כברירת מחדל. (Ib300c) - הוספנו את
CameraInfo.getLensFacingכדי לספק מידע על כיוון העדשה. הוספנו אתCameraSelector#LENS_FACING_EXTERNALכתכונה ניסיונית לבחירת מצלמות חיצוניות. (Icaf3e) - מוסיפים את
#setEffect()אלCameraController, שמאפשר להוסיף אפקטים לפלט של המצלמה. (I1d21f) - הוספת השיטה
invalidate()אלSurfaceRequest. ספק הפלטפורמה יכול להודיע שהפלטפורמה שסופקה בעבר כבר לא תקפה. (Idc649) - מוסיפים API של
ImageProcessor. הממשק הזה מיועד להוספת אפקטים של עיבוד לאחר הצילום לצינור עיבוד הנתונים שלImageCapture. (I575c6) - הוספנו את ה-API
Recorder.Builder.setAspectRatio()שאפשר לשלב עםQualitySelectorכדי לתמוך ברזולוציות נוספות של סרטונים. (I8a082) - הוספנו את
Recorder.Builder#setTargetVideoEncodingBitRateכדי להגדיר את קידוד הסרטון לטירגוטBitRateואתRecorder#getTargetVideoEncodingBitRateכדי לקבל את קצב העברת הנתונים של קידוד הסרטון לטירגוט. (I5984d)
תיקוני באגים
- תוקנה בעיה שבה
ImageCaptureנכשל כשאין מבזק ומצב המבזק מופעל. (I9e8b4, b/263391112) - תוקנה בעיה שגרמה לפגיעה בתמונות JPEG אם נכתבו נתוני מיקום Exif במכשירי Samsung Android 12 מסוימים. (Ib7086, b/263747161, b/263289024)
- כשמגדירים פנס/זום לפני שהמצלמה מסיימת את תהליך האתחול, למשל כשמפעילים את
CameraController#enableTorch, הפעולה שבהמתנה נשמרת במטמון ונשלחת אחרי שהאתחול מסתיים. (I11e92, b/264157663)
גרסה 1.3.0-alpha02
7 בדצמבר 2022
androidx.camera:camera-*:1.3.0-alpha02 מופץ. גרסה 1.3.0-alpha02 מכילה את השינויים האלה.
שינויים ב-API
- להוסיף API חדש להחלת אפקט עיבוד לאחר הצילום על הפלט של התצוגה המקדימה. (Ic17d5)
- השם של
OutputOptions.getDurationLimitהשתנה ל-OutputOptions.getDurationLimitMillisוהשם שלOutputOptions.setDurationLimitהשתנה ל-OutputOptions.setDurationLimitMillis. (I91f0c) - מוסיפים את המחלקה
AudioConfigכדי לטפל בהגדרה שקשורה לאודיו בזמן הקלטת סרטון. ההערה@RequiresPermissionהועברה מהפונקציותstartRecordingאלAudioConfigכדי למנוע בקשות הרשאה מיותרות במקרים שבהם לא נדרש אודיו. (I28755) - הסרת המחלקות 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)
תיקוני באגים
- הוספת תכונה שמאפשרת למכשירים בעייתיים מסוימים לנסות שוב לצלם פעם אחת כשיש כשלים בצילום. (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 לא פועלים כמו שצריך כש-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 ניסיוני חדש ל-Zero-Shutter Lag. אופטימיזציה של צינור עיבוד הנתונים של הצילום כדי לשפר את זמן האחזור תוך שמירה על איכות תמונה טובה. כשמצב הצילום מוגדר ל-
CAPTURE_MODE_ZERO_SHUTTER_LAG, זמן האחזור בין הלחיצה על כפתור הצילום לבין צילום התמונה צפוי להיות קצר יותר בהשוואה למצבי צילום אחרים. במכשירים שלא תומכים ב-ZERO_SHUTTER_LAG, המערכת תשתמש ב-CAPTURE_MODE_MINIMIZE_LATENCY. - הוצאה משימוש של
android.camera.core.VideoCapture. - הוספנו את
setStreamUseCase()בתור API ציבורי שלCamera2Interop. - נוספה דרישה לגבי רמת ה-API ל-
setOutputImageRotationEnabled. - השם של
ImageAnalysis.Analyzer#getTargetResolutionOverride()שונה ל-ImageAnalysis.Analyzer#getDefaultTargetResolution(). - הוספנו API להגדרת מטא-נתונים של מיקום בסרטון השמור.
- תוקן קצב הפריימים הנמוך בשימוש ב-
VideoCaptureובתצוגה מקדימה ביחס גובה-רוחב של 16:9 - תוקנה הבעיה של תצוגה מקדימה שחורה שמתרחשת כשתוסף BOKEH מופעל במכשירי סמסונג מסוימים והמשתמש מחליף בין המצלמות.
- תוקנה בעיית המתיחה של
Preview/VideoCaptureבמכשירי Samsung J7 Prime (SM-G610M) ו-J7 (SM-J710MN) עם רמת 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)
תיקוני באגים
- תוקנה בעיית המתיחה של
Preview/VideoCaptureבמכשירי Samsung J7 Prime (SM-G610M) ו-J7 (SM-J710MN) עם רמת API 27. רזולוציה של 1920x1080 גורמת לתמונות בפורמטPreview/VideoCaptureלהימתח. הוספנו פתרון עקיף כדי לא לבחור ברזולוציה של 1920x1080 לתצוגה מקדימה או ל-VideoCapture, כדי למנוע את הבעיה של תמונה מתוחה. (I0e04e) - תוקן קצב פריימים נמוך כשמשתמשים ב-
VideoCaptureובמקרים של שימוש בתצוגה מקדימה עם יחס גובה-רוחב של 16:9 במכשירי Huawei מסוימים. (If8c88, b/223643510) - תוקנה בעיה בפתיחת המצלמה כשלא מוגדר
SurfaceProviderשל Preview. כחלק מהתיקון, אם לא מוגדר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, כולל סריקת ברקודים, זיהוי פנים, זיהוי טקסט ועוד. כאן אפשר למצוא את הקוד לדוגמה. - API חדש ל-Zero-Shutter Lag (השהיית תריס אפסית) בשלב הניסוי. אופטימיזציה של צינור עיבוד הנתונים של הצילום כדי לשפר את זמן האחזור תוך שמירה על איכות תמונה טובה. כאשר מצב הצילום מוגדר ל-CAPTURE_MODE_ZERO_SHUTTER_LAG, זמן האחזור בין הלחיצה על כפתור הצילום לבין צילום התמונה צפוי להיות מינימלי, בהשוואה למצבי צילום אחרים. במכשירים שלא תומכים ב-ZERO_SHUTTER_LAG, המערכת תעבור למצב CAPTURE_MODE_MINIMIZE_LATENCY.
- הפכנו את
ImageAnalysis.Analyzerו-MLKitAnalyzerלממשקי API רשמיים. - ממשק API חשוף להגדרת מטא-נתונים של מיקום בסרטון השמור.
- משנים את השם של
ImageAnalysis.Analyzer#getTargetResolutionOverride()לשםImageAnalysis.Analyzer#getDefaultTargetResolution().
תיקוני באגים
- תוקנה בעיה בצילום תמונות ב-Alps k61v1_basic_ref. תמונות ה-JPEG שצולמו מ-HAL מכילות מטא-נתונים שגויים של Exif. במטא-נתונים של Exif אין את התג 0xffd9 או 0xffda כדי ש-
ExifInterfaceינתח את המאפיינים בצורה נכונה. כדי לעקוף את הבעיה הזו, צריך לצלם את התמונות בפורמט YUV ואז לדחוס אותן לתמונות פלט בפורמט JPEG. (I45abb)
גרסה 1.2.0-alpha04
27 ביולי 2022
androidx.camera:camera-*:1.2.0-alpha04 מופץ. גרסה 1.2.0-alpha04 מכילה את השינויים האלה.
שינויים ב-API
- משנים את השם של
ImageAnalysis.Analyzer#getTargetResolutionOverride()לשםImageAnalysis.Analyzer#getDefaultTargetResolution(). ההתנהגות גם משתנה כך שהערך שמוחזר על ידי השיטה הזו יכול להיות מוחלף על ידי הערך שלImageAnalysis#setTargetResolution(). (If1d36) - ממשק API חשוף להגדרת מטא-נתונים של מיקום בסרטון השמור. אפשר להגדיר אובייקט
android.location.Locationבאמצעות ה-API החדשandroidx.camera.video.OutputOptions.Builder.setLocation(Location). (I313a0, b/204197544)
תיקוני באגים
- תיקון הבעיה בצילום תמונה עם תצוגה מקדימה לא מקושרת (Ie70b6, b/235119898)
- תוקנה קריסה ב-
Recorderכשמנסים להקליט כשמקור האודיו לא זמין. (I9f652)
גרסה 1.2.0-alpha03
29 ביוני 2022
androidx.camera:camera-*:1.2.0-alpha03 מופץ. גרסה 1.2.0-alpha03 מכילה את השינויים האלה.
שינויים ב-API
- ההערה הניסיונית הוסרה מהשפות
ImageAnalysis.Analyzerו-MLKitAnalyzer. (I0ff22)
תיקוני באגים
- נוסף זמן קצוב לתפוגה של 5,000 אלפיות השנייה כברירת מחדל לפוקוס האוטומטי. אם לא מבטלים את
FocusMeteringActionוהפוקוס האוטומטי לא מתכנס במהלך הזמן הזה, החלק של הפוקוס האוטומטי יסתיים עם הערך false ב-isFocusSuccessful. (Ibc2e3) - תיקון הבעיה בצילום תמונה עם תצוגה מקדימה לא מקושרת (I1d3a2, b/235119898)
- הפעלת הטמעה מתקדמת של Extender ועדכון גרסת ממשק התוספים של תמיכת CameraX ל-1.2 (I92256)
גרסה 1.2.0-alpha02
1 ביוני 2022
androidx.camera:camera-*:1.2.0-alpha02 מופץ. גרסה 1.2.0-alpha02 מכילה את השינויים האלה.
תכונות חדשות
- ה-API של CameraX Zero-Shutter Lag זמין כניסיוני.
שינויים ב-API
- מוסיפים מצב צילום חדש
CAPTURE_MODE_ZERO_SHUTTER_LAGב-ImageCaptureומוסיפים אתisZslSupportedב-CameraInfoכדי לשלוח שאילתה לגבי יכולת המכשיר. מצבCAPTURE_MODE_ZERO_SHUTTER_LAGנועד לספק את זמן האחזור המינימלי לצילום מיידי. הוא מיושם על סמך מאגר נתונים זמני (buffer) מעגלי, ששומר במטמון תוצאות ביניים של צילום לצורך עיבוד מחדש בשלב מאוחר יותר, כשהמשתמש לוחץ על לחצנים כדי לצלם תמונות. אם {@link VideoCapture} קשור או שמצב הפלאש לא כבוי או שתוסף ה-OEM מופעל, המצב הזה יושבת באופן אוטומטי. (I9ae74) - הוספת השיטה
ImageAnalysis.getBackgroundExecutor() (Icc945)
תיקוני באגים
- תוקנה הבעיה שבה השיטה takePicture של
ImageCaptureמכבה את הפנס במכשירים שדווחו. (Ib5eb5, b/228272227) - תוקן באג שבו לא בוצע טיפול ב-
AssertionErrorכשמתקבל המאפייןCONTROL_ZOOM_RATIO_RANGE.(/Ia248a, b/231701345)
גרסה 1.2.0-alpha01
18 במאי 2022
androidx.camera:camera-*:1.2.0-alpha01 מופץ. גרסה 1.2.0-alpha01 מכילה את השינויים האלה.
תכונות חדשות
- השקנו ספרייה חדשה בשם camera-mlkit-vision
תיקוני באגים
- תוקנה בעיה שבה
QualitySelectorלא מצליח להקליט סרטון UHD כשאסטרטגיית חלופית מופעלת. הבעיה מתרחשת כש-VideoCaptureמקושר ל-ImageCaptureולתצוגה מקדימה במכשיר מצלמה ברמת חומרה FULL או גבוהה יותר. שיטת הגיבוי של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
- השקנו את גרסת ה-RC הראשונה של הספריות Landed View, Extension ו-Video Capture. החל מגרסה 1.1.0-beta01, כל ספריות CameraX יתאימו לאותו מספר גרסה. כך המפתחים יוכלו לעקוב אחרי הגרסאות בקלות רבה יותר, וזה יפחית את המורכבות של מטריצות תאימות של גרסאות גדולות.
- הוספנו ממשקי API ציבוריים ותכונות חדשות, כולל:
- הוספת הספרייה הרשמית camera-video כדי לתמוך בתרחישים לדוגמה של צילום וידאו.
- יכולת המרה וסיבוב של YUV ל-RGB (
ImageAnalysis.Builder.setOutputImageRotationEnabledו-setOutputImageFormat) - תמיכה במצב ריבוי חלונות: אפליקציות CameraX יכולות להמשיך להשתמש במצלמה כשהיא מופסקת על ידי אפליקציה אחרת והמיקוד חוזר.
- תיקון של כמה בעיות בתצוגה המקדימה כדי לוודא ש-CameraX פועלת היטב במכשירים מתקפלים.
- הוספנו API של
CameraStateשייחשף דרך CameraInfo. - נוסף API
ProcessCameraProvider.getAvailableCameraInfos()כדי לאחזר ישירות מידע על המצלמות הזמינות - פורמט הפלט של
ImageCapture#OnImageCapturedCallbackהוא JPEG כשהתוספים מופעלים. - נוסף ממשק API
isFocusMeteringSupportedב-CameraInfoשמאפשר לאפליקציות לבדוק אםFocusMeteringActionנתמך במצלמה הנוכחית או לא. - חשפנו את ה-API של
getResolutionInfoכדי לספק את פרטי הרזולוציה של התצוגה המקדימה,ImageCaptureו-ImageAnalysis. - נוסף API חדש,
ImageCapture.Builder#setJpegQuality, שמאפשר לשנות את איכות הדחיסה של תמונות JPEG שנוצרות כשמצלמים תמונות. - הוספנו את
CameraSelector#filterל-API הציבורי כדי לסנן רשימה שלCameraInfosעל סמךCameraSelector. - הוספנו את
Camera2CameraControl.clearCaptureRequestOptionsכדי לנקות את האפשרויות הקיימות של בקשות הצילום. - נוסף API ניסיוני לשימוש ב-
CameraControllerעם ספריות חיצוניות לעיבוד תמונות, למשל MLKit - נוסף API ניסיוני
CameraInfo#getCameraSelector()שמחזירCameraSelectorייחודי למצלמה שלו - העברנו כמה ממשקי API ניסיוניים לממשקי API ציבוריים רשמיים
- החלפנו את ההערה
@Experimentalב-@RequiresOptInלממשקי API ניסיוניים. כדי להפעיל ממשקי API ניסיוניים, צריך להשתמש ב-androidx.annotation.OptIn במקום ב-androidx.annotation.experimental.UseExperimental שהוצא משימוש. - קידמו את ממשקי ה-API הניסיוניים הבאים ל-API רשמיים:
CameraXConfig.Builder#setAvailableCamerasLimiter(),CameraXConfig.Builder#setMinimumLoggingLevel(),CameraXconfig.Builder#setSchedulerHandler(),CameraXConfig#getAvailableCamerasLimiter(),CameraXConfig#getMinimumLoggingLevel(),CameraXConfig#getCameraExecutor(),CameraXConfig#getSchedulerHandler(), @ExperimentalCameraFilterממשקי API- ממשקי 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שונה ל "הקלטה" כדי לקצר את המלל. - שינינו את ה-API של יוצר
QualitySelectorל-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 ל-camera-video, ל-camera-view ול-camera-extension
תיקוני באגים
- תוקנה בעיה שבה ה-codec של הסרטון לא שוחרר כש-
VideoCapture<Recorder>לא היה קשור, וכתוצאה מכך השימושים הבאים ב-VideoCapture<Recorder>נכשלו בהקלטה עםMediaCodec.CodecException, במיוחד במכשירי API 21-22. (Ie7f68) - תיקון: תמונות שצולמו ב-
CameraExtensionsActivityלא נמחקות ב-ImageCaptureTest
גרסה 1.1.0-beta03
6 באפריל 2022
androidx.camera:camera-*:1.1.0-beta03 מופץ. גרסה 1.1.0-beta03 מכילה את השינויים האלה.
שינויים ב-API
- ה-constructor של
CaptureRequestOptionsהוגבל. (I261b6) - נוסף API ניסיוני לשימוש ב-
CameraControllerעם ספריות חיצוניות לעיבוד תמונות, למשל MLKit (I4ea71)
תיקוני באגים
- תוקנה הבעיה שבה התצוגה המקדימה מוצגת על הצד ב-
PreviewViewכשהפעילות לא מופעלת מחדש אחרי סיבוב המכשירים במצב ריבוי חלונות. (I1ea36, b/223488673) - תוקנה בעיה שקשורה לריבוי חלונות: כשהמיקוד חוזר לאפליקציה, היא לא מצליחה להפעיל מחדש את המצלמה כש-(1) אפליקציה אחרת בעדיפות גבוהה פותחת מצלמה אחרת (2) המכשיר הוא Samsung Android 12. (I7e9f2)
- כולל פתרון עקיף למכשירים שקורסים כשבודקים את הזמינות של הפלאש. במכשירים האלה לא תהיה אפשרות להשתמש בפנס. (If26a3, b/216667482)
- תוקנה בעיה ב-
AbstractMethodErrorשקרתה כשאפליקציות השתמשו בתוספים והפעילו את ProGuard. (I7cbaf, b/222726805) - השבתה כפויה של מצב התוסף "אפקט בוקה" במכשיר Motorola razr 5G, שתגרום לבעיה של מסך תצוגה מקדימה שחור. (I35d49)
- תוקנה בעיה שבה האודיו או הווידאו לא מסונכרנים אחרי השהיה והמשך בחלק ממכשירי סמסונג עם API ברמה 29 ומטה. (I64622, b/202798609, b/202798572)
- תוקנה בעיה שבה האודיו והווידאו לא היו מסונכרנים אחרי השהיה והמשך הפעלה במכשיר Sony G3125. (I2a1a5, b/202799148)
- תוקנה קריסה שקרתה כשמכשיר ההקלטה נתקל ב-
InvalidConfigException. עם זאת, התיקון הזה רק מונע מהאפליקציה לקרוס, אבל לא פותר את הגורם ל-InvalidConfigException. אם עדיין לא ניתן להגדיר אתRecorder, האפליקציות יקבלו קריאה חוזרת (callback) של שגיאה כשהן יתחילו להקליט. (I89c29, b/213617227)
תרומה חיצונית
- עודכן ה-API של :compose:ui:ui-test (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()במצלמה הקדמית במכשירי סמסונג (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 ב-Pixel 1. (I833c6, b/205340278)
גרסה 1.1.0-alpha11
17 בנובמבר 2021
androidx.camera:camera-*:1.1.0-alpha11 מופץ. גרסה 1.1.0-alpha11 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו את CameraSelector#filter ל-API הציבורי כדי לסנן רשימה של CameraInfos על סמך CameraSelector. (I105d0)
הוספת setOutputImageRotationEnabled API להגדרת ImageAnalysis. המשתמש יכול להפעיל סיבוב של מאגר התמונות YUV/RGB. זווית הסיבוב היא סיבוב יחסי שמחושב על סמך סיבוב החיישן וסיבוב היעד כדי שהתמונה תישאר בחזית.
הוספת setOutputImageRotationEnabled API להגדרת 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)
תרומה חיצונית
גרסה 1.1.0-alpha10
13 באוקטובר 2021
androidx.camera:camera-*:1.1.0-alpha10 מופץ. גרסה 1.1.0-alpha10 מכילה את השמירות האלה.
תכונות חדשות
- גרסה
androidx.camera:camera-video:1.1.0-alpha10הושקה רשמית כגרסת האלפא הראשונה של Video. יש כמה בעיות ידועות שיתוקנו בגרסאות הבאות.
שינויים ב-API
- הוספנו את ההערה
@RequiresApi(21)לכל המחלקות של CameraX והסרנו את minSdkVersion מ-AndroidManifest.xml. כך אפשר לשלב בקלות את camera-core באפליקציות עם minSdkVersion נמוך מ-21, אבל רוצים להשתמש באופן מותנה בנתיבי קוד שמסתמכים על API 21 ואילך. אם minSdkVersion של האפליקציה הוא 21 ומעלה, לא צריך לעשות שום דבר. (Ie7f2e, b/200599470)
תיקוני באגים
- הפעלת InitializationException כדי שהאפליקציה תוכל לטפל בצורה חלקה ב-AssertionError שקרה בזמן יצירת CameraCharacteristics. (Ibec79)
גרסה 1.1.0-alpha09
29 בספטמבר 2021
androidx.camera:camera-camera2:1.1.0-alpha09, androidx.camera:camera-core:1.1.0-alpha09 ו-androidx.camera:camera-lifecycle:1.1.0-alpha09 שוחררו. גרסה 1.1.0-alpha09 מכילה את השמירות האלה.
שינויים ב-API
- ההערה ExperimentalUseCaseGroup הוסרה כי ממשקי ה-API כבר לא ניסיוניים. (I01ef5)
תיקוני באגים
- פתרון הבעיה שבה התמונות שצולמו מטושטשות במצב
MAXIMIZE_QUALITY. (I173a9, b/193823892) - תוקנה בעיה במכשיר Samsung Galaxy J5 שבה המצלמה נתקעת אחרי צילום תמונות עם פלאש מופעל או אוטומטי בסביבה חשוכה (I3aab9)
- כשצריך לחתוך את התמונה ב-ImageCapture, דוחסים את התמונה החתוכה שנוצרה לפי רמת האיכות שצוינה ל-JPEG בהתאם למצב הצילום שהוגדר. אם מצב הצילום הוא
CAPTURE_MODE_MINIMIZE_LATENCY, איכות הדחיסה של JPEG תהיה 95. אם מצב הצילום הואCAPTURE_MODE_MAXIMIZE_QUALITY, איכות הדחיסה של JPEG תהיה 100. (Ieb37c, b/142856426)
גרסה 1.1.0-alpha08
18 באוגוסט 2021
androidx.camera:camera-camera2:1.1.0-alpha08, androidx.camera:camera-core:1.1.0-alpha08 ו-androidx.camera:camera-lifecycle:1.1.0-alpha08 שוחררו. גרסה 1.1.0-alpha08 מכילה את השמירות האלה.
תכונות חדשות
- הוספת setOutputImageFormat API להגדרת ניתוח תמונות. המשתמש יכול לבחור את ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 או את ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. כברירת מחדל, המערכת תבחר את ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888. (I7902d)
שינויים ב-API
- ההערה ExperimentalUseCaseGroupLifecycle הוסרה כי ממשקי ה-API כבר לא ניסיוניים. (I17b85)
תיקוני באגים
- תוקנה הבעיה שבה מסך התצוגה המקדימה בהיר מדי במכשיר Huawei P20 Lite. הבעיה הזו מתרחשת רק כשמשתמשים ברזולוציות מיוחדות מסוימות של תצוגה מקדימה, יחד עם ערך גדול של הגדלת התצוגה. (Idefce, b/192129158)
- תוקנה בעיה שבה הפלאש לא פעל במכשירים מסוימים כשהגדרת מצב הפלאש הייתה FLASH_MODE_ON וצולמו תמונות זמן קצר לאחר מכן. (Ieb49b)
- תוקנה הבעיה שבה התצוגה המקדימה נעצרת לזמן מה בזמן צילום תמונות אם VideoCapture, ImageCapture ו-Preview קשורים. (I56197, b/193864120)
- מאפשר ל-ImageAnalysis לבחור רזולוציה גבוהה יותר מ-1080p. מכשיר ברמת LIMITED יכול לתמוך ברזולוציה בגודל RECORD ל-ImageAnalysis כשהוא מקושר ל-Preview ול-ImageCapture. החיסרון הוא שהרזולוציה שנבחרה ל-ImageCapture תצטרך להיות גם רזולוציה בגודל RECORD. כדי לבחור רזולוציה בגודל RECORD ל-ImageAnalysis, צריך להגדיר רזולוציית יעד בגודל RECORD גם ב-ImageCapture וגם ב-ImageAnalysis. זה מציין שהאפליקציה מבינה בבירור את הפשרה ומעדיפה של-ImageAnalysis תהיה רזולוציה גדולה יותר מאשר של-ImageCapture תהיה רזולוציה מקסימלית. ההגדרות של RECORD, הגדלים של MAXIMUM ופרטים נוספים זמינים בכתובת https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. גודל ה-RECORD מתייחס לרזולוציית ההקלטה המקסימלית שנתמכת במצלמה, כפי שנקבעה על ידי CamcorderProfile. הגודל המקסימלי מתייחס לרזולוציית הפלט המקסימלית של המצלמה בפורמט או ביעד הזה, מתוך StreamConfigurationMap.getOutputSizes(int). (I1ee97, b/192911449)
- הוספת פרטי Exif לתמונה שצולמה. (I01ff0, b/193342619)
- ב-ImageCapture, מחזירים את ה-URI של התמונה השמורה אם מיקום השמירה הוא קובץ. (Ib5b49, b/149241379)
- תוקנה בעיה שבה תמונות שצולמו עם פלאש היו כהות במכשירים רבים. (I4e510)
גרסה 1.1.0-alpha07
21 ביולי 2021
androidx.camera:camera-camera2:1.1.0-alpha07, androidx.camera:camera-core:1.1.0-alpha07 ו-androidx.camera:camera-lifecycle:1.1.0-alpha07 שוחררו. גרסה 1.1.0-alpha07 מכילה את השמירות האלה.
תיקוני באגים
- תוקנה בעיה ב-Samsung Galaxy Note 5 שבה המצלמה נתקעת אחרי צילום תמונות עם פלאש מופעל/אוטומטי בסביבה חשוכה (If6871)
- תוקנה בעיית EOFException ב-
YuvToJpegProcessorכשמצב התוסף מופעל ומוגדר מצבImageCapture#CAPTURE_MODE_MAX_QUALITY. (I538bd, b/192017012)
גרסה 1.1.0-alpha06
30 ביוני 2021
androidx.camera:camera-camera2:1.1.0-alpha06, androidx.camera:camera-core:1.1.0-alpha06 ו-androidx.camera:camera-lifecycle:1.1.0-alpha06 שוחררו. גרסה 1.1.0-alpha06 מכילה את השינויים האלה.
שינויים ב-API
- קידום ממשקי ה-API הניסיוניים של פיצוי החשיפה עבור camera-core (I08ee8)
- הוספנו את ה-API isFocusMeteringSupported ב-CameraInfo, שמאפשר לאפליקציות לבדוק אם FocusMeteringAction נתמך במצלמה הנוכחית. (Ib45ae, b/188606490)
- חשפנו את getResolutionInfo API כדי לספק את פרטי הרזולוציה של Preview, ImageCapture ו-ImageAnalysis. (I2b613, b/188600718)
- ממשקי ה-API הניסיוניים הבאים שודרגו לממשקי API רשמיים: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). (I2ade2)
- חשיפת הממשק CameraProvider כדי לספק גישה לקבוצת מצלמות. (I1a7b1)
- קידום ה-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) - ממשקי ה-API של
ExperimentalCameraFilterיצאו משלב הניסוי והפכו לממשקי 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) - תוקנה בעיה שבה צילום תמונה עם פלאש במצב מופעל או אוטומטי ב-Samsung Galaxy S7 הפיק תמונות דהויות. (I30001)
- הוספנו את CameraState API שייחשף דרך CameraInfo. (I75392)
גרסה 1.1.0-alpha03
24 במרץ 2021
androidx.camera:camera-camera2:1.1.0-alpha03, androidx.camera:camera-core:1.1.0-alpha03 ו-androidx.camera:camera-lifecycle:1.1.0-alpha03 שוחררו. גרסה 1.1.0-alpha03 מכילה את השמירות האלה.
תיקוני באגים
- פלט בפורמט JPEG עבור
ImageCapture#OnImageCapturedCallbackכשמצב "תוספים" מופעל. (I0d7b1) - תוקן כשל באתחול במכשירי UMIDIGI BISON (I57d9e, b/180818665)
- תוקנה התצוגה המקדימה המתוחה ב-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 תומך בתצוגה מקדימה, בImageCapture ובניתוח
- 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 כוללת את השינויים האלה.
תיקוני באגים
- תוקנה בעיה שבה צילום תמונה עם פלאש במצב מופעל או אוטומטי ב-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 כדי לאפשר פעולה הדדית עם ממשקי API של Camera2 באופן דינמי. (I45cf3)
- שינינו את השם של Camera2CameraInfo#fromCameraInfo ל-#from. (Ia2bd6)
- הוספנו ל-CameraXConfig ממשק API ניסיוני בשם setAvailableCamerasLimiter, שמאפשר לאפליקציות לבצע אופטימיזציה של זמן האחזור של האתחול על ידי הימנעות מאתחול של מצלמות שלא בשימוש. (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)
- ההטמעה של המחלקה הבסיסית (base class)
OnImageCapturedCallback#onCaptureSuccessלא סוגרת יותר את התמונה. כדי למנוע התנהגות לא צפויה למפתחים. המפתחים לא צריכים להסתמך על super.onCaptureSuccess כדי לסגור את התמונה. (Ifbf9c) - הווריאציה androidx של ההערה Experimental הוצאה משימוש כדי לספק שוויון עם Kotlin. היא הוחלפה באנוטציה RequiresOptIn, וה-linter שפונה ל-Java עודכן כדי לתמוך גם באנוטציה החדשה של Kotlin וגם בווריאנט החדש של androidx. (I52495, b/151331381)
Camera-Camera2 גרסה 1.0.0-beta11
14 באוקטובר 2020
androidx.camera:camera-camera2:1.0.0-beta11 מופץ. גרסה 1.0.0-beta11 כוללת את השינויים האלה.
תכונות חדשות
- תמיכה ב-API של Android 11
CONTROL_ZOOM_RATIOלזום במכשירי Android 11 ואילך שמכיליםCONTROL_ZOOM_RATIO_RANGEתקין. (I62cc6)
תיקוני באגים
- תוקנה הבעיה NumberFormatException שקרתה כשמזהה המצלמה לא היה מספר שלם. (Ib2228)
- שיפור זמן האחזור של האתחול של CameraX ו-bindToLifecycle (I61dc5)
- כדי ליצור UseCases, לא צריך להשלים את ההפעלה של CameraX. כל ההגדרות הספציפיות להטמעה נקבעות ב-UseCase אחרי שהוא מצורף למכונה של Camera, שב-API הציבורי היא
ProcessCameraProvider.bindToLifecycle(). (Ia5411) - הפונקציה
<UseCase>.getTargetRotation()תחזיר את הערךSurface.ROTATION_0אם היא נקראת לפני שהיא מצורפת למכונה של מצלמה, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)
Camera-Core גרסה 1.0.0-beta11
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, שב-API הציבורי היא
ProcessCameraProvider.bindToLifecycle(). (Ia5411) - הפונקציה
<UseCase>.getTargetRotation()תחזיר את הערךSurface.ROTATION_0אם היא נקראת לפני שהיא מצורפת למכונה של מצלמה, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)
גרסה 1.0.0-beta10 של Camera-Core
23 בספטמבר 2020
androidx.camera:camera-core:1.0.0-beta10 מופץ. גרסה 1.0.0-beta10 מכילה את השינויים האלה.
תיקוני באגים
- תיקון באג באימות של יעד שמירת הקובץ לצילום תמונות (I8c565, b/167697553)
Camera-Camera2 גרסה 1.0.0-beta10
23 בספטמבר 2020
androidx.camera:camera-camera2:1.0.0-beta10 מופץ. גרסה 1.0.0-beta10 מכילה את השינויים האלה.
תיקוני באגים
- גרסה לתמיכה ב-Camera-Core 1.0.0-beta10
Camera-Camera2 גרסה 1.0.0-beta09
16 בספטמבר 2020
androidx.camera:camera-camera2:1.0.0-beta09 מופץ. גרסה 1.0.0-beta09 מכילה את השינויים האלה.
שינויים ב-API
- במקום לספק שיטות סטטיות, Camera2CameraInfo מקבל מופע של CameraInfo כשהוא נוצר כדי לאחזר מידע שקשור ל-Camera2. (I5b844)
תיקוני באגים
- תוקנה בעיה ביחס הגובה-רוחב של היעד בטאבלטים. צריך לבחור גודל של 16:9 כשיחס הגובה-רוחב של היעד מוגדר כ-
AspectRatio.RATIO_16_9. (Ib7fcf, b/151969438) - צריך להפעיל
InitializationExceptionכדי שהאפליקציה תוכל לטפל בצורה חלקה ב-AssertionError שקרה בזמן יצירת CameraCharacteristics. (I89c8c, b/160524721) - נוספו ממשקים ניסיוניים ל-ExposureCompensation (If96c7)
גרסה 1.0.0-beta09 של Camera-Core
16 בספטמבר 2020
androidx.camera:camera-core:1.0.0-beta09 מופץ. גרסה 1.0.0-beta09 מכילה את השינויים האלה.
שינויים ב-API
- תוקן הבאג שבו אזור התצוגה מסומן כ-non-null ב-UseCaseGroup. מפתחים צריכים להיות מסוגלים ליצור אזור תצוגה בלי להגדיר אותו. (Ie3d2e)
- נוספו ממשקים ניסיוניים ל-
ExposureCompensation(If96c7) - אפשר להגדיר סיבוב שרירותי של היעד בתצוגה המקדימה. פרטי הטרנספורמציה מחושבים ומוחזרים למשתמש בזמן אמת באמצעות קריאה חוזרת (callback) חדשה של
TranformationInfoListener. (I21470)
תיקוני באגים
- תוקנה הבעיה שבה הפלאש במכשירים מסוימים לא נכבה. זה קורה כשמצב הפלאש מוגדר ל-
FLASH_MODE_ONכדי לצלם תמונה, ומשתנה ל-FLASH_MODE_OFFכשהפלאש מופעל. התופעה דומה למצב שבו הפנס מופעל. (Ib4451, b/162568128) - אילצנו את PreviewView להשתמש ב-TextureView אם אפקט התוסף מופעל וההטמעה של ספריית הספק צריכה לבצע תהליך מיוחד במשטח הפלט. (I0c3cc)
- תוקנה דליפת הפעילות/הקטע כשמעבירים הקשר של פעילות/קטע אל
ProcessCameraProvider.getInstance(Context).
בעיות מוכרות
- כאשר ViewPort מוגדר, מלבן החיתוך של ImageCapture עשוי להיות שגוי במכשירים שמסובבים את מאגר התמונות ב-HAL. נפתור את הבעיה הזו במהדורה הבאה.
Camera-Camera2 גרסה 1.0.0-beta08
19 באוגוסט 2020
androidx.camera:camera-camera2:1.0.0-beta08 מופץ. גרסה 1.0.0-beta08 כוללת את השינויים האלה.
תיקוני באגים
- אופטימיזציה של bindToLifecycle כדי לפעול במהירות בשרשור הראשי. (I1d57e)
- DisplayOrientedMeteringPointFactory מקבל מופע של CameraInfo במקום CameraSelector, כך שיש מיפוי ישיר למצלמה שהמפעל ייצור עבורה נקודות. כל הכיתות שמשתמשות ב-DisplayOrientedMeteringPointFactory מקבלות גם מופע של CameraInfo במקום CameraSelector. (I400c1)
- תוקנה בעיה בקיבוץ הגדלים של יחס הגובה-רוחב ברזולוציה האוטומטית, שבה נבחר גודל mod16 של 16:9 (864x480) כשהגדרת רזולוציית היעד היא 2016x1080 ויש גודל נוסף של 1920x1080 ביחס 16:9 שנתמך. (I53167, b/159363774)
- תיקון הבעיה ב-CameraControl שבה הוא לא יכול לפעול בגלל מרוץ תהליכים (I2279f, b/152333890, b/160714166)
גרסה 1.0.0-beta08 של Camera-Core
19 באוגוסט 2020
androidx.camera:camera-core:1.0.0-beta08 מופץ. גרסה 1.0.0-beta08 כוללת את השינויים האלה.
שינויים ב-API
- הפונקציה
DisplayOrientedMeteringPointFactoryמקבלת מופע שלCameraInfoבמקוםCameraSelector, כך שיש מיפוי ישיר למצלמה שעבורה המפעל ייצור נקודות. כל המחלקות שמשתמשות ב-DisplayOrientedMeteringPointFactoryמקבלות גם מופע שלCameraInfoבמקוםCameraSelector. (I400c1)
תיקוני באגים
- בצילום תמונות, החלפת הדגל של ההיפוך האופקי במטא-נתונים על סמך כיוון המצלמה. (I28499)
- האתחול לא אמור לקרוס יותר כשמשתמשים בהקשר שלא מחזיר אובייקט של אפליקציה מ-
Context.getApplicationContext(). (I3d3c9, b/160817073)
Camera-Camera2 גרסה 1.0.0-beta07
22 ביולי 2020
androidx.camera:camera-camera2:1.0.0-beta07 מופץ. גרסה 1.0.0-beta07 מכילה את השינויים האלה.
תיקוני באגים
- תוקנה הבעיה שבה התצוגה המקדימה נמתחת במכשיר Android 5.0 מדור קודם. (I0c03a)
- הוצאנו מהרשימה כמה גדלים נתמכים של JPEG שגורמים לבעיה ב-WYSIWYG במכשירים מסוימים. (Ib5128)
גרסה 1.0.0-beta07 של 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)
Camera-Camera2 גרסה 1.0.0-beta06
24 ביוני 2020
androidx.camera:camera-camera2:1.0.0-beta06 מופץ. גרסה 1.0.0-beta06 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו ממשקים ניסיוניים לסינון מצלמות לפי מזהה מצלמה ומאפייני מצלמה. (I28f61)
תיקוני באגים
- תוקנה הבעיה שבה startFocusAndMetering לא מצליח להתמקד ב-Samsung Galaxy S7. (If3be7, b/159039233)
- תיקון: אי אפשר לסגור את המצלמה אחרי שיוצאים מהאפליקציה. (I7a7b3)
- תיקון: מעבר חוזר בין מצלמות משבש את התצוגה המקדימה כשמשתמשים בהטמעה של SurfaceView ב-PreviewView (I920ce)
- הפונקציה
CameraControl#startFocusAndMeteringתיכשל אם אף אחד מהאובייקטים מסוג MeteringPoint שצוינו לא יכול ליצור מלבני מדידה תקינים. (Id53ce)
גרסה 1.0.0-beta06 של Camera-Core
24 ביוני 2020
androidx.camera:camera-core:1.0.0-beta06 מופץ. גרסה 1.0.0-beta06 מכילה את השינויים האלה.
שינויים ב-API
- הוספנו ממשקים ניסיוניים לסינון מצלמות לפי מזהה מצלמה ו-CameraCharacteristics. (I28f61)
תיקוני באגים
- עכשיו אפשר להגדיר את CameraX באמצעות
ProcessCameraProvider#configureInstance()לפני שקוראים ל-ProcessCameraProvider#getInstance(). כך אפשר להתאים אישית אתCameraXConfigבלי להטמיע אתCameraXConfig.Providerבמחלקת האפליקציה. (Ia1a8d) - הפונקציה
CameraControl#startFocusAndMeteringתיכשל אם אף אחד מהאובייקטים מסוג MeteringPoint שצוינו לא יכול ליצור מלבני מדידה תקינים. (Id53ce)
Camera-Camera2 גרסה 1.0.0-beta05
10 ביוני 2020
androidx.camera:camera-camera2:1.0.0-beta05 מופץ. גרסה 1.0.0-beta05 מכילה את השינויים האלה.
תיקוני באגים
- תיקון הקריסה בהפעלת האפליקציה כשמפעילים את CameraX כשהטלפון במצב "נא לא להפריע".
InitializationExceptionמכילCameraUnavailableExceptionשיוגדר ל-ListenableFutureשל תוצאת האתחול במקום לקרוס את האפליקציה. (I9909a, b/149413835) - תוקנה הקריסה שמתרחשת כשמתקשרים אל
startFocusAndMeteringבמכשירים שבהםCONTROL_AF_STATEהוא 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)
תיקוני באגים
- עדכון של javadocs של
setTargetResolutionו-setTargetRotation. (Iae16f)
Camera-Camera2 גרסה 1.0.0-beta04
27 במאי 2020
androidx.camera:camera-camera2:1.0.0-beta04 מופץ. גרסה 1.0.0-beta04 מכילה את השמירות האלה.
תיקוני באגים
- אפליקציות מורשות יכולות להגדיר כל פרמטר של בקשת צילום ב-camera2 דרך
Camera2Interopבלי לגרום לקריסה. חשוב לזכור: אם יש בעיות שנובעות משינוי פרמטרים, לא מובטח שהמצלמה תפעל בצורה יציבה ותקינה אם משתמשים ב-Camera2Interop כדי לשנות את הפרמטרים. (Ibe5a1, b/149103700) - ההפעלה האוטומטית תוקנה כשמשתמשים באפליקציה במכשיר שמשתמש בלוקאל מדומה. (I3bef3, b/154767663)
- יומן השגיאות שקשור לתרחיש השימוש המנותק הומר ליומן ניפוי באגים ב-Camera2CameraImpl. (I1a565, b/154422490)
- תוקנה בעיה שבה התמונה שצולמה כהה מדי לפעמים, למרות שהופעל פלאש. (I5d9fa, b/149729613)
- תוקן באג שבו המאגר ב-
ImageProxyמ-ImageCaptureלא הוחזר אחורה (I0c455, b/153249512) - תוקנו הבעיות שבהן קישור ImageCapture בלבד: (1) נכשל בצילום תמונות עם MAX_QUALITY; (2) יצר איכות תמונה גרועה כי החשיפה האוטומטית לא עובדת. (I17782, b/145326998)
- שיפור האמינות של פתיחת המצלמה מחדש כש-CameraX מנותק על ידי תהליך אחר או נתיב קוד שמשתלט על המצלמה (I1fbc3, b/153714651)
גרסה 1.0.0-beta04 של Camera-Core
27 במאי 2020
androidx.camera:camera-core:1.0.0-beta04 מופץ. גרסה 1.0.0-beta04 מכילה את השמירות האלה.
שינויים ב-API
- נוסף API ניסיוני,
CameraXConfig.Builder#setSchedulerHandler(), להגדרת ה-handler שמשמש באופן פנימי את מחסנית המצלמה של CameraX. ה-API החדש הזה, יחד עםCameraXConfig.Builder#setCameraExecutor(), אמור לאפשר שליטה מלאה בשרשורים שבהם משתמשת קבוצת המצלמות של CameraX. (I7bf32, b/121160431)
תיקוני באגים
- תיקון קריסה ב-
ImageAnalysisשבה מתבצעת גישה אלImageProxyאחרי ש-ImageReaderProxyנסגר. בנוסף, כלImageProxyשמתקבל על ידיAnalyzerחייב להיסגר לפני ש-ImageReaderProxyייסגר. (I4b299, b/145956416, b/154155377, b/156357269) - הפרמטר
CameraInfoהוסר מ-PreviewView#createSurfaceProvider(), ועכשיוPreviewViewמאחזר אותו באופן פנימי מ-SurfaceRequest. (If18f0, b/154652477) - ההפעלה האוטומטית תוקנה כשמשתמשים באפליקציה במכשיר שמשתמש בלוקאל מדומה. (I3bef3, b/154767663)
- תוקנה בעיה שבה התמונה שצולמה כהה מדי לפעמים, למרות שהופעל פלאש. (I5d9fa, b/149729613)
- תוקנה בעיה ב-
ImageAnalysisשבה כמה קריאות ל-setAnalyzer/clearAnalyzer גרמו לכך שהמנתח לא קיבל תמונות לניתוח. (I6169f, b/151605317, b/153514544) - תוקן באג שבו המאגר ב-
ImageProxyמ-ImageCaptureלא הוחזר אחורה (I0c455, b/153249512) - תוקנה הבעיה שבה המצלמה הראשונה ברשימת המצלמות הנתמכות של
CameraManagerלא תמיד נבחרת לשימוש. (I4c624, b/153418028) - תוקנה קריסה לסירוגין שנגרמה בגלל שההגדרה
Preview.SurfaceProviderלא שחררה את המשטח שהתבקש קודם לכן.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”(I8e4e7, b/155936225)
Camera-Camera2 גרסה 1.0.0-beta03
15 באפריל 2020
androidx.camera:camera-camera2:1.0.0-beta03 מופץ. גרסה 1.0.0-beta03 מכילה את השינויים האלה.
תיקוני באגים
- תיקונים לתמיכה בהשקה של
camera-core
גרסה 1.0.0-beta03 של Camera-Core
15 באפריל 2020
androidx.camera:camera-core:1.0.0-beta03 מופץ. גרסה 1.0.0-beta03 מכילה את השינויים האלה.
תיקוני באגים
- תוקנה רגרסיה מ-beta03 שבה קריאה ל-
bindToLifecycle()עם אפסUseCaseגרמה להקפצת חריגה. זה מנע אחזור שלCameraבלי לקשרUseCase.
Camera-Camera2 גרסה 1.0.0-beta02
1 באפריל 2020
androidx.camera:camera-camera2:1.0.0-beta02 מופץ. גרסה 1.0.0-beta02 מכילה את השינויים האלה.
תיקוני באגים
- תוקן ה-
ImageInfo.getRotationDegrees()מה-ImageProxyשנוצר על ידיImageCaptureכך שיתאים לערך הסיבוב של כיוון ה-EXIF. thought (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. thought (Id4281, b/150802561) - תוקן
bindToLifecycleכך שהוא משנה את UseCase רק אם הוא נקשר בהצלחה. בעבר, כשבוצעה קריאה ל-bindToLifecycleכדי לבצע חישובי רזולוציה, ה-UseCase עודכן. עכשיו כבר לא צריך לעדכן את UseCase כדי לבצע את החישובים (I78d9e) - תוקנה בעיה שבה סשן הצילום של תרחיש השימוש
Previewלא עודכן כשמשטח התצוגה המקדימה השתנה אחרי קריאה ל-Preview.setSurfaceProvider()יותר מפעם אחת.
Camera-Camera2 גרסה 1.0.0-beta01
26 בפברואר 2020
androidx.camera:camera-camera2:1.0.0-beta01 מופץ. גרסה 1.0.0-beta01 מכילה את השינויים האלה.
תיקוני באגים
- השם של
SurfaceRequest.setSurface(Surface)שונה ל-SurfaceRequest.provideSurface(Surface), והשם שלSurfaceRequest.setWillNotComplete()שונה ל-SurfaceRequest.willNotProvideSurface(). (I224fe) - תוקנה בעיה ביחס הגובה-רוחב של תמונה שנשמרה, שלא היה נכון אחרי שינוי ערך סיבוב היעד באמצעות
ImageCapture.setTargetRotation(). (I474ea, b/148763432) - תוקנה בעיה באתחול של גרסאות שונות של אפליקציות כש-ProGuard מופעל, על ידי שמירת הדגל שמגדיר את ספק ברירת המחדל של
CameraXConfig. (I2d6c1)
גרסה 1.0.0-beta01 של Camera-Core
26 בפברואר 2020
androidx.camera:camera-core:1.0.0-beta01 מופץ. גרסה 1.0.0-beta01 מכילה את השינויים האלה.
שינויים ב-API
- החלפנו את
ListenableFutureב-SurfaceRequest.provideSurface()ב-Executorוב-Callback. כך ה-API פשוט יותר, כי לא צריך יותר לטפל בחריגים ב-provideSurface(), ואי אפשר לבטל את הקריאה החוזרת (callback) שלprovideSurface(). כך אפשר למנוע קריסות במכשירים ישנים יותר שנגרמות בגלל שחרור מוקדם מדי של משטחים. האובייקטSurfaceRequest.Resultמשמש עכשיו למעקב אחרי האופן שבוSurfaceRequestמשתמש ב-Surfaceשסופק. (I7854b) - השם של
SurfaceRequest.setSurface(Surface)שונה ל-SurfaceRequest.provideSurface(Surface)והשם שלSurfaceRequest.setWillNotComplete()שונה ל-SurfaceRequest.willNotProvideSurface(). (I224fe)
תיקוני באגים
- תוקנה בעיה ביחס הגובה-רוחב של תמונה שנשמרה, שלא היה נכון אחרי שינוי ערך סיבוב היעד באמצעות
ImageCapture.setTargetRotation(). (I474ea, b/148763432) - תוקנה בעיה באתחול של גרסאות שונות של אפליקציות כש-ProGuard מופעל, על ידי שמירת הדגל שמגדיר את ספק ברירת המחדל של
CameraXConfig. (I2d6c1) - עדכון התיעוד של ממשקי ה-API של מצב הפלאש כך שיכלול ערכים אפשריים. (I4a3ec)
Camera-Camera2 גרסה 1.0.0-alpha10
10 בפברואר 2020
androidx.camera:camera-camera2:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 כוללת את השינויים האלה.
תיקוני באגים
- שיפור היציבות במכשירי
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACYעל ידי הבטחה ש-Surfaceיישמרו רק למשך השימוש ב-Camera2. (I9dac2) - תוקנה בעיה של תצוגה מקדימה בחשיפת חסר במכשירים מדור קודם על ידי התאמה נכונה של
CONTROL_AE_TARGET_FPS_RANGE. (1224638)
Camera-Core גרסה 1.0.0-alpha10
10 בפברואר 2020
androidx.camera:camera-core:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 כוללת את השינויים האלה.
שינויים ב-API
- האפליקציה
ImageCaptureעודכנה כדי לאפשר שמירת תמונות ב-Uriוב-OutputStream. שילוב של שיטותtakePictureעמוסות מדי לשיטה אחת. אפליקציית הבדיקה עודכנה כך שתשתמש ב-Uriכדוגמה הקנונית. (Ia3bec) - השם של
Preview.PreviewSurfaceProviderהשתנה לשםPreview.SurfaceProvider. ב-SurfaceProvider, המפתחים כבר לא צריכים ליצורListenableFutureמשלהם, והוספתSurfaceמתבצעת עכשיו באמצעות אובייקטSurfaceRequestחדש. ה-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) - השדות
OPTION_TARGET_CLASSו-OPTION_TARGET_NAMEשל ה-API הוסרו מ-CameraXConfigכי הם מיועדים לשימוש פנימי בספרייה בלבד. הוסר ה-constructor שלCameraXConfig.Builder. (I96912) - הוסרה הדרישה שהאפליקציה תרחיב את
Applicationכדי לאתחל את CameraX. עכשיו CameraX יופעל עם הגדרת ברירת המחדל של Camera2, כל עוד פריט המידע שנוצר בתהליך הפיתוח (artifact) שלcamera-camera2נכלל ב-build.gradleשל האפליקציה. (I58ff5) (b/146923574)
Camera-Camera2 גרסה 1.0.0-alpha09
22 בינואר 2020
androidx.camera:camera-camera2:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השמירות האלה.
שינויים ב-API
הוספת נתיב פעולה הדדית של camera2 לחילוץ מזהה מצלמה של Camera2. אפשר לחלץ את מזהה המצלמה מ-
CameraInfoבאמצעותCamera2CameraInfo.extractCameraId(). בדוגמת הקוד הבאה אפשר לראות איך להשתמש בזה:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());הכיתה
Camera2CameraInfoדורשת את markerClassExperimentalCamera2Interop.
גרסה 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()מוחלפות על ידי ה-constructorsFocusMeteringAction.Builder(). - הסרת את
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float). באפליקציות צריך להשתמש ב-constructor שמקבל פרמטרDisplayולהעביר את התצוגה הנוכחית. - שיפורים ב-Javadoc לממשקי API של מיקוד ומדידה בנוגע ל-
MeteringModeולדגלי 3A, ושימוש בפרמטרDisplay. - הרחבנו את מאמרי העזרה של
setZoomRatioו-setLinearZoom.
תיקוני באגים
- תוקנו בעיות שקשורות לסגירה ואז לפתיחה של מצלמות, שגרמו לכשל בבדיקת "תנאי מוקדם".
- תוקנה
ConcurrentModificationExceptionשיכולה להתרחש כשמשתמשים בממשקי API של פנס וזום. - תוקנה בעיה שבה נבחרו רזולוציות קרובות יותר לרזולוציה המבוקשת כשגודל המאפיינים של mod16 זמין.
- ממשקי ה-API של
startFocusMeteringו-cancelFocusMeteringפועלים עכשיו כמו שמתואר במסמכים, עם תזמון נכון, ויכול להיות שהם יחזירו שגיאות כשהן יתרחשו. - תוקנה בעיה שבה התבקשה רזולוציית יעד ספציפית עם יחס גובה-רוחב של חיתוך במכשיר שלא תומך בגדלים כאלה. עכשיו, אם יש תמונה בגודל לא חתוך וברזולוציה מספיקה כדי לתחום את הבקשה המקורית, היא תיבחר.
Camera-Camera2 גרסה 1.0.0-alpha08
18 בדצמבר 2019
androidx.camera:camera-camera2:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
בעיות מוכרות
- לא כל האפשרויות של בקשות הצילום ב-Camera2 פועלות כשמשתמשים ביכולת הפעולה ההדדית של Camera2. אם האפשרות המבוקשת לא נתמכת, הסשן לא יתחיל ויכול להיות שתופיע שגיאה כזו:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
תיקוני באגים
- תוקנה בעיה שבה הופיע מסך שחור בתצוגה המקדימה אחרי סיבוב או החלפה של המצלמה ברמות API 21 ו-22.
שינויים ב-API
- ניסיוני: הוספנו נתיב של יכולת פעולה הדדית של camera2 כדי לחלץ את מזהה המצלמה.
גרסה 1.0.0-alpha08 של Camera-Core
18 בדצמבר 2019
androidx.camera:camera-core:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
בעיות מוכרות
- באפליקציות שמשתמשות ב-
PreviewViewאו ב-CameraView, יכול להיות שיחס הגובה-רוחב בתצוגה המקדימה יהיה שגוי. זה קורה אחרי השהיה או המשך במכשירים מסוימים עם יכולות FULL, כמו Pixel 2.
תיקוני באגים
- עדכנו את המסמכים של
FocusMeteringActionו-CameraControl. - הטמעתי את
TorchControlב-enableTorch()וב-getTorchState().
שינויים ב-API
- הסתרת IntDefs והעברת קבועי IntDef אל מחוץ להגדרת IntDef.
- העברת
rotationDegreesמהכיתהOnImageCaptureCallbackאלImageInfo. - העברת
rotationDegreesמהכיתהAnalyzerאלImageInfo.
גרסה 1.0.0-alpha07 של Camera-Camera2
4 בדצמבר 2019
androidx.camera:camera-camera2:1.0.0-alpha07 מופץ. גרסה 1.0.0-alpha07 של camera-camera2 מכילה את השינויים האלה
- עכשיו אפשר להשתמש ב-
Camera2Configכדי להפעיל ולהגדיר הטמעה של CameraX שמבוססת על Camera2. פרטים נוספים על השימוש בזה באתחול זמינים בקטע camera-core בהערות המוצר. - הפונקציונליות של יכולת הפעולה ההדדית של camera2 מסומנת עכשיו כניסיונית והועברה לחבילה נפרדת,
androidx.camera.camera2.interop.
גרסה 1.0.0-alpha07 של Camera-Core
4 בדצמבר 2019
androidx.camera:camera-core:1.0.0-alpha07 מופץ. גרסה 1.0.0-alpha07 של camera-core מכילה את השינויים האלה
שימו לב שיש כמה שינויים משמעותיים בגרסת האלפא הזו, כחלק מההכנות שלנו לקראת גרסת הבטא. מומלץ לבדוק את השינויים ולשתף משוב בקבוצת Google של CameraX. למפתחים שמשתמשים ב-CameraX באפליקציות שנמצאות בחנות Play, אנחנו ממליצים להמתין לגרסת הבטא הרשמית לפני שמשדרגים את הספרייה באפליקציות.
שינויים ב-API
חשוב: תהליך ההפעלה של CameraX השתנה. האפליקציות צריכות להטמיע את
CameraXConfig.Providerולהשתמש בברירת המחדל שלCamera2Configשסופקה על ידיandroidx.camera.camera2. דוגמה לשימוש נפוץ:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }המחלקה CameraX הוסרה. האפשרויות
bindToLifecycle(),unbind(),unbindAll(),isBound()ו-hasCamera()שסופקו בעבר על ידי הקריאה למחלקה CameraX זמינות עכשיו דרךProcessCameraProvider.מופע של
ProcessCameraProviderלכל תהליך מתקבל באופן אסינכרוני באמצעות השיטה הסטטיתProcessCameraProvider.getInstance(), שמחזירה listenable future, שמספק אתProcessCameraProviderבסיום. כאן הוא מוצג ב-onCreate()לשימוש אופייני. אפשר להפעיל קריאות ל-getInstance()בשלב מאוחר יותר במחזור החיים של הפעילות כדי לדחות את זמן האחזור של האתחול למועד מאוחר יותר (למשל, כשפעולת משתמש פותחת את ממשק המשתמש של המצלמה).import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }אפשר להוסיף מאזין ל-
ListenableFutureשמוחזר על ידיgetInstance(). כך אפשר לאחזר את ספק המצלמה מ-Futureבלי לחסום אתFuture.get()cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))עכשיו בוחרים מצלמה באמצעות בורר מצלמות, במקום לפי תרחיש שימוש
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()CameraProvider.bindToLifecycleמקבל את בעלי מחזור החיים, את בורר המצלמה ואת תרחישי השימוש, שמשויכים לאחר מכן לבעלי מחזור החיים הנתון ומופעלים במצלמה שנבחרה.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)הסרנו את המחלקות של תרחיש השימוש Config. במקום זאת, צריך ליצור תרחישים לדוגמה באופן ישיר, ולהגדיר אפשרויות בכל כלי ליצירת תרחישים לדוגמה. לדוגמה:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()התרחיש לדוגמה של התצוגה המקדימה עודכן כך שיקבל משטח שנוצר ומנוהל על ידי האפליקציה, כדי להבטיח שימוש בשיטות המומלצות של Android. מומלץ מאוד להשתמש במחלקת התצוגה
PreviewViewשכלולה בחבילה camera-view.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)במסמכי התיעוד מוסבר איך לצרף משטח שמנוהל על ידי אפליקציה. במקרים כאלה, האפליקציה מנהלת את מחזור החיים של המשטח.
חשוב: ההטמעה של השיטה
ImageAnalysisAnalyzer חייבת להפעיל אתimage.close()בתמונות שהתקבלו בסיום השימוש בהן. אחרת, יכול להיות שלא יתקבלו תמונות חדשות או שהמצלמה תיתקע, בהתאם להגדרת הלחץ הנגדי. פרטים נוספים זמינים במסמכי העזרה.ImageAnalysis ImageReaderModeהשתנה לשיטת Backpressureintdef.
ImageProxy.getImage()מסומן כניסיוני. האפליקציות צריכות להוסיף הערות לגבי השימוש, למשל באמצעות@androidx.camera.core.ExperimentalGetImageהדרישה להערה
UIThreadעבורAnalyzerהוסרה.הפונקציה
ImageAnalysis.clearAnalyzer()נוספה כדי להסיר מנתח.השם של מאזינים עם יותר משיטה אחת שונה ל-Callback:
-
ImageCapture.OnImageCapturedListenerנקרא עכשיוImageCapture.OnImageCapturedCallback -
ImageCapture.OnImageSavedListenerנקרא עכשיוImageCapture.OnImageSavedCallback -
VideoCapture.OnVideoSavedListenerנקרא עכשיוVideoCapture.OnVideoSavedCallback
-
הערכים של Enums השתנו ל-IntDef
נוספו פקדי זום:
CameraControl.setLinearZoom()CameraControl.setZoomRatio()CameraInfo.getLinearZoom()CameraInfo.getMaxZoomRatio()CameraInfo.getZoomRatio()
הוספנו את
CameraInfo.hasFlashUnit()כדי לקבוע אם יש חומרה של פלאש/פנס.CameraInfo.isFlashAvailable()הוסר. הפנס מבטל את פונקציית הפלאש. פרטים נוספים מופיעים במאמרי העזרה.ImageCapture.Metadataשדות הוחלפו ב-accessors מסוג get/set/is.הפונקציות
startFocusMeteringו-cancelFocusMeteringמחזירות עכשיו אתListenableFutures, שמייצג את הפעולה האסינכרונית של הקריאה.MeteringPointsפועלים עכשיו כנקודות אחיזה לפעולות מדידה, והם מיוצרים על ידי מפעלים. באפליקציות צריך להשתמש ב-factories הקיימים ולא ב-factories בהתאמה אישית.
בעיות שנפתרו
- תוקנה בעיה שבה צילום תמונה בזמן המשך (אחרי השהיה קודמת שבה היו תמונות בהמתנה להשלמה).
- בעיה ידועה:
CameraControl.enableTorch()פועל, אבל הערך שלListenableFuture<Void>שמוחזר הוא תמידcomplete(success)מיידי בעתיד, גם אם אין מבזק. בגרסאות עתידיות נתקן את זה להתנהגות הסופית: כשאין יחידת פלאש,enableTorch(true)נכשל מיד (לא ישלח בקשה אלCaptureSession), ו-TorchStateנשאר כבוי. - בעיה ידועה:
startFocusAndMeteringו-cancelFocusAndMeteringמתחילים ומבטלים את מדידת המיקוד, אבל מחזירים מידcompleted (success)עתידי שלא מייצג את ההתנהגות המתועדת. השדהFocusMeteringResultמ-ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()הוא תוצאה מזויפת שisFocusSuccessful()והוא תמיד "FALSE", בניגוד להתנהגות המתועדת והמיועדת. - בעיה ידועה: אנחנו מפתחים מפעל לנקודות מדידה לשימוש עם אירועי מגע ב-
PreviewView. בינתיים, אפליקציות שמחברות משטחים מנוהלים בהתאמה אישית יכולות להשתמש במפעלים הקיימים של נקודות המדידה, ואחרת אין פונקציונליות של מיקוד בנגיעה זמינה עבורPreviewView.
Camera-Camera2 ו-Camera-Core גרסה 1.0.0-alpha06
9 באוקטובר 2019
androidx.camera:camera-camera2:1.0.0-alpha06 ו-androidx.camera:camera-core:1.0.0-alpha06 מופצים. אלה ה-commits שנכללים ב-camera-camera2:1.0.0-alpha06 ואלה ה-commits שנכללים ב-camera-core:1.0.0-alpha06.
תכונות חדשות
שינויים בהגדרת יחסי הגובה-רוחב:
setTargetAspectRatioMode()נוסף ומקבל ארגומנט enum. ההגדרה הזו קובעת את מצב יחס הגובה-רוחב עם האפשרויותRATIO_4_3אוRATIO_16_9במקום יחס גובה-רוחב שרירותי. ההגדרה הזו משקפת בצורה מדויקת יותר את העובדה שהמצלמה מספקת רק יחסי גובה-רוחב מסוימים, ולא יחס שרירותי כלשהו.- כרגע, יחסי הגובה-רוחב היחידים שזמינים הם 16:9 ו-4:3. במקרה של 1:1, רק במכשירים מסוימים אפשר להשתמש ביחס הזה במצלמה, וגם אז רק ברזולוציות מוגבלות. באפליקציות שבהן הממשק או העיבוד מתוכננים ליחס גובה-רוחב של 1:1, צריך להשתמש באפשרויות הגמישות יותר של 16:9 או 4:3 ולחתוך את התצוגה או לעבד אזור משנה.
- יחסי הגובה-רוחב האלה מותאמים לשימוש בשטח המקסימלי של החיישן.
- הוספנו את
getTargetAspectRatio()לממשקי ה-API של הגדרות תרחישי השימוש, והוא מחזיר את יחס הגובה-רוחב שאליו מיועד הפלט של תרחיש השימוש. - השיטה
setTargetAspectRatio(Rational aspectRatio)השתנתה ל-setTargetAspectRatioCustom(Rational aspectRatio)ב-ImageCapture. כשההגדרה הזו מופעלת, הפלט של ImageCapture נחתך בהתאם.
ממשקי API של 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(). אם קוראים לשניהם באותו בונה, מוחזרת שגיאה.- באופן כללי, מומלץ להשתמש ב-
setTargetAspectRatio()בהתאם לעיצוב של ממשק המשתמש באפליקציה. הפתרונות הספציפיים מבוססים על תרחיש השימוש. לדוגמה, התצוגה המקדימה קרובה לרזולוציות המסך, וצילום התמונות מספק תמונות סטילס ברזולוציה גבוהה. מידע נוסף זמין בטבלה של פתרונות אוטומטיים. - אפשר להשתמש ב-
setTargetResolution()במקרים ספציפיים יותר, למשל כשנדרשת רזולוציה מינימלית (כדי לחסוך במשאבי מחשוב) או מקסימלית (לעיבוד פרטים).
- באופן כללי, מומלץ להשתמש ב-
- Executor API: הוסרה הקריאה ל-
setCallbackHandler()מממשקי ה-API להגדרת תרחישי שימוש. במקום זאת, אפליקציות יכולות להגדיר את ה-executor כפרמטר בממשקי API אחרים שמגדירים קריאה חוזרת (callback). - הערות 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 מופצים. אלה ה-commits שנכללים ב-camera-camera2:1.0.0-alpha05 ואלה ה-commits שנכללים ב-camera-core:1.0.0-alpha05.
שינוי ב-API: שינוי השם של משתני השגיאה בתרחישי השימוש:
- השם של
ImageCapture.UseCaseErrorהשתנה לשםImageCapture.ImageCaptureError - השם של
VideoCapture.UseCaseErrorהשתנה לשםVideoCapture.VideoCaptureError
- השם של
נוסף ממשק API של
CameraControlעם ממשקי API של "לחיצה למיקוד"נוסף API לקבלת
CameraControlמ-CameraX למצלמה, שנבחרה לפי כיוון העדשה:CameraX.getCameraControl(LensFacing lensFacing)הוספנו את
MeteringPointFactory,MeteringPoint,MeteringModeו-FocusMeteringActionכדי להפעיל את התכונה "התמקדות בנגיעה":MeteringPointFactory factory = new SensorOrientedMeteringPointFactory(width, height); MeteringPoint point = factory.createPoint(x, y); FocusMeteringAction action = FocusMeteringAction.Builder.from(point, MeteringMode.AF_ONLY) .addPoint(point2, MeteringMode.AE_ONLY) // could have many .setAutoFocusCallback(new OnAutoFocusListener(){ public void onFocusCompleted(boolean isSuccess) { } }) // auto calling cancelFocusAndMetering in 5 sec. .setAutoCancelDuration(5, TimeUnit.Second) .build();נוסף API ל-
CameraControlכדי להתחיל ולבטל את מדידת המיקוד:getCameraControl(lensFacing).startFocusAndMetering(action);getCameraControl(lensFacing).cancelFocusAndMetering();הוספנו ממשקי API ל-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()
עכשיו אפשר להזין פרמטרים מסוג 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 מתפשרת על הרזולוציה או על יחסי הגובה-רוחב בהתאם ליכולות של המכשיר, כדי להתחיל סשן צילום כמטרה ראשונה, ולכן יכול להיות שהבקשות המדויקות לא יכובדו. הסיבה לכך יכולה להיות:
- מכשירים שלא תומכים ברזולוציה המבוקשת
- בעיות תאימות, כמו במכשירים מדור קודם שבהם צריך להשתמש ברזולוציות מסוימות כדי לפעול בצורה תקינה
- במכשירים מסוימים, פורמטים מסוימים זמינים רק ביחסי גובה-רוחב מסוימים
- העדפה ל-"nearest mod16" לקידוד JPEG או וידאו. למידע נוסף, אפשר לעיין במאמר
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP.
למרות ש-CameraX יוצרת ומנהלת את הסשן, תמיד צריך לבדוק את גודלי התמונות שמוחזרים בפלט של תרחיש השימוש בקוד, ולשנות אותם בהתאם.
ביצענו כמה שינויים בהגדרת הרזולוציות ויחסי הגובה-רוחב, במטרה להפוך את ה-API לברור יותר:
- מעכשיו, אם לא מוגדר יחס גובה-רוחב, ברירת המחדל של תרחיש השימוש בתצוגה המקדימה היא 4:3.
- כש-CameraX שוקלת באופן פנימי שינויים ברזולוציות וביחסי הגובה-רוחב המבוקשים על סמך יכולת המכשיר, היא מנסה קודם לשמור על אותו יחס גובה-רוחב (כפי שנקבע על ידי קריאות של
setTargetAspectRatioאוsetTargetResolution) - גרסת "Nearest mod16" של הרזולוציה נחשבת לאותו יחס גובה-רוחב.
מצב ImageAnalysis ללא חסימה
- ההתנהגות של
ImageReaderMode.ACQUIRE_LATEST_IMAGEלא חוסמת עכשיו. הוא מקבל את התמונה האחרונה בתור, אבל נפטר מתמונות שלא נעשה בהן שימוש באופן רציף כדי למנוע חסימה של צינור עיבוד הנתונים של המצלמה. - המנתח יכול להחזיק תמונה אחת ללא הגבלת זמן בלי לעכב את הצינור.
- אם האפליקציה מספקת מבצע (executor) שחוסם, תרחיש השימוש של ImageAnalysis חוסם.
- מבצע המשימות שמוגדר כברירת מחדל באופן פנימי פועל כמבצע משימות שלא חוסם.
תיקוני באגים
- תוקנו בעיות של זמן קצוב לתפוגה בהמתנה להתכנסות 3A בזמן צילום תמונות במכשירים ללא מיקוד אוטומטי, חשיפה אוטומטית ואיזון לבן אוטומטי
- תוקנה בעיה שקרתה כשצילמו תמונות במהירות באמצעות ImageCapture. תיקון השגיאה:
java.lang.IllegalStateException: maxImages (2) has already been acquired - תוקנה בעיה שבה לא בוצעה קריאה ל-
setLensFacingבתרחיש לדוגמה, וכתוצאה מכך התקבלה השגיאהjava.lang.IllegalArgumentException: Unable to get camera ID for use case. - תוקנה בעיה שבה מכשיר מדור קודם דרש יחס גובה-רוחב ספציפי כרזולוציית JPEG מקסימלית
- תוקנה בעיה שקרתה כשהאפליקציה הועברה לרקע בזמן שהמצלמה נפתחה
- תוקנה בעיה ב-API < 25, הסרת השגיאה
checkAndUpdateEglState: invalid current EGLDisplay - תוקנה בעיה שבה התצוגה המקדימה לא בוטלה אחרי הפעלה של תוספים
- רכיבי build של camera-view ו-camera-extensions מתפרסמים עכשיו כגרסאות אלפא
Camera-Camera2 ו-Camera-Core גרסה 1.0.0-alpha03
2 ביולי 2019
androidx.camera:camera-core:1.0.0-alpha03 ו-androidx.camera:camera-camera2:1.0.0-alpha03 מופצים. גרסה 1.0.0-alpha03 מכילה את השמירות האלה.
שינויים ב-API
- הוספנו הבהרה ב-javadoc לגבי target בקריאות להגדרות אישיות של setTarget
Camera-Core
- תוקנה קריסה של משטח קלט/פלט שלא הוגדר בפתיחה/סגירה מהירה או בקישור/ביטול קישור
- מעבר להטמעות חדשות של Futures
- תיקוני בדיקות לבדיקות חזקות יותר
- בבדיקת השילוב של Core מוצג עכשיו זמן הצילום של התמונות
- פיתוח מחלקת תאימות פנימית ל-Executors
- בדיקת תזמון: האפליקציה לוכדת תמונות וממתינה להשלמת התמונה הקודמת, ושיפור היציבות
תוספים
- נוספו בדיקות של ניהול גרסאות
- כיסוי בדיקה נוסף – קריאות חוזרות (callbacks) של אירועי תוספים
- שיפורים בתמונה ובמטא-נתונים שתואמים באופן פנימי
- תיקונים למעבר בין מצבים באפליקציית הבדיקה
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אם היא נקראת לפני שהיא מצורפת למכונה של מצלמה, אלא אם הוגדר 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)
גרסה 1.0.0-beta04 של Camera-Lifecycle
27 במאי 2020
androidx.camera:camera-lifecycle:1.0.0-beta04 מופץ. גרסה 1.0.0-beta04 מכילה את השמירות האלה.
גרסה 1.0.0-beta03 של Camera-Lifecycle
15 באפריל 2020
androidx.camera:camera-lifecycle:1.0.0-beta03 מופץ. גרסה 1.0.0-beta03 מכילה את השינויים האלה.
תיקוני באגים
- תוקנה רגרסיה מ-beta03 שבה קריאה ל-
bindToLifecycle()עם אפסUseCaseגרמה להקפצת חריגה. זה מנע אחזור שלCameraבלי לקשרUseCase. - תיקונים לתמיכה בהשקה של
camera-core
גרסה 1.0.0-beta01 של Camera-Lifecycle
26 בפברואר 2020
androidx.camera:camera-lifecycle:1.0.0-beta01 מופץ. גרסה 1.0.0-beta01 מכילה את השינויים האלה.
תיקוני באגים
- תיקון התיעוד כדי לציין שכאשר מקבלים
ProcessCameraProviderבמהלך האתחול, נעשה שימוש בהגדרת ברירת מחדל, ושהרחבתApplicationהיא אופציונלית. (I5e395)
גרסה 1.0.0-beta02 של 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.
גרסה 1.0.0-alpha10 של Camera-Lifecycle
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
- נוסף פריט המידע camera-lifecycle, שמספק את הממשק
LifeCycleCameraProviderוהטמעה שנקראתProcessCameraProvider. ההטמעה הזו מספקת הרבה מהפונקציות של המחלקה הקודמת של CameraX בליבה, ומתקבלת באמצעות השיטהgetInstance(). - כדי להשתמש ב-CameraX, האפליקציות צריכות לכלול את הספרייה camera-lifecycle.
- בקטע camera-core מוסבר איך לבצע אתחול של CameraX באמצעות
ProcessCameraProvider.
גרסה 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) של camera-extensions. (If683a, b/161377155)
תיקוני באגים
- לא לאפשר לאפליקציה להפעיל מצבי תוספים בזמן הקישור של
VideoCapture. תוספי CameraX תומכים רק ב-ImageCaptureוב-Preview. עדיין אין תמיכה בVideoCapture. אם האפליקציה מקשרת אתVideoCaptureומפעילה מצב תוסף כלשהו, תתקבל הודעתIllegalArgumentException. (I0d87b) - הפונקציה
CameraSelector#filterלא מחזירה יותר שגיאתIllegalArgumentExceptionכשקבוצת התוצאות ריקה. (I27804) - שינינו את השם של ה-API
ExtensionsManager#getInstanceל-getInstanceAsyncכי הוא מחזירListenableFuture. הסיומת Async של שם הפונקציה יכולה להציג בבירור שמדובר בפונקציה אסינכרונית. (I279d2) - צריך להסיר את פרמטר הרזולוציה מה-API של
ExtensionsManager#getEstimatedCaptureLatencyRangeכי המשתמשים לא יכולים לדעת אילו גדלים נתמכים בתרחיש לדוגמה שלImageCapture, ולא יכולים להבחין אם מידע זמן האחזור שהוחזר הוא לגודל הפלט המקסימלי של הצילום או לפרמטר של רזולוציית הקלט. (I74bb2) - מעבירים את הפרמטר
CameraProviderשל הפונקציותExtensionsManagerל-API שלgetInstance(). כדי שהמשתמשים לא יצטרכו להזין את הפרמטרCameraProviderבכל פעם שהם קוראים לפונקציות שלExtensionsManager. (Ic7e48)
גרסה 1.0.0-alpha31
17 בנובמבר 2021
androidx.camera:camera-extensions:1.0.0-alpha31 ו-androidx.camera:camera-view:1.0.0-alpha31 מופצים. גרסה 1.0.0-alpha31 מכילה את השינויים האלה.
שינויים ב-API
- הוספנו את CameraSelector#filter ל-API הציבורי כדי לסנן רשימה של CameraInfos על סמך CameraSelector. (I105d0)
תיקוני באגים
- תוקנה קריסה שקרתה כשעברו במהירות בין מצבי תוספים במכשירים מסוימים. (Iebbef)
גרסה 1.0.0-alpha30
13 באוקטובר 2021
androidx.camera:camera-extensions:1.0.0-alpha30 ו-androidx.camera:camera-view:1.0.0-alpha30 מופצים. גרסה 1.0.0-alpha30 כוללת את השינויים האלה.
שינויים ב-API
- הוספנו את ההערה @RequiresApi(21) לכל המחלקות של CameraX והסרנו את minSdkVersion מ-AndroidManifest.xml. כך אפשר לשלב בקלות את camera-core באפליקציות עם minSdkVersion נמוך מ-21, אבל רוצים להשתמש באופן מותנה בנתיבי קוד שמסתמכים על API 21 ואילך. אם minSdkVersion של האפליקציה הוא 21 ומעלה, לא צריך לעשות שום דבר. (Ie7f2e, b/200599470)
תיקוני באגים
- תוקנה הבעיה AbstractMethodError שמתרחשת כש-proguard מופעל. (Iae468, b/201177844)
גרסה 1.0.0-alpha29
29 בספטמבר 2021
androidx.camera:camera-extensions:1.0.0-alpha29 ו-androidx.camera:camera-view:1.0.0-alpha29 מופצים. גרסה 1.0.0-alpha29 מכילה את השינויים האלה.
שינויים ב-API
- ההערה ExperimentalUseCaseGroup הוסרה כי ממשקי ה-API כבר לא ניסיוניים. (I01ef5)
- הסרה של
RotationProvider#removeAllListeners(). במקומה יש להשתמש במדיניותRotationProvider#removeListener(...). (Id9d4a) - עדכנו את המחלקה RotationReceiver: שינינו את set/clear Listener ל-add/remove/removeAll, הסרנו את הווריאציה של setListener שמשתמשת בשרשור הראשי כברירת מחדל והוספנו הערות לשיטות. (Ib1669)
תיקוני באגים
- שינינו את השם של ExtensionMode#BEAUTY ל-FACE_RETOUCH כדי להציג בצורה נכונה את הפעולה של מצב התוסף. (I61f54, b/198515274)
- תוקנה הבעיה שבה המצלמה נסגרת באופן בלתי צפוי כשמשתמשים בכמה CameraController ו-PreviewView בפעילות אחת. (Ibfd18, b/197539358)
גרסה 1.0.0-alpha28
18 באוגוסט 2021
androidx.camera:camera-extensions:1.0.0-alpha28 ו-androidx.camera:camera-view:1.0.0-alpha28 מופצים. גרסה 1.0.0-alpha28 מכילה את השינויים האלה.
שינויים ב-API
- ההערה ExperimentalUseCaseGroupLifecycle הוסרה כי ממשקי ה-API כבר לא ניסיוניים. (I17b85)
- בוצע refactoring של RotationListener והשם שלו שונה ל-RotationProvider. הוא ממשיך לספק את אותה תכונה עם API שונה במקצת. (Idffc5)
- לשנות את השם של TAP_TO_FOCUS_UNSUCCESSFUL ל-TAP_TO_FOCUS_NOT_FOCUSED ואת השם של TAP_TO_FOCUS_SUCCESSFUL ל-TAP_TO_FOCUS_FOCUSED. הגדרת OutputSize כ-final (I099fa)
תיקוני באגים
- הוסרו מחלקות
<EffectName><UseCase>Extenderשהוצאו משימוש, ExtensionsErrorListener וממשקי API קשורים של ExtensionsManager. (I3b8c3)
גרסה 1.0.0-alpha27
21 ביולי 2021
androidx.camera:camera-extensions:1.0.0-alpha27 ו-androidx.camera:camera-view:1.0.0-alpha27 מופצים. גרסה 1.0.0-alpha27 מכילה את השמירות האלה.
שינויים ב-API
- העברנו את viewport API מסטטוס ניסיוני לסטטוס רגיל. מסירים את ההערה הניסיונית של ה-API. (I717ea)
- שינוי השם של
CoordinateTransform#getTransformל-CoordinateTransform#transformועדכון JavaDoc (I864ae)
תיקוני באגים
- תוקנה בעיה שגרמה למתיחה של מצב
PreviewView PERFORMANCEכשמשתמשים בו יחד עם ממשק המשתמש של Compose. (Ie1137, b/183864890)
גרסה 1.0.0-alpha26
30 ביוני 2021
androidx.camera:camera-extensions:1.0.0-alpha26 ו-androidx.camera:camera-view:1.0.0-alpha26 מופצים. גרסה 1.0.0-alpha26 מכילה את השינויים האלה.
שינויים ב-API
- להוסיף שיטה חדשה
CameraController#getTapToFocusState()שחושפת את התוצאה האחרונה של לחיצה למיקוד. (Iaccb0) - הוספת עוד תכונות ליבה של המצלמה ל-CameraController: פונקציות getter/setter ליחס גובה-רוחב של היעד, רזולוציית היעד, מצב הצילום, CameraControl ו-executors בהתאמה אישית. (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)
גרסה 1.0.0-alpha23 של Camera Extensions ו-View
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 לא תגרום יותר לפתרון התלות של gradle לשדרג באופן אוטומטי את camera-core, camera-camera2 ו-camera-lifecycle לקובצי ה-artifact העדכניים בגרסה 1.1.0, למרות ש-camera-view עדיין תואם לקובצי ה-artifact האלה אם הם מוגדרים באופן מפורש לשימוש בגרסה 1.1.0. (Ic8fa1, b/181599852)
- תוקנה התצוגה המקדימה המתוחה ב-PreviewView ב-Samsung A3. (Iacb30, b/180121821)
- תוקנה הבעיה שבה לא ניתן להגדיר את בורר המצלמה לפני שהמצלמה מופעלת. (Ic8bd0)
תוספים ותצוגה של המצלמה בגרסה 1.0.0-alpha22
24 בפברואר 2021
androidx.camera:camera-extensions:1.0.0-alpha22 ו-androidx.camera:camera-view:1.0.0-alpha22 מופצים. גרסה 1.0.0-alpha22 מכילה את השמירות האלה.
שינויים ב-API
- הוספת פונקציית getter של CameraInfo ל-CameraController. (Ib8138, b/178251727)
תיקוני באגים
- תוקן ExtensionsErrorListener כדי לדווח על שגיאות כש-Preview או ImageCapture בלבד מקושרים. (I5ae39)
Camera Extensions & View גרסה 1.0.0-alpha21
27 בינואר 2021
androidx.camera:camera-extensions:1.0.0-alpha21 ו-androidx.camera:camera-view:1.0.0-alpha21 מופצים. גרסה 1.0.0-alpha21 מכילה את השמירות האלה.
גרסה חדשה לתמיכה ברכיבים אחרים של ספריית המצלמה.
גרסה 1.0.0-alpha20 של Camera Extensions ו-View
16 בדצמבר 2020
androidx.camera:camera-extensions:1.0.0-alpha20 ו-androidx.camera:camera-view:1.0.0-alpha20 מופצים. גרסה 1.0.0-alpha20 מכילה את השינויים האלה.
גרסה חדשה לתמיכה ברכיבים אחרים של ספריית המצלמה.
Camera-Extensions ו-Camera-View בגרסה 1.0.0-alpha19
11 בנובמבר 2020
androidx.camera:camera-extensions:1.0.0-alpha19 ו-androidx.camera:camera-view:1.0.0-alpha19 מופצים. גרסה 1.0.0-alpha19 מכילה את השינויים האלה.
תיקוני באגים
- ההערה
@ExperimentalVideoנוספה לשידור מהמצלמה. ההערה הזו מסמנת ממשקי API שחושפים פונקציונליות ניסיונית של סרטונים, שעשויה להשתנות כשהתכונות יפותחו באופן מלא. כל שיטה שמשתמשת בממשקי ה-API האלה צריכה להשתמש בהערה@UseExperimentalעםExperimentalVideoבתורmarkerClass. (I6d729)
Camera-Extensions גרסה 1.0.0-alpha18
14 באוקטובר 2020
androidx.camera:camera-extensions:1.0.0-alpha18 מופץ. גרסה 1.0.0-alpha18 מכילה את השינויים האלה.
תיקוני באגים
- שיפור זמן האחזור של האתחול של CameraX ו-bindToLifecycle (I61dc5)
- הפונקציה
<UseCase>.getTargetRotation()תחזיר את הערךSurface.ROTATION_0אם היא נקראת לפני שהיא מצורפת למכונה של מצלמה, אלא אם הוגדר targetRotation ב-Builder או ב-UseCase. (I80fcd)
Camera-View גרסה 1.0.0-alpha18
14 באוקטובר 2020
androidx.camera:camera-view:1.0.0-alpha18 מופץ. גרסה 1.0.0-alpha18 מכילה את השינויים האלה.
גרסה חדשה לתמיכה ברכיבים אחרים של ספריית המצלמה.
Camera-Extensions גרסה 1.0.0-alpha17
23 בספטמבר 2020
androidx.camera:camera-extensions:1.0.0-alpha17 מופץ. גרסה 1.0.0-alpha17 מכילה את השמירות האלה.
תיקוני באגים
- גרסה לתמיכה ב-Camera-Core 1.0.0-beta10
Camera-View גרסה 1.0.0-alpha17
23 בספטמבר 2020
androidx.camera:camera-view:1.0.0-alpha17 מופץ. גרסה 1.0.0-alpha17 מכילה את השינויים האלה.
תיקוני באגים
- גרסה לתמיכה ב-Camera-Core 1.0.0-beta10
Camera-Extensions גרסה 1.0.0-alpha16
16 בספטמבר 2020
androidx.camera:camera-extensions:1.0.0-alpha16 מופץ. גרסה 1.0.0-alpha16 מכילה את השינויים האלה.
תיקוני באגים
- נוספה שיטה ב-
ExtensionsManagerכדי לקבל אובייקטExtensionsשמשמש להפעלה ולשליחת שאילתות לגבי תוספים במופעים של מצלמה (I4fb7e)
Camera-View גרסה 1.0.0-alpha16
16 בספטמבר 2020
androidx.camera:camera-view:1.0.0-alpha16 מופץ. גרסה 1.0.0-alpha16 מכילה את השינויים האלה.
שינויים ב-API
- הוסרו
PreviewView#setDeviceRotationForRemoteDisplayMode()ו-PreviewView#getDeviceRotationForRemoteDisplayMode(). שתי השיטות מיועדות להתאמה אישית של סיבוב התצוגה המקדימה, כשהסיבוב הרצוי הוא לא סיבוב התצוגה, למשל תצוגה מרחוק. כדי לטפל בסיבוב של התצוגה המקדימה שלא מוצגת, מגדירים את הסיבוב הרצוי באמצעותPreview#setTargetRotation()ו-PreviewView#getViewPort(targetRotation)שנוסף לאחרונה. (Ib62cc) - השם של
createSurfaceProvider()שונה ל-getSurfaceProvider(). השיטה תמיד תחזיר את אותו מופע של Preview.SurfaceProvider. (Iff83c)
תיקוני באגים
- אילצנו את PreviewView להשתמש ב-TextureView אם אפקט התוסף מופעל וההטמעה של ספריית הספק צריכה לבצע תהליך מיוחד במשטח הפלט. (I0c3cc)
- אפשר להגדיר סיבוב שרירותי של היעד בתצוגה המקדימה. פרטי הטרנספורמציה מחושבים ומוחזרים למשתמש בזמן אמת באמצעות קריאה חוזרת (callback) חדשה של
TranformationInfoListener. (I21470)
בעיות מוכרות
- ב-PreviewView, הפונקציה
OnClickListener#onClick()לא מופעלת כשמשתמש הקצה לוחץ על PreviewView. אירוע המגע נצרך בטעות על ידי PreviewView#onTouchEvent(). הבעיה תיפתר בגרסה הבאה. - יכול להיות שה-MeteringPoint שהתקבל מ-
PreviewView#getMeteringPointFactory()שגוי אם משתמשים ב-ViewPort עם PreviewView.
Camera-Extensions גרסה 1.0.0-alpha15
19 באוגוסט 2020
androidx.camera:camera-extensions:1.0.0-alpha15 מופץ. גרסה 1.0.0-alpha15 מכילה את השינויים האלה.
תיקוני באגים
- ה-method
ExtensionsManager.init()מקבל עכשיו Context כפרמטר במקום 0 ארגומנטים. (Ife754) ההפעלה לא אמורה לקרוס יותר כשמשתמשים ב-Context שלא מחזיר אובייקט של אפליקציה מ-
Context.getApplicationContext(). (I3d3c9, b/160817073)Camera-View גרסה 1.0.0-alpha15
19 באוגוסט 2020
androidx.camera:camera-view:1.0.0-alpha15 מופץ. גרסה 1.0.0-alpha15 מכילה את השינויים האלה.
תיקוני באגים
- הפונקציה
DisplayOrientedMeteringPointFactoryמקבלת מופע שלCameraInfoבמקוםCameraSelector, כך שיש מיפוי ישיר למצלמה שעבורה המפעל ייצור נקודות. כל המחלקות שמשתמשות ב-DisplayOrientedMeteringPointFactoryמקבלות גם מופע שלCameraInfoבמקוםCameraSelector. (I400c1) - בוצעה הסרה של
TextureViewMeteringPointFactory. PreviewViewמספק API ציבורי (createMeteringPointFactory()) כדי ליצור מפעל לנקודות מדידה, בלי קשר לשימוש ב-TextureViewאו ב-SurfaceView. (Ide693) - שינוי השם של מצבי ההטמעה
SURFACE_VIEW/TEXTURE_VIEWשל PreviewView ל-PERFORMANCE/COMPATIBLE.PERFORMANCEהוא המצב הישןSURFACE_VIEW, ו-COMPATIBLEהוא המצב הישןTEXTURE_VIEW. (I0edc2) - בצילום תמונות, החלפת הדגל של ההיפוך האופקי במטא-נתונים על סמך כיוון המצלמה. (I28499)
Camera-Extensions גרסה 1.0.0-alpha14
22 ביולי 2020
androidx.camera:camera-extensions:1.0.0-alpha14 מופץ. גרסה 1.0.0-alpha14 מכילה את השינויים האלה.
Camera-View גרסה 1.0.0-alpha14
22 ביולי 2020
androidx.camera:camera-view:1.0.0-alpha14 מופץ. גרסה 1.0.0-alpha14 מכילה את השינויים האלה.
Camera-Extensions גרסה 1.0.0-alpha13
24 ביוני 2020
androidx.camera:camera-extensions:1.0.0-alpha13 מופץ. גרסה 1.0.0-alpha13 מכילה את השינויים האלה.
תיקוני באגים
- הוספנו ממשקים ניסיוניים לסינון מצלמות לפי מזהה מצלמה ו-CameraCharacteristics. (I28f61)
גרסה 1.0.0-alpha13 של Camera-View
24 ביוני 2020
androidx.camera:camera-view:1.0.0-alpha13 מופץ. גרסה 1.0.0-alpha13 מכילה את השינויים האלה.
תיקוני באגים
- CameraView לא קורס יותר עם IllegalArgumentException כשמקשרים אותו ל-LifecycleOwner שה-Lifecycle שלו עובר למצב DESTROYED זמן קצר אחרי הקישור. אם מחזורי החיים של הקישור נמצאים במצב DESTROYED, לא יהיה ניסיון לפתוח את המצלמה. (I7c2b8)
- PreviewView StreamState זמין עכשיו דרך CameraView.getPreviewStreamState() (I21a2b)
Camera-Extensions גרסה 1.0.0-alpha12
10 ביוני 2020
androidx.camera:camera-extensions:1.0.0-alpha12 מופץ. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.
תיקוני באגים
- תיקון הקריסה בהפעלת האפליקציה כשמפעילים את CameraX כשהטלפון במצב "נא לא להפריע". אם
InitializationExceptionמכילCameraUnavailableException, הוא יוגדר ל-ListenableFutureשל תוצאת האיניציאליזציה במקום לגרום לקריסת האפליקציה. (I9909a, b/149413835)
Camera-View גרסה 1.0.0-alpha12
10 ביוני 2020
androidx.camera:camera-view:1.0.0-alpha12 מופץ. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.
תיקוני באגים
- הוספת ממשק API של
PreviewView#getBitmap()שמחזיר ייצוג של מפת סיביות (bitmap) של התוכן שמוצג במשטח התצוגה המקדימה. (I9b500, b/157659818)
Camera-Extensions גרסה 1.0.0-alpha11
27 במאי 2020
androidx.camera:camera-extensions:1.0.0-alpha11 מופץ. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.
Camera-View גרסה 1.0.0-alpha12
10 ביוני 2020
androidx.camera:camera-view:1.0.0-alpha12 מופץ. גרסה 1.0.0-alpha12 מכילה את השמירות האלה.
תכונות חדשות
שינויים ב-API
תיקוני באגים
- הוספת ממשק API של
PreviewView#getBitmap()שמחזיר ייצוג של מפת סיביות (bitmap) של התוכן שמוצג במשטח התצוגה המקדימה. (I9b500, b/157659818)
גרסה 1.0.0-alpha11 של Camera-View
27 במאי 2020
androidx.camera:camera-view:1.0.0-alpha11 מופץ. גרסה 1.0.0-alpha11 מכילה את השמירות האלה.
שינויים ב-API
- הוספת ה-API
PreviewView#getPreviewStreamStateשמאפשר לאפליקציות לבדוק אם התצוגה המקדימה מועברת בסטרימינג או לא. כשה-PreviewView נמצא במצב TEXTURE_VIEW, המצב STREAMING גם מבטיח שתמונת התצוגה המקדימה תהיה גלויה. (Ic0906, b/154652477) - נוסף API של
PreviewView#setDeviceRotationForRemoteDisplayMode()כדי לספק סיבוב מכשיר לחישובי טרנספורמציה אם האפליקציה פועלת במצב תצוגה מרחוק. (I59b95, b/153514525)
תיקוני באגים
- תוקנה בעיית העיוות בתצוגה המקדימה במצלמות
FULL/LIMITED/LEVEL_3שפועלות עם Android בגרסה 7.0 ומטה. שימוש מאולץ במצבImplementationMode#TEXTURE_VIEWכשגרסת Android היא 7.0 או גרסה ישנה יותר. (I83e30, b/155085307) - הפרמטר
CameraInfoהוסר מ-PreviewView#createSurfaceProvider(), ועכשיוPreviewViewמאחזר אותו באופן פנימי מ-SurfaceRequest. (If18f0, b/154652477) - תוקן יחס הגובה-רוחב שמוגדר כברירת מחדל ב-VideoCapture ל-16:9 ב-CameraView. (Ie6a7b, b/153237864)
- תוקנו בעיות במסך השחור של
PreviewViewכשמחליקים החוצה את החלק שלPreviewואז מחליקים חזרה ב-ViewPager2. בנוסף, פתרנו את הבעיה שבהremoveView(previewview)ואזaddView(previewView). (Iab555, b/149877652, b/147354615) - צריך לעדכן את ה-API של
CameraView#takePicture()כדי לאפשר שמירת תמונות ב-Uriוב-OutputStream. מעדכנים את אפליקציית הבדיקה כך שתשתמש ב-Uriכדוגמה הקנונית. (Ia2459, b/153607583) - אפשר להגדיר את סוג קנה המידה של PreviewView מפריסת XML על ידי הגדרת המאפיין
ScaleType. (I08565, b/153015659) CameraView.ScaleTypeהוסר. במקום זאת, צריך להשתמש ב-PreviewView.ScaleTypeכדי להגדיר או לקבל סוג קנה מידה באמצעות CameraView. (Ia8974, b/153014831)- אם אין צבע רקע ל-
PreviewView, צריך לתת לו צבע רקע כברירת מחדל. כך התוכן שמאחורי התמונה לא יוצג לפני שהשידור של התצוגה המקדימה יתחיל. (I09fad)
Camera-Extensions גרסה 1.0.0-alpha10
15 באפריל 2020
androidx.camera:camera-extensions:1.0.0-alpha10 מופץ. גרסה 1.0.0-alpha10 מכילה את השינויים האלה.
תיקוני באגים
- תיקונים לתמיכה בהשקה של Camera-Core
גרסה 1.0.0-alpha10 של Camera-View
15 באפריל 2020
androidx.camera:camera-view:1.0.0-alpha010 מופץ. גרסה 1.0.0-alpha010 מכילה את השינויים האלה.
תיקוני באגים
- הגרסה הזו מתקנת בעיה ידועה קודמת שבה ההטמעה של surfaceView ב-
PreviewViewלא פעלה כמו שצריך במכשירים מסוימים, וגרמה לאפליקציה לקרוס אחרי המשך התצוגה המקדימה. (I5ed6b)
Camera-Extensions גרסה 1.0.0-alpha09
1 באפריל 2020
androidx.camera:camera-extensions:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השינויים האלה.
תיקוני באגים
- עודכן כדי לתמוך בתיקוני הבאגים בפריטי המידע שנוצרו בתהליך הפיתוח (artifacts) של
camera-camera2:1.0.0-beta02,camera-core:1.0.0-beta02ו-camera-lifecycle:1.0.0-beta02
Camera-View גרסה 1.0.0-alpha09
1 באפריל 2020
androidx.camera:camera-view:1.0.0-alpha09 מופץ. גרסה 1.0.0-alpha09 מכילה את השינויים האלה.
בעיות מוכרות
- יכול להיות שהשימוש ב-
ImplementationMode.SURFACE_VIEWעםPreviewViewלא יפעל כמו שצריך במכשירים מסוימים, כי ה-SurfaceViewשמשמש לתצוגה מקדימה מבטל את תוקף המשטח שלו כשמחזור החיים של החלון שבו הוא נמצא נעצר. כשהוא מופעל מחדש, המצלמה נפתחת שוב ויכול להיות שהיא תנסה להמשיך את התצוגה המקדימה לפני שהמשטח של ה-SurfaceViewיהיה תקין שוב. בינתיים, כדאי להשתמש ב-ImplementationMode.TEXTURE_VIEW.
שינויים ב-API
- השם של
PreviewView.setImplementationMode()שונה ל-PreviewView.setPreferredImplementationMode(). - השם של
PreviewView.getImplementationMode()שונה ל-PreviewView.getPreferredImplementationMode(). - החלפנו את
PreviewView.getSurfaceProvider()ב-PreviewView.createSurfaceProvider(CameraInfo), שמקבל מופעCameraInfoשניתן לאפס, שמשמש לאופטימיזציה של התצוגה המקדימה באמצעותImplementationMode.SURFACE_VIEWבכל פעם שאפשר. אם מועבר מופע null, או אם מגדירים את מצב ההטמעה המועדף ל-ImplementationMode.TEXTURE_VIEW, המערכת משתמשת ב-ImplementationMode.TEXTURE_VIEWבאופן פנימי. דוגמת הקוד הבאה מראה איך השתמשו בעבר בתרחיש לדוגמה של תצוגה מקדימה עם PreviewView.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)כרגע, אתם יכולים לכתוב את הדברים הבאים:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))ההערה
@UiThreadנוספה אלPreviewView.getSurfaceProvider(), כלומר צריך לקרוא לה מה-thread הראשי. (I192f3)נוסף
PreviewView.setScaleType()שמאפשר להגדיר את סוג קנה המידה של התצוגה המקדימה. אפשר להזין בו אחד מהערכים ב-PreviewView.ScaleType, וברירת המחדל היאPreviewView.ScaleType.FILL_CENTER.PreviewView.getScaleType()נוסף.הוסרה התמיכה בהגדרת מצב ההטמעה של
PreviewViewבפריסת XML באמצעות המאפייןimplementationMode.הוספת API של
createMeteringPointFactory()ל-PreviewView כדי לתמוך בהמרה של (x, y) ב-PreviewViewל-MeteringPoint. (Ib36d7)
תיקוני באגים
- תוקנו מקרים שבהם מוצגת תצוגה מקדימה שגויה אחרי שינוי הגודל של
PreviewView. (I71101)
Camera-Extensions גרסה 1.0.0-alpha08
26 בפברואר 2020
androidx.camera:camera-extensions:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השמירות האלה.
Camera-View גרסה 1.0.0-alpha08
26 בפברואר 2020
androidx.camera:camera-view:1.0.0-alpha08 מופץ. גרסה 1.0.0-alpha08 מכילה את השינויים האלה.
תיקוני באגים
- החלפנו את
ListenableFutureב-SurfaceRequest.provideSurface()ב-Executorוב-Callback. כך ה-API פשוט יותר, כי לא צריך יותר לטפל בחריגים ב-provideSurface(), ואי אפשר לבטל את הקריאה החוזרת (callback) שלprovideSurface(). כך אפשר למנוע קריסות במכשירים ישנים יותר שנגרמות בגלל שחרור מוקדם מדי של משטחים. האובייקטSurfaceRequest.Resultמשמש עכשיו למעקב אחרי האופן שבוSurfaceRequestמשתמש ב-Surfaceשסופק. (I7854b) - השם של
SurfaceRequest.setSurface(Surface)שונה ל-SurfaceRequest.provideSurface(Surface)והשם שלSurfaceRequest.setWillNotComplete()שונה ל-SurfaceRequest.willNotProvideSurface(). (I224fe) - תוקנה בעיה באתחול של גרסאות שונות של אפליקציות כש-ProGuard מופעל, על ידי שמירת הדגל שמגדיר את ספק ברירת המחדל של
CameraXConfig. (I2d6c1)
Camera-Extensions גרסה 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
- ההטמעה של
TextureViewב-PreviewViewמגדירה עכשיו את הגודל של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)
Camera-Extensions גרסה 1.0.0-alpha06
22 בינואר 2020
androidx.camera:camera-extensions:1.0.0-alpha06 מופץ. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
עדכונים
- תיקונים ועדכונים שונים לתמיכה בשינויים ב-Camera Core וב-Camera2.
Camera-View גרסה 1.0.0-alpha06
22 בינואר 2020
androidx.camera:camera-view:1.0.0-alpha06 מופץ. גרסה 1.0.0-alpha06 מכילה את השמירות האלה.
עדכונים
- תיקונים ועדכונים שונים לתמיכה בשינויים ב-Camera Core וב-Camera2.
Camera-Extensions גרסה 1.0.0-alpha05
18 בדצמבר 2019
androidx.camera:camera-extensions:1.0.0-alpha05 מופץ. גרסה 1.0.0-alpha05 מכילה את השינויים האלה.
תיקוני באגים
- עודכן כדי להתאים לממשקי ה-API הפנימיים של Camera Core.
Camera-View גרסה 1.0.0-alpha05
18 בדצמבר 2019
androidx.camera:camera-view:1.0.0-alpha05 מופץ. גרסה 1.0.0-alpha05 מכילה את השינויים האלה.
בעיות מוכרות
- יחס הגובה-רוחב עשוי להיות שגוי כשמשתמשים ב-PreviewView (b/146215202).
תכונות חדשות
- הטמענו מחלקה חדשה בשם
PreviewView.TextureViewImplementationשמסנכרנת את מחזור החיים של SurfaceTexture עם השימוש של המצלמה במשטח של TextureView.
Camera-Extensions גרסה 1.0.0-alpha04
4 בדצמבר 2019
androidx.camera:camera-extensions:1.0.0-alpha04 מופץ. גרסה 1.0.0-alpha04 של camera-extensions מכילה את השינויים האלה
שינויים ב-API
עכשיו, כדי לבדוק אם תוסף זמין ומופעל, צריך להזין
CameraSelectorכפרמטר קלט. הוא צריך להיות זהה ל-CameraSelectorשמשמש לקישור תרחיש השימוש.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() )
Camera-View גרסה 1.0.0-alpha04
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)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 מופצים. אלה ה-commits שנכללים ב-camera-extensions:1.0.0-alpha03 ואלה ה-commits שנכללים ב-camera-view:1.0.0-alpha03.
תכונות חדשות
- נוסף מאתחל הקשר לתוספים. גרסת התוספים עודכנה ל-1.1.0
גרסה 1.0.0-alpha02 של Camera-Extensions ו-Camera-View
5 בספטמבר 2019
androidx.camera:camera-extensions:1.0.0-alpha02 ו-androidx.camera:camera-view:1.0.0-alpha02 מופצים. כאן אפשר לראות את השינויים שכלולים ב-camera-extensions:1.0.0-alpha02, וכאן אפשר לראות את השינויים שכלולים ב-camera-view:1.0.0-alpha02.
- הוספנו בדיקות כדי לוודא שחותמות הזמן הוטמעו בצורה נכונה ב-
PreviewImageProcessorImpl. - מתקנים שגיאת בדיקה אחת (
ExtensionTest) ב-Nexus 5 (רמת API 21) ומוודאים שהתצוגה המקדימה זמינה.
Camera-Extensions ו-Camera-View גרסה 1.0.0-alpha01
7 באוגוסט 2019
androidx.camera:camera-extensions:1.0.0-alpha01 ו-androidx.camera:camera-view:1.0.0-alpha01 מופצים.
אלה ה-commits שנכללים ב-camera-extensions:1.0.0-alpha01 ואלה ה-commits שנכללים ב-camera-view:1.0.0-alpha01.
- ספרייה חדשה לתוספי מצלמה עתידיים, שמאפשרת גישה לאפקטים במכשירים נתמכים. הספרייה הזו נמצאת בשלבי פיתוח.
- מחלקה חדשה של Camera View. הספרייה הזו נמצאת בשלבי פיתוח.