كاميراX
يعرض هذا الجدول جميع العناصر في مجموعة androidx.camera
.
العناصر | الإصدار المستقر | إصدار مرشح | الإصدار التجريبي | إصدار ألفا |
---|---|---|---|---|
كاميرا-كاميرا2 | 1.3.4 | - | الإصدار 1.4.0 -beta02 | - |
نواة الكاميرا | 1.3.4 | - | الإصدار 1.4.0 -beta02 | - |
التأثيرات في الكاميرا | - | - | الإصدار 1.4.0 -beta02 | - |
إضافات الكاميرا | 1.3.4 | - | الإصدار 1.4.0 -beta02 | - |
دورة حياة الكاميرا | 1.3.4 | - | الإصدار 1.4.0 -beta02 | - |
كاميرا mlkit-vision | - | - | الإصدار 1.4.0 -beta02 | - |
شاشة الكاميرا | 1.3.4 | - | الإصدار 1.4.0 -beta02 | - |
عدسة الكاميرا | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
كاميرا/فيديو | 1.3.4 | - | الإصدار 1.4.0 -beta02 | - |
اختبار الجهاز
تم اختبار CameraX على العديد من الأجهزة في مختبَرنا. للاطّلاع على قائمة بالأجهزة الحالية في المختبر، يمكنك الاطّلاع على الأجهزة التي اختبرتها شركة CameraX.
إعلان التبعيات
لإضافة تبعية إلى CameraX، يجب إضافة مستودع Google Maven إلى مشروعك. للحصول على مزيد من المعلومات، يمكنك الاطّلاع على مستودع Maven من Google.
أضف التبعيات للعناصر التي تحتاجها في ملف build.gradle
لتطبيقك أو الوحدة الخاصة بك:
رائع
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.4.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.4.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إخبارنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية من خلال النقر على زر النجمة.
راجِع مستندات أداة تتبُّع المشاكل للحصول على مزيد من المعلومات.
الإصدار 1.0 من إنشاء عدسة الكاميرا
الإصدار 1.0.0-alpha02
12 حزيران (يونيو) 2024
تم طرح "androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
". يحتوي الإصدار 1.0.0-alpha02 على هذه الالتزامات.
الإصدار 1.0.0-alpha01
14 أيار (مايو) 2024
تم طرح "androidx.camera:camera-viewfinder-compose:1.0.0-alpha01
". يحتوي الإصدار 1.0.0-alpha01 على هذه الالتزامات.
الميزات الجديدة
- مكتبة جديدة تقدّم هذه المكتبة أداة "عدسة الكاميرا" الأصلية القابلة للإنشاء والقابلة للإنشاء، والتي يمكن استخدامها مع "كاميراX" و"كاميرا2". تتوافق عدسة الكاميرا القابلة للإنشاء مع نِسَب عرض إلى ارتفاع مختلفة والتعامل مع أحداث اللمس.
الإصدار 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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- يمكنك إعادة تسمية تعدادات
ImplementationMode
فيViewfinder
ليعكس آليات التنفيذ الأساسية بشكل أفضل وإضافة ثوابت ثابتة إلىTransformationInfo.sourceRotation
. (Ic6149) - تمت إضافة
ZoomGestureDetector.ZoomEvent
لتلخيص حالات إيماءة التكبير/التصغير. (I84cdf)
الإصدار 1.4 من الكاميرا
الإصدار 1.4.0-beta02
12 حزيران (يونيو) 2024
تم طرح "androidx.camera:camera-*:1.4.0-beta02
". يحتوي الإصدار 1.4.0-beta02 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- على غرار السمة
VideoCapture
، يمكنك إضافةsetMirrorMode
لحالة استخدام المعاينة. يتوافق مع "وضع النسخ المطابق" وإيقافه لبث المعاينة عبرOutputConfiguration.setMirrorMode
من واجهة برمجة التطبيقات 33 والإصدارات الأحدث، وبالنسبة إلى واجهات برمجة التطبيقات القديمة، لن تعمل الواجهة. (I821f4)
إصلاح الأخطاء
- تم حل المشكلة المتمثلة في عدم تمكُّن التطبيقات من التقاط الصور بنجاح على Samsung Tab A8 عند اختيار
ImageCapture
تركيبة 1920x1080 ضمنPreview
+VideoCapture
+ImageCapture
UseCase
. (I5a463، b/336925549) - قد يتعذّر على التسجيل المستمر الثابت مواصلة التسجيل بعد تبديل الكاميرا. (Icb0a1)
الإصدار 1.4.0-beta01
14 أيار (مايو) 2024
تم طرح "androidx.camera:camera-*:1.4.0-beta01
". يحتوي الإصدار 1.4.0-beta01 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
ZoomGestureDetector.ZoomEvent
لتلخيص حالات إيماءة التكبير/التصغير. (I84cdf)
إصلاح الأخطاء
- تم إصلاح الخطأ الذي لا يزال يعمل على تسجيل البيانات والنقر عليها للتركيز، وفي حال عدم استخدام قيم وضع عدد اللقطات في الثانية/وضع التثبيت للطلبات المتكررة، ما قد يؤدي إلى إعادة إنشاء جلسة الالتقاط ويتسبب في حدوث مشاكل في وقت الاستجابة أو تجميد المعاينة في بعض الأجهزة. (I7dc0b)
- تم إصلاح خطأ عدم إمكانية اختيار "درجات دقة عالية" عند تفعيل
CameraEffect
على بعض الأجهزة. (على سبيل المثال، 4000x3000 على Samsung A32 5G). (Ie3ed3، b/337336152) - تم إصلاح عُطل عند التقاط صورة باستخدام المعاينة، و
ImageCapture
وVideoCapture(UHD)
، لا يتم فرض قيود على واجهة برمجة التطبيقات Pixel 4XL API29. (I5b288) - دعم الأجهزة الافتراضية: سيحافظ السياق الذي يتم إدخاله في
ProcessCameraProvider
على رقم تعريف الجهاز لضمان تنفيذ الوظائف في بيئة جهاز افتراضي. (I5ba48)
الإصدار 1.4.0-alpha05
17 نيسان (أبريل) 2024
تم طرح "androidx.camera:camera-*:1.4.0-alpha05
". يحتوي الإصدار 1.4.0-alpha05 على هذه الالتزامات.
الميزات الجديدة
- تم تحويل
ProcessCameraProvider
إلى تنفيذ لغة البرمجة Kotlin. (I46d4f) - تمت إضافة دوال التعليق في
ImageCapture.takePicture
للسماح بطلبها بطريقة تُعرف باسم Kotlin. (I920be)
تغييرات واجهة برمجة التطبيقات
- إضافة واجهات برمجة التطبيقات لتنسيق الإخراج إلى
ImageCapture
، وإضافة طريقةgetSupportedOutputFormats
إلىImageCaptureCapabilities
لطلب البحث عن إمكانات الجهاز إنّ القيمة التلقائية لتنسيق الإخراج هيOUTPUT_FORMAT_JPEG
والتي تلتقط صور SDR بتنسيق JPEG. عندما يتوافق الجهاز مع ميزة "دقة HDR فائقة" ويتم ضبط تنسيق الإخراج علىOUTPUT_FORMAT_JPEG_ULTRA_HDR
، سيلتقط تطبيق CameraX صورًا مضغوطة بدقة HDR فائقة باستخدام تنسيق الصور JPEG/R. يتوافق التنسيق مع تنسيقات SDR JPEG ويدعم عرض المحتوى بنطاق عالي الديناميكية (HDR). وهذا يعني أنّه في التطبيقات أو الأجهزة القديمة، تظهر الصور بسلاسة بتنسيق JPEG عادي، وفي التطبيقات والأجهزة التي تم تعديلها للتوافق الكامل مع التنسيق، ستظهر الصور بتنسيق النطاق العالي الديناميكية (HDR). (I5de50) - إضافة
PhysicalCameraInfo
فيCameraInfo
لطلب معلومات عن الكاميرا الفعلية وإضافة أداة تحديد/معرِّف الكاميرا الفعلية فيCameraSelector
(Ic5b90) - يمكنك استبدال
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
بـImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
. تظل قيمة الثابت كما هي. وهذا من أجل دمج جميع الثوابت في مكان واحد. (I890bb) - تتيح واجهة برمجة التطبيقات
RetryPolicy
الجديدة للمطوّرين تخصيص سلوك إعادة المحاولة لإعداد CameraX. (I36dd2) - تفعيل إنشاء كائن
ImageCaptureLatencyEstimate
للمساعدة في قابلية الاختبار (IBA99) - أضِف
ImageAnalysis#COORDINATE_SYSTEM_SENSOR
. عند استخدام هذه الدالة، تعرضMlKitAnalyzer
الإحداثيات في نظام الإحداثيات في أداة استشعار الكاميرا. (I3ec61) - واجهة برمجة التطبيقات للبيانات الوصفية للإضافات المكشوفة تسمح الواجهتان الجديدتان
CameraExtensionsInfo
وCameraExtensionsControl
للتطبيقات بمراقبة إعدادات قوة الإضافات وضبطها. يمكن للتطبيقات الحصول على المثيلCameraExtensionsInfo
أوCameraExtensionsControl
من خلال طريقتَيExtensionsManager#getCameraExtensionsInfo()
أوExtensionsManager#getCameraExtensionsControl()
المُضافتَين حديثًا. (I28e1a) - تمت إضافة
ProcessCameraProvider.awaitInstance
، وهو إصدار معلّق منProcessCameraProvider.getInstance
(Ib22b9). - إضافة واجهة برمجة تطبيقات
PreviewView#getSensorToViewTransform()
تمثّل المصفوفة عملية التحويل من إحداثيات أداة استشعار الكاميرا إلى إحداثياتPreviewView
. ويمكن استخدام ذلك لتحويل الإحداثيات من أحدUseCase
إلى آخر. على سبيل المثال، تحويل إحداثيات الأجسام التي تم رصدها فيImageAnalysis
إلى تراكبPreviewView
(I947ab) - عليك أن تجعل واجهة برمجة تطبيقات
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
لـImageAnalysis
UseCase
يمكن حل هذه المشكلة. (I81f72، b/330091012) - تم إصلاح مشكلة تسبّبت في عدم تنفيذ طلب "
takePicture
" في قائمة الانتظار إذا تعذّر تنفيذ الطلب الحالي. (Ie0801) - تأكَّد من تطبيق عملية التحقّق من بيانات JPEG غير الصالحة على أجهزة Vivo X60 وX60 Pro. ويمكن أن يؤدي هذا الإجراء إلى حلّ مشكلة الصورة الكبيرة بشكل غير طبيعي على هذه الأجهزة. (I82247، b/288828159)
- تم إصلاح المشكلة غير الصحيحة للبيانات الوصفية للصور بتنسيق JPEG على أجهزة Samsung A24. بعد حلّ هذه المشكلة، يمكن لتطبيق CameraX حفظ صورة JPEG بنجاح، أو يمكن عرض عناصر الصور النقطية الصحيحة عند استدعاء وظيفة
ImageProxy.toBitmap()
على أجهزة Samsung A24. (I8d6eb، b/309005680) - إذا كان حجم الصورة الملتقطة أكبر من 10 ميغابايت، تأكَّد من تطبيق عملية التحقّق من بيانات JPEG غير الصالحة على جميع أجهزة Samsung. يمكن أن يؤدي هذا إلى حل مشكلة الصور الكبيرة بشكل غير طبيعي على أجهزة Samsung. (Ic2a65، b/288828159)
- تمت إزالة إتاحة
ImageAnalysis
على إضافات CameraX لأنّ العديد من عمليات تنفيذ الإضافات لدى المصنّعين الأصليين للأجهزة لا تعمل معImageAnalysis
بشكل جيد وقد تتسبّب في حدوث مشاكل غير متسقة. (I2d926)
الإصدار 1.4.0-alpha04
24 كانون الثاني (يناير) 2024
تم طرح "androidx.camera:camera-*:1.4.0-alpha04
". يحتوي الإصدار 1.4.0-alpha04 على هذه الالتزامات.
الميزات الجديدة
- عنصر جديد: تأثيرات الكاميرا: مكتبة لتطبيق تأثيرات في الوقت الفعلي على نتائج CameraX، بما في ذلك
Preview
و/أوVideoCapture
و/أوImageCapture
. يحتوي هذا العنصر على عمليات تنفيذ OpenGL لواجهة برمجة تطبيقاتCameraEffect
التي تعالج نتائج الكاميرا بكفاءة. OverlayEffect
: لرسم عناصر مركّبة باستخدام Canvas API من Android يتيح هذا الإذن للتطبيق وضع علامة مائية أو تمييز العناصر التي تم رصدها على مخرجات الكاميرا.DynamicRange
واجهات برمجة التطبيقات لحالة استخدام المعاينة: يمكن الآن ضبط النطاق الديناميكي على "حالة استخدام المعاينة"، بشكل مستقل عن حالة استخدام الفيديو. يتيح ذلك استخدام النطاقات الديناميكية للنطاق العالي الديناميكية، مثل HLG10 للمعاينة فقط. تتوفّر واجهات برمجة تطبيقات جديدة أيضًا فيCameraInfo
لطلب البحث عن النطاقات الديناميكية المتوافقة مع كل كاميرا.
تغييرات واجهة برمجة التطبيقات
- تم إعادة التسمية
ScreenFlashUiCompleter
إلىScreenFlashListener
ونقلScreenFlashUiCompleter#getExpirationTimeMillis
إلىexpirationTimeMillis
للمعلَمةScreenFlash#apply
. (I13944) - تمت إضافة واجهات برمجة تطبيقات جديدة للسماح بضبط النطاق الديناميكي على حالة استخدام المعاينة، وطلب النطاقات الديناميكية المتوافقة مع كل كاميرا. يسمح هذا الإجراء باستخدام النطاقات الديناميكية للنطاق العالي الديناميكية، مثل HLG10، مع حالة استخدام المعاينة وحدها، بدون الحاجة إلى ربط
VideoCapture
في الوقت نفسه. (If25e3) - تم تغيير الاسم "
getMirroring()
" إلى "isMirroring()
" (I47063). - لا يزال بإمكان ميزة "الوقت الفعلي" الحصول على إمكانية تقدير وقت الاستجابة في CameraX. تمكّن إضافات الكاميرا التطبيقات من استخدام واجهة برمجة تطبيقات توفر تقديرًا للمدة التي سيستغرقها الالتقاط. ويراعي هذا التقدير ظروف البيئة الحالية وحالة الكاميرا ويشمل الوقت المستغرق في معالجة طلبات الالتقاط ذات الإطارات المتعددة إلى جانب أي وقت إضافي للمخازن الاحتياطية للترميز التي تمت معالجتها إذا لزم الأمر. (I05c3a)
- تمت إعادة التسمية
ScreenFlashUiControl
إلىScreenFlash
وScreenFlashUiControl#applyScreenFlashUi
إلىScreenFlash#apply
وScreenFlashUiControl#clearScreenFlashUi
إلىScreenFlash#clear
وإضافة طريقةgetScreenFlashUiApplyTimeoutSeconds
بدلاً من عرضSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS
مباشرةً. (Iccdd0)
إصلاح الأخطاء
- تم إصلاح مشكلة تسرُّب الذاكرة الذي يؤدي إلى عدم إطلاق الأنشطة أو الأجزاء عند تفعيل الإضافات (I14215)
- تم إصلاح المشكلة التي أدت إلى عرض قيمة منخفضة بشكل غير صحيح من خلال
getZoomRatio
عند تطبيق نسبة تكبير/تصغير متزايدة. (I4aa0d، b/317543616) - يتم استدعاء حدث "
ImageCapture#ScreenFlash#clear
" فورًا عند عدم ربط "ImageCapture
" أو إغلاق الكاميرا، بالإضافة إلى إصلاح بعض الأخطاء التي لا يتم استدعاؤها مطلقًا بسبب عدم اكتمال عمليات التقاط الصور في هذه السيناريوهات بشكل صحيح. (If99f9) - تم إصلاح العُطل الذي يحدث عند إيقاف مراحل النشاط قبل اكتمال طلب
takePicture
(Idf017، b/306202751) - تم إصلاح المشكلة التي تؤدي إلى ظهور معاينة الكاميرا باللون الأسود عند تفعيل الإضافات على بعض الأجهزة (I1ffd0)
- تم إصلاح مدة غير صحيحة لتسجيل الفيديو على الأجهزة التي تستخدم 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 معالجة واجهة برمجة التطبيقات من جانب إطار العمل ومزامنة التوقيت مع التغييرات في واجهة المستخدم للتطبيق على النحو المطلوب (على سبيل المثال، مشغِّل الالتقاط المسبق للبيانات (AE) بعد تغيير لون/درجة سطوع شاشة التطبيق). ستحتاج التطبيقات فقط إلى إضافة عمليات التنفيذ من جانب واجهة المستخدم في واجهة
ScreenFlashUiControl
المقدَّمة إلى CameraX. (I8ae84) - تمت إضافة إمكانية تنفيذ ميزة فلاش الشاشة من جانب واجهة المستخدم في تطبيق CameraX. ستتمكّن التطبيقات من الحصول على تنفيذ
ImageCapture.ScreenFlashUiControl
أساسي منPreviewView
أوScreenFlashView
المُضاف حديثًا، ما سيضيف عرضًا أحادي اللون على سطح الصفحة وزيادة سطوع الشاشة إلى أقصى حد أثناء التقاط الصور بفلاش الشاشة. (I1810e)
تغييرات واجهة برمجة التطبيقات
- إتاحة ميزات الإضافات الجديدة(ما بعد المشاهدة وتسجيل مدى تقدُّم العملية): تمت إضافة واجهات برمجة تطبيقات
ImageCapture#getImageCaptureCapabilities()
للتطبيقات من أجل الاستعلام عن إمكانات مشاهدة المشاركات السابقة وتسجيل مدى تقدّم عملية معاودة الاتصال. يمكن للتطبيقات تفعيل مشاهدة المشاركات باستخدامImageCapture.Builder#setPostviewEnabled()
. يمكن اختيار حجم المشاهدة اللاحقة باستخدامImageCapture.Builder#setPostviewResolutionSelector()
. عند استدعاءtakePicture()
، يمكن تنفيذonPostviewBitmapAvailable
وonCaptureProcessProgressed
فيOnImageSavedCallback
أوOnImageCapturedCallback
لتلقّي إشعار ما بعد المشاهدة وتقدم المعالجة، إذا كان ذلك متاحًا. (I5cd88) - واجهات برمجة التطبيقات لحساب تحويل الإحداثيات من أداة الاستشعار إلى المخزن المؤقت الحالي، مع علامة تشير إلى ما إذا كان السطح يحتوي على معلومات اتجاه الكاميرا (I59096)
- اعرِض واجهة برمجة التطبيقات لطلب البحث
PreviewCapabitlity
في معاينةUseCase
. (Ie5b6c) - تمت إضافة واجهات برمجة تطبيقات لتوفير المزيد من الخصائص لـ
VideoCapture
. يمكن استخدامRecorder.Builder#setVideoCapabilitiesSource(int)
معVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES
لإنشاء مثيلRecorder
الذي يوفّر ميزات أكثر منVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE
. من حالات الاستخدام الشائعة عندما يسعى التطبيق إلى تسجيل فيديو بدقة فائقة كلما أمكن ذلك، إلا أنCamcorderProfile
في الجهاز لا يتضمن إعدادات الدقة الفائقة، مع أن برنامج الترميز قادر على تسجيل فيديو بدقة فائقة. (Iedbe2، b/263961771) - أضِف تنسيق getter/setter بتنسيق
ImageAnalysis
إلىCameraController
. (I9a96c، b/308240643)
إصلاح الأخطاء
- من الكاميرا
1.3.1
: تم تحسين أداءProcessCameraProvider#bindToLifecycle()
. يتمثل التغيير الرئيسي في تحسين عملية تحديد أنسب مجموعات المقاسات لـUseCases
. تختلف النتائج المثلى استنادًا إلى مجموعاتUseCase
المحدّدة وعدد أحجام الإخراج المتوافقة للأجهزة المستهدَفة. (I454f2) - السماح باستخدام
VideoCapture
عند تفعيل الإضافات (I91f32) - تم إصلاح المشكلة الكبيرة التي يتم التقاطها بتنسيق JPEG على أجهزة سلسلة Samsung A71 وM51. تحتوي صور JPEG التي تم التقاطها على بيانات المساحة المتروكة 0 المكررة في مقطع بيانات JFIF المضغوط. ويتسبب في أن يكون حجم الملف للصور الملتقطة أكبر من اللازم. ستتم إزالة بيانات المساحة المتروكة في 0 هذه لجعل الصور الملتقطة ذات أحجام عادية لملفات الصور. (I01afc، b/288828159)
- يمكنك إيقاف دعم
ImageAnalysis
على هواتف Pixel لتجنُّب حدوث خطأ في Pixel يؤدي إلى عرض الأحجام غير الفارغة المتوافقة معImageAnalysis
عن طريق الخطأ. (I7ec31) - تم إصلاح مشكلة الأداء التي تسببت في زيادة تحميل وحدة المعالجة المركزية (CPU) واستهلاك الطاقة عند تفعيل الإضافات. (Ibdccb)
- تمت إضافة Snapdragon 480 إلى
CameraUseInconsistentTimebaseQuirk
. يؤدي ذلك إلى إصلاح مشكلة على نظام التشغيل Android 12 للأجهزة التي تستخدم مجموعة الشرائح هذه حيث يتم تعويض الصوت في التسجيلات بمقدار الوقت الذي يكون فيه الجهاز في حالة تعليق. (I58010)
الإصدار 1.4.0-alpha02
18 تشرين الأول (أكتوبر) 2023
تم طرح "androidx.camera:camera-*:1.4.0-alpha02
". يحتوي الإصدار 1.4.0-alpha02 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- أعِد تسمية واجهة برمجة التطبيقات إلى
setCameraOpenRetryMaxTimeoutInMillisWhileResuming
وأعِد تسمية الوسيطة. (I72370) - إضافة واجهات برمجة التطبيقات لطلب معلومات عن إمكانات الجهاز وتفعيل تثبيت الفيديو/المعاينة (I87544)
- يُرجى توفير واجهة برمجة تطبيقات لتخصيص وقت فتح الكاميرا وإعادة المحاولة إلى أقصى حدّ للمهلة. (I0c642)
- تم إطلاق
ProcessCameraProvider.shutdownAsync
كواجهة برمجة تطبيقات للاختبار المتاح للجميع للسماح باستخدام موفّر خدمة كاميرا العمليات في مجموعات الاختبار التي قد تحتاج إلى إعداد CameraX بطرق مختلفة بين الاختبارات. (I9eca7) - أضِف واجهات برمجة تطبيقات لضبط النطاق الديناميكي لالتقاط الفيديو وعدد اللقطات في الثانية ووضع النسخ المطابق. (Ifb8f7)
- يمكنك إيقاف
OutputSize
واستبداله بـResolutionSelector
. توفّرResolutionSelector
طريقة أكثر شمولاً لاختيار درجات الدقة، وتتوافق هذه الطريقة مع واجهة برمجة تطبيقات الكاميرا الأساسية. (I93abd، b/286801438)
إصلاح الأخطاء
- تم إصلاح مشكلة المعاينة السوداء على هاتف Samsung Galaxy S23 Ultra 5G عند تفعيل الإضافات Bokeh أو "التعرّف على الوجه" في
ImageAnalysis
على الكاميرا الخلفية. (I2e8b1) - تم إصلاح مشاكل المعاينة و
VideoCapture
المشاكل الإضافية على Moto E5 Play. (73dce2)
الإصدار 1.4.0-alpha01
20 أيلول (سبتمبر) 2023
تم طرح "androidx.camera:camera-*:1.4.0-alpha01
". يحتوي الإصدار 1.4.0-alpha01 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- أضِف واجهة برمجة تطبيقات جديدة للوصول إلى معلومات مستوى الصوت أثناء التسجيل. (Id4925)
إصلاح الأخطاء
- تحسين ثبات الإضافات من خلال التأكّد من بدء أحداث الإعداد والإيقاف بالترتيب الصحيح (Ib3b8e)
- تم إصلاح إخفاق إعداد جلسة الالتقاط لتجاوز مجموعة الأسطح المتوافقة بسبب إضافة سطح مكرر إضافي داخليًا. (Id718c)
- تم إصلاح المشكلة الكبيرة التي تم التقاطها بتنسيق JPEG على جهاز Vivo S16. تحتوي صور JPEG التي تم التقاطها على بيانات المساحة المتروكة 0 المكررة في مقطع بيانات JFIF المضغوط. يتسبب هذا في أن يكون حجم الملف للصور الملتقطة كبير. ستتم إزالة بيانات المساحة المتروكة في 0 هذه لجعل الصور الملتقطة ذات أحجام عادية لملفات الصور. (I79505، b/299069235)
- تم إصلاح المشكلة المتمثلة في عدم إمكانية ربط
ImageAnalysis
معImageCapture
ومعاينة عند تفعيل بعض أوضاع الإضافات على بعض الأجهزة. سيؤدي هذا الحلّ إلى عرض القيمة الصحيحة عندما تطلب التطبيقات معرفة مدى توفّرImageAnalysis
من خلالExtensionsManager#isImageAnalysisSupported()
. (I7d538) - يُرجى تعديل JavaDoc لمطابقة السلوك. بدلاً من أن تكتمل هذه العملية على الفور، تنتظر كل من
#setZoomRatio
و#setLinearZoom
و#enableTorch
إلى أن تصبح الكاميرا جاهزة. تمت أيضًا إضافة معلومات حول كيفية الحصول على الحدّ الأقصى من مجال الرؤية باستخدام#takePicture
API. (I23588)
الإصدار 1.3
الإصدار 1.3.4
12 حزيران (يونيو) 2024
تم طرح "androidx.camera:camera-*:1.3.4
". يتضمّن الإصدار 1.3.4 هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح المشكلة التي أدت إلى عرض قيمة منخفضة بشكل غير صحيح من خلال
getZoomRatio
عند تطبيق نسبة تكبير/تصغير متزايدة. (I4aa0d، b/317543616) - تم إصلاح مشكلة الالتقاط/النقر للتركيز بدون استخدام قيم وضع التثبيت أو عدد اللقطات في الثانية للطلبات المتكررة التي قد تؤدي إلى إعادة إنشاء جلسة الالتقاط ويتسبب في حدوث مشاكل في وقت الاستجابة أو تجميد المعاينة في بعض الأجهزة. (I7dc0b)
- تم إصلاح المشكلة المتمثلة في ضبط عدد اللقطات في الثانية على قيمة أقل عند استدعاء
setTargetFrameRate
باستخدامFRAME_RATE_RANGE_UNSPECIFIED
. (I78c61)
الإصدار 1.3.3
17 نيسان (أبريل) 2024
تم طرح "androidx.camera:camera-*:1.3.3
". يتضمّن الإصدار 1.3.3 هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح مشكلة اختيار درجة الدقة
ImageAnalysis
' المتعلّقة بإعداد الدقة المستهدفة التلقائية لأداة التحليل: تم الاحتفاظ بدرجة الدقة المستهدفة بشكل غير صحيح لتكون 640x480 حتى في حال ضبط التطبيقات إعدادًا مختلفًا للدقة التلقائية لأداة التحليل. إذا واجهت التطبيقات هذه المشكلة (من 1.3.0 إلى 1.3.2) ولم تتمكن من الترقية لاستخدام الإصدارات الأحدث التي تحتوي على الحل، يمكنك ضبطResolutionSelector
مباشرةً على درجة الدقة المفضّلة ومطابقةAspectRatioStrategy
لـImageAnalysis
UseCase كحل لهذه المشكلة. (I81f72، b/330091012)
الإصدار 1.3.2
6 مارس 2024
تم طرح "androidx.camera:camera-*:1.3.2
". يتضمّن الإصدار 1.3.2 هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح مشكلة البيانات الوصفية بتنسيق JPEG على أجهزة Samsung A24. تحفظ CameraX الآن الصور بدقة، وتعرض الدالة
ImageProxy.toBitmap()
كائنات الصور النقطية الصحيحة. (I8d6eb، b/309005680) - تمت إزالة خيار درجة الدقة 9280x6944 على أجهزة Redmi Note 9 Pro بسبب مشاكل. (Ia23da)
الإصدار 1.3.1
13 كانون الأول (ديسمبر) 2023
تم طرح "androidx.camera:camera-*:1.3.1
". يتضمّن الإصدار 1.3.1 هذه الالتزامات.
إصلاح الأخطاء
تم تحسين أداء "ProcessCameraProvider#bindToLifecycle()
". يتمثل التغيير الرئيسي في تحسين عملية تحديد أنسب مجموعات المقاسات لـ UseCases
. تختلف النتائج المثلى استنادًا إلى مجموعات UseCase
المحدّدة وعدد أحجام الإخراج المتوافقة للأجهزة المستهدَفة. (I454f2)
في ما يلي بعض النتائج المرجعية لسيناريوهات مختلفة:
أربعة
UseCases
:Preview
+ImageCapture
+ImageAnalysis
+VideoCapture
- Google Pixel 7: من 430 ملي ثانية إلى 60 ملي ثانية تقريبًا
- Samsung Galaxy S23 Ultra: من 540 ملي ثانية إلى 45 ملي ثانية تقريبًا
- Samsung A53 5G: من 115 ملي ثانية إلى 70 ملي ثانية تقريبًا
ثلاثة
UseCases
:Preview
+ImageCapture
+ImageAnalysis
- Google Pixel 7: من 9 إلى 7 ملي ثانية تقريبًا
- Samsung Galaxy S23 Ultra: من 6 ملي ثانية إلى 5 ملي ثانية تقريبًا
- Samsung A53 5G: من 32 ملي ثانية إلى 12 ملي ثانية تقريبًا
تمت إضافة Snapdragon 480 إلى
CameraUseInconsistentTimebaseQuirk
. يؤدي ذلك إلى إصلاح مشكلة على نظام التشغيل Android 12 للأجهزة التي تستخدم مجموعة الشرائح هذه حيث يتم تعويض الصوت في التسجيلات بمقدار الوقت الذي يكون فيه الجهاز في حالة تعليق. (I58010)
الإصدار 1.3.0
18 تشرين الأول (أكتوبر) 2023
تم طرح "androidx.camera:camera-*:1.3.0
". يتضمّن الإصدار 1.3.0 هذه الالتزامات.
التغييرات المهمة منذ الإصدار 1.2.0
- ميزات الفيديو، بما في ذلك نطاق عالي الديناميكية (HDR) بتنسيق 10 بت والاقتصاص والنسخ المطابق/غير المطابق وكتم الصوت/إعادة الصوت وضبط عدد اللقطات في الثانية وغير ذلك
- كاميرا مزدوجة متزامنة
- مكتبة التأثيرات
- أداة اختيار درجة الدقة
- اختيار الكاميرا الواسعة النطاق والكاميرا المتداخلة
- تبديل الكاميرا أثناء تسجيل الفيديو (ميزة تجريبية)
الإصدار 1.3.0-rc02
20 أيلول (سبتمبر) 2023
تم طرح "androidx.camera:camera-*:1.3.0-rc02
". يتضمّن الإصدار 1.3.0-rc02 هذه الالتزامات.
إصلاح الأخطاء
- تحسين ثبات الإضافات من خلال التأكّد من بدء أحداث الإعداد والإيقاف بالترتيب الصحيح تم حلّ بعض مشاكل المعاينة السوداء عند تبديل أوضاع الإضافات أو تبديل الكاميرات. (Iddaac)
- تم إصلاح المشكلة المتمثلة في عدم إمكانية ربط
ImageAnalysis
معImageCapture
ومعاينة عند تفعيل بعض أوضاع الإضافات على بعض الأجهزة. سيؤدي هذا الحلّ إلى عرض القيمة الصحيحة عندما تطلب التطبيقات معرفة مدى توفّرImageAnalysis
من خلالExtensionsManager#isImageAnalysisSupported()
. (I7d538) - تم إصلاح المشكلة المتمثلة في عدم مزامنة صوت الفيديو وتسجيله عند تفعيل وضع النسخ المطابق على NFC Xiaomi Poco X3. (I20b4c)
الإصدار 1.3.0-rc01
23 آب (أغسطس) 2023
تم طرح "androidx.camera:camera-*:1.3.0-rc01
". يتضمّن الإصدار 1.3.0-rc01 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
PendingRecording.asPersistentRecording
للسماح للتسجيل المستمر بالتسجيل أثناء إعادة إرسالVideoCapture
المسجّلة الذكية. (I517c6)
إصلاح الأخطاء
- تم إصلاح عطل عند مشاركة بث مع كل من "
VideoCapture
" و"معاينة". تم أيضًا إصلاح شاشة سوداء على الأجهزة القديمة عند تفعيل مشاركة البث. - تم إصلاح المشكلة الكبيرة التي يتم التقاطها بتنسيق 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 المضغوط. يتسبب ذلك في أن يكون حجم ملف الصور التي تم التقاطها كبيرًا حوالي 13 ميغابايت على جهاز S22 SM-S901B/DS. ستتم إزالة بيانات المساحة المتروكة في 0 هذه لجعل الصور الملتقطة ذات أحجام عادية لملفات الصور. (I73be9، b/288828159)
- تم إصلاح المشكلة الكبيرة التي تم التقاطها بتنسيق JPEG على أجهزة Samsung A5 وA52 وA70 وA72. تحتوي صور JPEG التي تم التقاطها على بيانات المساحة المتروكة 0 المكررة في مقطع بيانات JFIF المضغوط. يتسبب هذا في زيادة حجم الملف للصور التي تم التقاطها (على سبيل المثال، حوالي 32 ميغابايت أو حتى 96 ميغابايت). ستتم إزالة بيانات المساحة المتروكة في 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 المضغوط. ويتسبب ذلك في أن يكون حجم ملف الصور التي تم التقاطها 32 ميغابايت تقريبًا. ستتم إزالة بيانات المساحة المتروكة في 0 هذه لجعل الصور الملتقطة ذات أحجام عادية لملفات الصور. (I29837، b/288828159)
- عدم إمكانية تشغيل إعادة المحاولة بشكل صحيح في حال تعذُّر الالتقاط على الأجهزة التي تحتوي على مشاكل المذكورة في
CaptureFailedRetryQuirk
(I7b589)
الإصدار 1.3.0-beta01
21 حزيران (يونيو) 2023
تم طرح "androidx.camera:camera-*:1.3.0-beta01
". يتضمّن الإصدار 1.3.0-beta01 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية اسم الدالة
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)
إلىsetAllowedResolutionMode
وإعادة تسمية الثوابتResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
إلىPREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION
/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE
. (If84e8) - تمت إزالة واجهات برمجة التطبيقات المتوقفة نهائيًا
ImageAnalysis.setTargetRotationDegrees(int)
وImageCapture.setTargetRotationDegrees(int)
وVideoCapture.setTargetRotationDegrees(int)
. (Id8e77) - تمثل الفئة
DynamicRange
النطاق الديناميكي للصور. يمكن استخدام هذه البيانات لاختيار تنسيقات النطاق العالي الديناميكية باعتبارها إخراجVideoCapture
إلىVideoCapture.Builder#setDynamicRange()
. (Ib0377) - تمت إضافة واجهة برمجة تطبيقات
isImageAnalysisSupported
إلىExtensionsManager
، ويمكن للتطبيقات ذلك تحديد ما إذا كان يمكن ربط حالة استخدامImageAnalysis
مع المعاينة وImageCapture
عند تفعيل الإضافات. (I1bc63) - يمكن استخدام الفئة
VideoCapabilities
الجديدة التي يتم الحصول عليها منRecorder
لطلب البحث عن النطاقات الديناميكية ودرجات الجودة المتوافقة لتسجيل الفيديو على الجهاز. يتم إيقاف الطريقتَينgetSupportedQualities()
وisQualitySupported()
فيQualitySelector
نهائيًا. يُرجى استخدام طريقتَيgetSupportedQualities()
وisQualitySupported()
فيVideoCapabilities
بدلاً من ذلك. (I04014) - تمت إعادة تسمية "
CameraController#setVideoCaptureTargetQuality()
" لتصبحsetVideoCaptureQualitySelector
وستستخدم الوسيطةQualitySelector
، التي توفّر مرونة أكبر في إعداد جودة الفيديو. تم تغييرCameraController#getVideoCaptureTargetQuality()
إلىgetVideoCaptureQualitySelector
وفقًا لذلك. (I520ed) - تمت إزالة التعليق التوضيحي التجريبي لميزات الفيديو. أصبحت ميزات الفيديو ثابتة الآن. (I1a113)
إصلاح الأخطاء
- استخدِم الكشاف كفلاش في طُرز SM-A320 من Samsung لتحسين السرعة وجودة الصورة التي يتم التقاطها في الإضاءة المنخفضة. (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 هذه الالتزامات.
الميزات الجديدة
- تسمح واجهة برمجة التطبيقات
VideoCapture.Builder# setTargetFrameRate(Range)
الجديدة بالتقاط تسجيلات الفيديو بعدد لقطات آخر في الثانية غير الإعداد التلقائي على الجهاز. يمكن طلب البحث عن عدد اللقطات في الثانية المتاح للتسجيلات من خلال واجهة برمجة التطبيقاتCameraInfo#getSupportedFrameRates()
الجديدة.
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية الثوابت
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
إلىALLOWED_RESOLUTIONS_NORMAL
/SLOW
وإعادة تسمية اسم الدالةsetHighResolutionEnabledFlag
في أداة الإنشاء إلىsetAllowedResolutionMode
. (Iae817) - تعرض دالة
CameraInfo#getSupportedFrameRateRanges()
الآن القيمةSet
بدلاً من السمةList
للإشارة بشكل أفضل إلى أنّ النطاقات غير مرتَّبة. (I02f43) - إضافة أداة معالجة الأخطاء إلى
CameraEffect
للتعامل مع الأخطاء التي لا يمكن إصلاحها (Ice471) - إضافة دالة إنشاء عامة في
ResolutionInfo
لتحسين قابلية الاختبار (If6d1c) - تم توفير واجهة برمجة التطبيقات
UseCase.snapToSurfaceRotation(int)
لاستبدال استخدامsetTargetRotationDegrees
وإيقاف واجهة برمجة التطبيقاتImageAnalysis.setTargetRotationDegrees(int)
وImageCapture.setTargetRotationDegrees(int)
وVideoCapture.setTargetRotationDegrees(int)
نهائيًا. (Ia9010) - تمت إضافة
Preview#getTargetFrameRate
وPreview.Builder#setTargetFrameRate
لواجهة برمجة التطبيقات الجديدة للتمكّن من ضبط واسترداد عدد اللقطات المستهدَف في الثانية لحالة استخدام المعاينة (If4f22). - سيتم إكمال
VideoRecordEvent.Finalize
الآن برمز الخطأERROR_RECORDING_GARBAGE_COLLECTED
عند إيقاف الكائنRecording
بسبب جمع البيانات غير المرغوب فيها. (Iba974)
إصلاح الأخطاء
- تم إصلاح
NullPointerException
عندما تكون أحجام الإخراج المؤقتة فيStreamConfigurationMapCompat
فارغة. (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} على الأكثر لكل منهما. الحد الأقصى لدرجة الدقة هو 720p أو 1440p، ويمكنك الاطّلاع على مزيد من التفاصيل في الرابط التالي: CameraManager#getConcurrent CameraIds().
- نقدّم لك واجهة برمجة التطبيقات
ResolutionSelector
الجديدة التي تشمل الميزات التالية:- يمكن للتطبيقات تحديد نسبة العرض إلى الارتفاع واستراتيجيات الدقة لاختيار أفضل درجة دقة تناسب احتياجاتها.
- ويتم التعبير عن جميع الأحجام ومَعلمات نسبة العرض إلى الارتفاع في إحداثيات أداة الاستشعار في جهاز الكاميرا.
- ويمكن للتطبيقات تنفيذ عامل تصفية درجة دقة مخصص لترتيب الأحجام المتوافقة بالترتيب المطلوب.
- يمكن للتطبيقات أيضًا تفعيل إمكانية الالتقاط بدقة عالية للحصول على صور بدقة أعلى. ومع ذلك، يُرجى العِلم أنّ استخدام درجة دقة عالية قد يؤدي إلى إبطاء وقت التقاط الصور.
- تمت إضافة
VideoCapture
من واجهات برمجة التطبيقات للنسخ المطابق. لا يتم إجراء نسخ مطابق للفيديوهات التي سجّلهاVideoCapture
بشكل تلقائي. ومع ذلك، تنعكس معاينة الكاميرا على الكاميرا الأمامية تلقائيًا. تتيح واجهات برمجة التطبيقات للنسخ المطابق فيVideoCapture
إمكانية المحاذاة مع معاينة الكاميرا عند استخدام الكاميرا الأمامية. تتوفّر ثلاثة منMirrorMode
وOFF
وON
وON_FRONT_ONLY
. للمحاذاة مع معاينة الكاميرا، ننصحك باستخدامON_FRONT_ONLY
، ما يعني أنّ النسخ المطابق غير مفعّل في الكاميرا الخلفية ولكنه مفعَّل للكاميرا الأمامية.
تغييرات واجهة برمجة التطبيقات
- تم الكشف عن واجهة برمجة تطبيقات
ResolutionSelector
جديدة. ويمكن للتطبيقات تحديد نسبة العرض إلى الارتفاع واستراتيجيات درجة الدقة باستخدام قواعد احتياطية أو فلتر مخصّص لدرجة الدقة للحصول على النتائج المطلوبة. ويمكن أن تحدد التطبيقات علامة لتفعيل الالتقاط بدقة عالية. وهذا سيسمح لتطبيق CameraX باختيار درجات دقة أعلى عند التقاط الصور أو الفيديوهات. ومع ذلك، يُرجى العِلم أنّ استخدام درجة دقة عالية قد يؤدي إلى إبطاء وقت التقاط الصور. (Ibed95) - يمكن الآن طلب البحث عن نطاقات عدد اللقطات في الثانية التي تستخدمها خوارزمية النسبة المئوية (AE) من خلال
CameraInfo#getSupportedFrameRateRanges()
. (Iaa67f) - دمج أسماء جميع طرق عدد اللقطات في الثانية في استخدام النوع "FrameRate" (معدّل اللقطات في الثانية) تصحيح خطأ javadoc في
VideoCapture#getTargetFrameRate()
(I83304) - تم إيقاف واجهة برمجة التطبيقات
setTargetAspectRatio
وsetTargetResolution
القديمة نهائيًا. يُرجى استخدام واجهة برمجة التطبيقاتResolutionSelector
الجديدة بدلاً من ذلك. (I542c3) - تمت إضافة واجهات برمجة التطبيقات العامة للكاميرا المزدوجة المتزامنة، بما في ذلك
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
boolean isConcurrentCameraModeOn()
وConcurrentCameraConfig
وSingleCameraConfig
وConcurrentCamera
(Iab1c1)
- إنشاء
ImageProcessor.Response#getOutputImage
NonNull (Ib9c60) - تمت إضافة
VideoCapture
من واجهات برمجة التطبيقات للنسخ المطابق، بما في ذلكVideoCapture.Builder.setMirrorMode(int)
وVideoCapture.getMirrorMode()
. وتعدّ واجهات برمجة التطبيقات مفيدة للتطبيقات التي تتطلّب أن يكون تسجيل الفيديو متوافقًا مع السلوك الشائع لمعاينة الكاميرا، بمعنى أنّ معاينة الكاميرا الخلفية غير معكوسة ولكن معاينة الكاميرا الأمامية معكوسة. (I713b6، b/194634656) - إضافة
setTargetFrameRate()
API فيVideoCapture.Builder
وgetTargetFramerate()
API فيVideoCapture
(I109d4) - عليك جعل
SurfaceOutput
تمديد قابلة للإغلاق وإخفاء الدالة الإنشائية العامة لـ SurfaceOutput.Event
. (I60ea8) - تمت إضافة
Recording.mute
لكتم صوت تسجيل قيد المعالجة أو إعادته ديناميكيًا. سيحتويRecordingStats
علىAudioStats.AUDIO_STATE_MUTED
عند كتم صوت التسجيل قيد المعالجة بشكل صريح. (Ie17fc) - تم جعل مَعلمة
#setEffects()
غير فارغة. يمكنك إضافة واجهة برمجة تطبيقات#clearEffects()
لمحو التأثيرات. يجب أن يطلب التطبيق الاتصال بـ#clearEffects()
لإزالة التأثيرات. (I4b4d9) - إضافة دالة إنشاءية ثانية لـ
ViewfinderSurfaceRequest.Builder
لأخذ أداة إنشاء للدالة الإنشائية للنسخ (I621a7)
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثلة في تعطُّل التطبيقات التي تستدعي واجهة برمجة التطبيقات الإضافات عند إغلاق الكاميرا (Ib27e5).
- تم إصلاح المشكلة المتمثلة في عدم تمكّن "
VideoCapture
" من العمل مع الكاميرا الأمامية على بعض الأجهزة. على سبيل المثال، على هواتف Samsung Galaxy S23 وXiaomi 2107113SG. (Ibec7e، b/270656244) - تم إصلاح المشكلة المتمثلة في تعذُّر التقاط الصور باستخدام "ملف" في المجلد العلني لوحدة التخزين الخارجية دائمًا في نظام التشغيل Android 10 أو الإصدارات الأحدث. يُرجى ملاحظة أنّه في نظام التشغيل Android 10، يجب أيضًا ضبط
requestLegacyExternalStorage
على "صحيح" في علامة التطبيق لالتقاط الصور باستخدام "ملف" في المجلد العلني على مساحة التخزين الخارجية. (I11b2c) - تم إصلاح عطل واحد (
RejectedExecutionException
) فيDefaultSurfaceProcessor
. وقد يحدث العُطل عند ربط "VideoCapture
" وإيقاف النشاط مؤقتًا. (Idb46a، b/273713906)
الإصدار 1.3.0-alpha05
22 آذار (مارس) 2023
تم طرح "androidx.camera:camera-*:1.3.0-alpha05
". يحتوي الإصدار 1.3.0-alpha05 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة واجهات برمجة تطبيقات عرض الإعلانات بالتناوب في
VideoCapture
، بما في ذلكVideoCapture.Builder.setTargetRotation(int)
وVideoCapture.setTargetRotation(int)
وVideoCapture.setTargetRotationDegrees(int)
وVideoCapture.getTargetRotation()
. تعد واجهات برمجة التطبيقات مفيدة للتطبيقات التي تقفل اتجاه الجهاز. تمّت أيضًا إضافة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 على هذه الالتزامات.
الميزات الجديدة
ميزة جديدة لإتاحة مجموعات Surface التي كانت غير متوافقة في السابق، وذلك من خلال مشاركة مصدر بيانات واحد مع حالات UseCases متعددة.
- في السابق، عند ربط "Preview, VideoCapture, ImageAnalysis" (معاينة، فيديو ، تحليل الصورة) على مستوى جهاز الكاميرا FULL أو أدنى، أو عند ربط "Preview, VideoCapture, ImageCapture" على مستوى الجهاز LEGACY، تعرض CameraX
IllegalArgumentException
. - السلوك الجديد هو أنّ عمليات الربط ستعمل بدون طرح استثناءات. بدلاً من ذلك، تستخدم CameraX OpenGL لنسخ بث مشترك إلى كل من المعاينة وVideoCapture.
- بالنسبة إلى تكلفة النسخة الاحتياطية، قد يشهد التطبيق زيادة في وقت الاستجابة واستهلاك الطاقة.
تغييرات واجهة برمجة التطبيقات
- أضِف واجهة برمجة التطبيقات لتحويل
ImageProxy
إلىBitmap
. إنّ تنسيقImageProxy
المتوافق هوImageFormat.YUV_420_888
وPixelFormat.RGBA_8888
. وإذا كان التنسيق غير صالح، سيتم طرحIllegalArgumentException
. (Ic7110) - يمكنك إضافة
CoroutineCameraViewfinder
لإتاحة ضبط عدسة الكاميرا باستخدام دوال التعليق في Kotlin. (I657bc) - إضافة دالة إنشاء عامة جديدة لـ
ViewfinderSurfaceRequest
. وتوفّر هذه السياسة مرونة عندما لا يتمكّن المستخدم من تقديمCameraCharacteristics
. (Ie6549)
إصلاح الأخطاء
- تم إصلاح تعطُّل الإضافات الذي يحدث على بعض أجهزة Samsung عند إيقاف التطبيق مؤقتًا أو استئنافه بسرعة كبيرة (Iaca26).
الإصدار 1.3.0-alpha03
25 كانون الثاني (يناير) 2023
تم طرح "androidx.camera:camera-*:1.3.0-alpha03
". يتضمّن الإصدار 1.3.0-alpha03 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
CameraInfo.getIntrinsicZoomRatio
لتوفير معلومات حول زاوية الرؤية المتعلقة بالكاميرا التلقائية. (Ib300c) - تمت إضافة
CameraInfo.getLensFacing
لتوفير معلومات حول واجهة العدسة. تمت إضافة "CameraSelector#LENS_FACING_EXTERNAL
" كميزة تجريبية لاختيار الكاميرات الخارجية. (Icaf3e) - يمكنك إضافة
#setEffect()
إلىCameraController
للسماح بإضافة تأثيرات إلى شاشة إخراج الكاميرا. (I1d21f) - يمكنك إضافة طريقة
invalidate()
إلىSurfaceRequest
. يمكن لموفّر مساحة التخزين إرسال إشعار بأنّ السطح الذي تم تقديمه في السابق لم يعُد صالحًا. (Idc649) - إضافة واجهة برمجة تطبيقات
ImageProcessor
تم تصميم هذه الواجهة لإدخال تأثيرات ما بعد المعالجة في مسارImageCapture
. (I575c6) - تمت إضافة واجهة برمجة التطبيقات
Recorder.Builder.setAspectRatio()
التي يمكن دمجها معQualitySelector
لتوفير المزيد من درجات دقة الفيديو. (I8a082) - تمت إضافة
Recorder.Builder#setTargetVideoEncodingBitRate
لضبطBitRate
وRecorder#getTargetVideoEncodingBitRate
لترميز الفيديو المستهدف للحصول على معدل نقل بيانات ترميز الفيديو المستهدف. (I5984d)
إصلاح الأخطاء
- تعذّر إصلاح
ImageCapture
عندما لا يكون هناك وحدة فلاش ويكون وضع الفلاش مفعَّلاً. (I9e8b4، b/263391112) - تم إصلاح مشكلة تلف صورة JPEG في حال كتابة بيانات موقع Exif على بعض أجهزة Samsung التي تعمل بالإصدار 12 من نظام التشغيل Android. (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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات جديدة لتطبيق تأثير ما بعد المعالجة على ناتج المعاينة (Ic17d5)
- تمت إعادة تسمية "
OutputOptions.getDurationLimit
" إلى "OutputOptions.getDurationLimitMillis
" و"OutputOptions.setDurationLimit
" إلى "OutputOptions.setDurationLimitMillis
". (I91f0c) - أضِف صفًا واحدًا (
AudioConfig
) لضبط الإعدادات المتعلّقة بالصوت أثناء تسجيل الفيديو. تم نقل التعليق التوضيحي@RequiresPermission
من دوالstartRecording
إلىAudioConfig
لتجنُّب طلبات الأذونات غير الضرورية في الحالات التي لا يكون فيها الصوت مطلوبًا. (I28755) - يمكنك إزالة البيانات الوصفية وصفوف
OnVideoSavedCallback
وOutputFileOptions
وOutputFileResults
التي لم تعُد مُستخدَمة بعد تطبيق واجهة برمجة التطبيقات الجديدة لالتقاط الفيديو. (I38cd8) - تطبيق واجهة برمجة التطبيقات الجديدة لالتقاط الفيديو يتم استبدال الطريقتَين
getVideoCaptureTargetSize
وsetVideoCaptureTargetSize
بالطرقgetVideoCaptureTargetQuality
وsetVideoCaptureTargetQuality
وفقًا لذلك، لأنّsetTargetResolution
لم تعُد متاحة. (I2a1d5)
إصلاح الأخطاء
- إزالة واجهة برمجة التطبيقات
core.VideoCapture
المتوقفة نهائيًا (I531e0) - تم إصلاح المشكلة المتمثلة في عدم استدعاء
onError
عند التقاط صور بدون إذن التخزين.(I936db، b/244807669) - حسِّن جودة إضافات الكاميرا وموثوقيتها. تم إيقاف إضافات الكاميرا على أجهزة Motorola التي تستخدم الإصدار 1.1.0 والإصدارات الأقدم من "إضافات الكاميرا" بسبب مشاكل متعلقة بدعم Bokeh والتقاط الصور والمعاينة وعدم استئناف البث. (Id3ce3)
- تم إصلاح العُطل الأصلي عند تفعيل ميزة اقتصاص الفيديو عبر
ViewPort
على الأجهزة القديمة. (I16b8a، b/251357665)
الإصدار 1.3.0-alpha01
9 تشرين الثاني (نوفمبر) 2022
تم طرح "androidx.camera:camera-*:1.3.0-alpha01
". يحتوي الإصدار 1.3.0-alpha01 على هذه الالتزامات.
الميزات الجديدة
- تم نشر "
Camera-viewfinder
" رسميًا. يوفّرCamera-viewfinder
تطبيق مصغّر لعدسة الكاميرا الأساسية يمكنه عرض خلاصة الكاميرا للكاميرا2. يُرجى التحقق من نموذج الرمز للحصول على مثال.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
OutputOptions.setDurationLimit
للسماح بضبط الحد الأقصى لمدة الفيديو. سيتم إنهاء التسجيل تلقائيًا عند تجاوز الحدّ الأقصى للمدة المحدّدة. (I902a0) - إضافة حالة الخطأ في تسجيل الفيديو الصوتي
AudioStats.AUDIO_STATE_SOURCE_ERROR
. يتم إرساله عند تعذُّر إعداد مصدر الصوت أو حدوث خطأ ما. (I37410)
إصلاح الأخطاء
- أضِف المراوغة للسماح لبعض الأجهزة المسببة للمشاكل بإعادة محاولة الالتقاط مرة واحدة عند مواجهة حالات تعذُّر الالتقاط. (Id4795)
- حلّ مشكلة الشاشة السوداء لتنفيذ
SurfaceView
PreviewView
علىViewPager2
كجزء من عملية الإصلاح، سيعيد "PreviewView
" استخدام الميزة "SurfaceView
" في حال عدم تغيير درجة الدقة المطلوبة. (Ib3f27) - إتاحة اقتصاص الفيديو (ميزة WYSIWYG) عند استخدام واجهة برمجة التطبيقات
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 التي تعمل بالإصدار 12 من نظام التشغيل Android. (b/263289024)
الإصدار 1.2.0
7 كانون الأول (ديسمبر) 2022
تم طرح "androidx.camera:camera-*:1.2.0
". يتضمّن الإصدار 1.2.0 هذه الالتزامات.
التغييرات المهمة منذ الإصدار 1.1.0
- مكتبة كاميرا mlkit-vision جديدة. يمكنك دمج CameraX بسهولة مع العديد من ميزات MLKit، بما في ذلك مسح الرمز الشريطي ورصد الوجوه ورصد النصوص وغير ذلك. تمت إضافة
MLKitAnalyzer
كواجهات برمجة تطبيقات جديدة. - واجهة برمجة تطبيقات تجريبية جديدة تقتصر تحسين مسار الالتقاط للحصول على وقت استجابة أفضل مع الحفاظ على جودة الصور العالية عند ضبط وضع الالتقاط على
CAPTURE_MODE_ZERO_SHUTTER_LAG
، من المتوقّع أن يتم تصغير وقت الاستجابة بين زر الالتقاط والتقاط الصورة، مقارنةً بأوضاع الالتقاط الأخرى. على الأجهزة غير المتوافقة، سيتم استخدامCAPTURE_MODE_MINIMIZE_LATENCY
بدلاً منZERO_SHUTTER_LAG
. - إيقاف
android.camera.core.VideoCapture
- تمت إضافة
setStreamUseCase()
باعتباره واجهة برمجة تطبيقاتCamera2Interop
عامة. - تمت إضافة متطلبات مستوى واجهة برمجة التطبيقات لـ
setOutputImageRotationEnabled
. - تمت إعادة تسمية "
ImageAnalysis.Analyzer#getTargetResolutionOverride()
" إلى "ImageAnalysis.Analyzer#getDefaultTargetResolution()
". - تمت إضافة واجهة برمجة التطبيقات لضبط البيانات الوصفية للموقع الجغرافي في الفيديو المحفوظ.
- تم إصلاح عدد اللقطات المنخفض في الثانية عند استخدام
VideoCapture
ومعاينة حالات الاستخدام مع نسبة عرض إلى ارتفاع تبلغ 16:9 - تم إصلاح مشكلة المعاينة السوداء التي تحدث عند تفعيل إضافة BOKEH على بعض أجهزة Samsung وعندما يبدِّل المستخدم الكاميرات.
- تم تمديد مشكلة Samsung J7 Prime (SM-G610M) وJ7 (SM-J710MN)
Preview/VideoCapture
على الأجهزة من المستوى 27 من واجهة برمجة التطبيقات. - تم إيقاف الحل البديل لقلب منطقة التركيز التلقائي (AF) أفقيًا للكاميرات الأمامية على جهاز Samsung Android T منذ حلّ المشكلة.
الإصدار 1.2.0-rc01
24 تشرين الأول (أكتوبر) 2022
تم طرح "androidx.camera:camera-*:1.2.0-rc01
". يحتوي الإصدار 1.2.0-rc01 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات
setStreamUseCase
لـOutputConfiguration
. يمكن للمستخدم تحديد حالة استخدام مجموعة البث لجلسة البث، وبذلك يتم تجاوز المناطق المنطقية الداخلية في CameraX لاختيار حالة استخدام ساحة المشاركات لتحسينه بما يتناسب مع احتياجاته. (Ib1a95)
إصلاح الأخطاء
- تم تمديد مشكلة Samsung J7 Prime (SM-G610M) وJ7 (SM-J710MN)
Preview/VideoCapture
على الأجهزة من المستوى 27 من واجهة برمجة التطبيقات. تؤدي درجة الدقة 1920×1080 إلى تمديد صورPreview/VideoCapture
. تمت إضافة حل بديل لعدم اختيار درجة الدقة 1920×1080 للمعاينة أوVideoCapture
لتجنُّب مشكلة توسيع الصورة. (I0e04e) - تم إصلاح عدد اللقطات المنخفض في الثانية عند استخدام
VideoCapture
ومعاينة حالات الاستخدام مع نسبة عرض إلى ارتفاع تبلغ 16:9 على بعض أجهزة Huawei. (If8c88، b/223643510) - تم إصلاح تعذُّر فتح الكاميرا عند عدم ضبط
SurfaceProvider
للمعاينة. كجزء من عملية الإصلاح، لن يتم ضبط المعاينة التي لم يتم ضبطSurfaceProvider
لها في جلسة التقاط الكاميرا. (I99681)
الإصدار 1.2.0-beta02
21 أيلول (سبتمبر) 2022
تم طرح "androidx.camera:camera-*:1.2.0-beta02
". يتضمّن الإصدار 1.2.0-beta02 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إضافة متطلبات مستوى واجهة برمجة التطبيقات للنطاق
setOutputImageRotationEnabled
(I26e3e، b/240993561)
إصلاح الأخطاء
- تم إيقاف الحل البديل لقلب منطقة التركيز التلقائي (AF) أفقيًا للكاميرات الأمامية على جهاز Samsung Android T منذ حلّ المشكلة. (I05f69)
- تم إصلاح مشكلة المعاينة السوداء التي تحدث عند تفعيل إضافة
BOKEH
على بعض أجهزة Samsung وعندما يبدِّل المستخدم الكاميرات. (If6168)
الإصدار 1.2.0-beta01
24 آب (أغسطس) 2022
تم طرح "androidx.camera:camera-*:1.2.0-beta01
". يحتوي الإصدار 1.2.0 -beta01 على هذه الالتزامات.
الميزات الجديدة
- المكتبة الجديدة
camera-mlkit-vision
يمكنك دمج CameraX بسهولة مع العديد من ميزات MLKit، بما في ذلك مسح الرمز الشريطي ورصد الوجوه ورصد النصوص وغير ذلك. يُرجى العثور على نموذج الرمز هنا. - واجهة برمجة تطبيقات تجريبية جديدة للاستخدام بدون محدّدة للإغلاق. تحسين مسار الالتقاط للحصول على وقت استجابة أفضل مع الحفاظ على جودة الصور العالية عند ضبط وضع الالتقاط على CAPTURE_mode_ZERO_SHUTTER_LAG، من المتوقع أن يتم تصغير وقت الاستجابة بين زر الالتقاط والتقاط الصورة، مقارنةً بأوضاع الالتقاط الأخرى. على الأجهزة التي لا تتوافق مع ZERO_SHUTTER_LAG، سيتم الرجوع إلى CAPTURE_mode_MINIMIZE_LATENCY.
- تم إنشاء
ImageAnalysis.Analyzer
وMLKitAnalyzer
كواجهات برمجة تطبيقات رسمية. - واجهة برمجة التطبيقات المكشوفة لضبط البيانات الوصفية للموقع الجغرافي في الفيديو المحفوظ
- إعادة تسمية "
ImageAnalysis.Analyzer#getTargetResolutionOverride()
" إلى "ImageAnalysis.Analyzer#getDefaultTargetResolution()
".
إصلاح الأخطاء
- تم إصلاح مشكلة التقاط صورة 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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إعادة تسمية "
ImageAnalysis.Analyzer#getTargetResolutionOverride()
" إلى "ImageAnalysis.Analyzer#getDefaultTargetResolution()
". ويتم أيضًا تغيير السلوك بحيث يمكن إلغاء القيمة التي تعرضها هذه الطريقة باستخدام القيمةImageAnalysis#setTargetResolution()
. (If1d36) - واجهة برمجة التطبيقات المكشوفة لضبط البيانات الوصفية للموقع الجغرافي في الفيديو المحفوظ يمكن ضبط عنصر
android.location.Location
من خلال واجهة برمجة التطبيقات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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي التجريبي لـ
ImageAnalysis.Analyzer
وMLKitAnalyzer
. (I0ff22)
إصلاح الأخطاء
- تمت إضافة مهلة التركيز التلقائي التلقائية التي تبلغ 5000 ملي ثانية، والتي ستكمل الجزء التلقائي لميزة "التركيز التلقائي" بالقيمة
isFocusSuccessful
إذا لم يتم إلغاءFocusMeteringAction
ولم يتم تقريب جزء التركيز التلقائي في المدة. (Ibc2e3) - حل المشكلة لالتقاط صورة باستخدام المعاينة غير المرتبطة (I1d3a2، b/235119898)
- تم تفعيل تنفيذ الموسِّع المتقدم وتحديث إصدار واجهة إضافات دعم CameraX إلى الإصدار 1.2 (I92256).
الإصدار 1.2.0-alpha02
1 حزيران (يونيو) 2022
تم طرح "androidx.camera:camera-*:1.2.0-alpha02
". يحتوي الإصدار 1.2.0-alpha02 على هذه الالتزامات.
الميزات الجديدة
- اعرض واجهة برمجة التطبيقات CameraX Zero-Launchter Lag API كتجربة.
تغييرات واجهة برمجة التطبيقات
- أضِف وضع الالتقاط الجديد
CAPTURE_MODE_ZERO_SHUTTER_LAG
فيImageCapture
وأضِفisZslSupported
فيCameraInfo
للاستعلام عن إمكانات الجهاز. يهدف وضع "CAPTURE_MODE_ZERO_SHUTTER_LAG
" إلى توفير الحدّ الأدنى من وقت الاستجابة لالتقاط الصور الفورية. ويتم تنفيذه استنادًا إلى المخزن المؤقت للرنين، الذي يخزن نتائج الالتقاط الوسيطة لإعادة معالجتها لاحقًا عندما يضغط المستخدم على الأزرار لالتقاط الصور. في حال ربط {@link VideoCapture} أو عدم إيقاف وضع الفلاش أو تفعيل إضافة المصنِّع الأصلي للجهاز، سيتم إيقاف هذا الوضع تلقائيًا. (I9ae74) - إضافة طريقة
ImageAnalysis.getBackgroundExecutor()
(Icc945)
إصلاح الأخطاء
- تم إصلاح طريقة أخذ صورة (
ImageCapture
) تعمل على إطفاء الكشاف على الأجهزة التي تم الإبلاغ عنها. (Ib5eb5، b/228272227) - تم إصلاح خطأ تعذُّر معالجة
AssertionError
عند الحصول على السمةCONTROL_ZOOM_RATIO_RANGE
.(/Ia248a، b/231701345)
الإصدار 1.2.0-alpha01
18 أيار (مايو) 2022
تم طرح "androidx.camera:camera-*:1.2.0-alpha01
". يحتوي الإصدار 1.2.0-alpha01 على هذه الالتزامات.
الميزات الجديدة
- إطلاق الإصدار الجديد من كاميرا mlkit-vision
إصلاح الأخطاء
- تعذَّر على
QualitySelector
الثابتة تسجيل فيديو بدقة فائقة عند تفعيل استراتيجية احتياطية. تحدث هذه المشكلة عند ربطVideoCapture
بـImageCapture
ومعاينة على جهاز كاميرا بمستوى كامل أو أعلى. تؤدي الاستراتيجية الاحتياطيةQualitySelector
إلى حصولVideoCapture
على دقة FHD بشكل غير صحيح. يمكن استخدام درجة الدقة الفائقة في مجموعة حالات الاستخدام هذه ويجب اعتمادها. (I0e788، b/230651237) - تم تثبيت
NullPointerException
فيImageCapture.takePicture()
. (I92366 وb/230454568 وb/229766155) - إصلاح سلوك الإيقاف المؤقت غير المتزامن في
androidx.camera.video.Recorder
(Ia8ce8)
الكاميرا-الكاميرا2، الكاميرا الأساسية، دورة حياة الكاميرا، والكاميرا - الإصدار 1.1.0
الإصدار 1.1.0
29 حزيران (يونيو) 2022
تم طرح "androidx.camera:camera-*:1.1.0
". يتضمّن الإصدار 1.1.0 هذه الالتزامات.
التغييرات المهمة منذ الإصدار 1.0.0
- إنّ مكتبات العرض المسطّح ومكتبات الإضافات والتقاط الفيديو هي أول إصدار من ميزة "الإعداد عن بُعد". ومن الإصدار 1.1.0 إلى الإصدار التجريبي 01، ستتم محاذاة رقم الإصدار نفسه لجميع مكتبات CameraX. وسيساعد ذلك المطوّرين على تتبُّع الإصدارات بسهولة أكبر وتقليل تعقيد مصفوفات توافق الإصدارات الكبيرة.
- تم تقديم واجهات برمجة تطبيقات وميزات عامة جديدة، بما في ذلك:
- أضِف المكتبة الرسمية للفيديوهات والكاميرا لدعم حالات استخدام التقاط الفيديوهات.
- إمكانية التحويل والتدوير من نموذج YUV إلى نموذج أحمر أخضر أزرق (
ImageAnalysis.Builder.setOutputImageRotationEnabled
وsetOutputImageFormat
) - يمكنك إتاحة وضع النوافذ المتعددة من خلال السماح لتطبيقات CameraX باستئناف تشغيل الكاميرا عندما يقاطع تطبيق آخر الكاميرا ويعيد التركيز.
- ضمان عمل CameraX بشكل جيد في الأجهزة القابلة للطي من خلال إصلاح بعض المشاكل في المعاينة
- تمت إضافة واجهة برمجة التطبيقات
CameraState
التي سيتم الكشف عنها من خلال CameraInfo. - تمت إضافة واجهة برمجة التطبيقات
ProcessCameraProvider.getAvailableCameraInfos()
لاسترداد المعلومات مباشرةً حول الكاميرات المتاحة. - عند تفعيل الإضافات، يمكنك الحصول على تنسيق JPEG لـ
ImageCapture#OnImageCapturedCallback
. - تمت إضافة واجهة برمجة التطبيقات
isFocusMeteringSupported
فيCameraInfo
للسماح للتطبيقات بالتحقق مما إذا كانت واجهةFocusMeteringAction
المحدّدة متوافقة مع الكاميرا الحالية أم لا. - تم الكشف عن واجهة برمجة تطبيقات
getResolutionInfo
بهدف توفير معلومات الحلّ لكل من المعاينة وImageCapture
وImageAnalysis
. - تمت إضافة
ImageCapture.Builder#setJpegQuality
واجهة برمجة تطبيقات جديدة للسماح بتغيير جودة ضغط الصور بتنسيق JPEG عند التقاط الصور. - تمت إضافة
CameraSelector#filter
إلى واجهة برمجة التطبيقات العامة لفلترة قائمةCameraInfos
استنادًا إلىCameraSelector
. - تمت إضافة
Camera2CameraControl.clearCaptureRequestOptions
لمحو خيارات طلب الالتقاط الحالية. - تمت إضافة واجهة برمجة تطبيقات تجريبية لاستخدام
CameraController
مع مكتبات معالجة الصور الخارجية، مثل MLKit - تمت إضافة واجهة برمجة التطبيقات
CameraInfo#getCameraSelector()
التجريبية التي تعرض رمزCameraSelector
الفريد للكاميرا - ترويج العديد من واجهات برمجة التطبيقات التجريبية إلى واجهات برمجة تطبيقات عامة رسمية
- تم استبدال التعليق التوضيحي
@Experimental
بـ@RequiresOptIn
بواجهات برمجة تطبيقات تجريبية. ولاستدعاء واجهات برمجة التطبيقات التجريبية، يمكنك استخدام androidx.annotation.OptIn بدلاً من androidx.annotation.experimental.Useexperimental نهائيًا. - تم ترقية واجهات برمجة التطبيقات التجريبية التالية إلى واجهات برمجة تطبيقات رسمية:
CameraXConfig.Builder#setAvailableCamerasLimiter()
وCameraXConfig.Builder#setMinimumLoggingLevel()
وCameraXconfig.Builder#setSchedulerHandler()
وCameraXConfig#getAvailableCamerasLimiter()
وCameraXConfig#getMinimumLoggingLevel()
وCameraXConfig#getCameraExecutor()
وCameraXConfig#getSchedulerHandler()
، @ExperimentalCameraFilter
واجهات برمجة تطبيقات- واجهات برمجة التطبيقات التجريبية لتعويض التعرض للضوء.
- تم الترويج لواجهة برمجة التطبيقات
UseCaseGroup
التجريبية لعدسة الكاميرا ومراحل نشاط الكاميرا وتصوير الفيديو. تمت إضافةViewPort#getLayoutDirection
وViewPort.Builder#setLayoutDirection
وViewPort.Builder#setScaleType
لتخصيص إطار العرض. - تم ترقية
ExperimentalUseCaseGroupLifecycle
إلى واجهات برمجة تطبيقات عامة رسمية. - التغييرات على واجهات برمجة التطبيقات الحالية
Renamed MediaStoreOutputOptions.getCollection
لـMediaStoreOutputOptions.getCollectionUri
.- تم تغيير اسم
ActiveRecording
إلى "التسجيل" لتقليل الإسهاب. - تم تغيير واجهة برمجة تطبيقات صانع المحتوى في
QualitySelector
إلى واجهة برمجة تطبيقات مستندة إلى القائمة.
إصلاح الأخطاء
- تم إصلاح مشكلة
EOFException
YuvToJpegProcessor
عند تفعيل وضع الإضافة وضبط الوضع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 على هذه الالتزامات.
الميزات الجديدة
- إطلاق أول إصدار من ميزة "الإعداد عن بُعد" لتفعيل ميزة عرض الفيديو بالكاميرا، وعرض الكاميرا، وإضافة الكاميرا
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثلة في عدم إصدار برنامج ترميز الفيديو عند إلغاء ربط
VideoCapture<Recorder>
، والتي تتسبب في إخفاق الاستخدامات اللاحقة لـVideoCapture<Recorder>
في التسجيل باستخدامMediaCodec.CodecException
، خاصةً على الأجهزة التي تستخدم الإصدار 21 إلى 22 من واجهة برمجة التطبيقات. (Ie7f68) - لا يتم حذف صور
CameraExtensionsActivity
الملتقطة فيImageCaptureTest
.
الإصدار 1.1.0-beta03
6 نيسان (أبريل) 2022
تم طرح "androidx.camera:camera-*:1.1.0-beta03
". يتضمّن الإصدار 1.1.0-beta03 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تم فرض قيود على دالة إنشاء
CaptureRequestOptions
. (I261b6) - تمت إضافة واجهة برمجة تطبيقات تجريبية لاستخدام
CameraController
مع مكتبات معالجة الصور الخارجية، مثلاً MLKit (I4ea71).
إصلاح الأخطاء
- تم إصلاح المشكلة التي تصبح المعاينة جانبية في
PreviewView
عند عدم إعادة تشغيل النشاط بعد تدوير الأجهزة في نوافذ متعددة. (I1ea36، b/223488673) - يُرجى حلّ مشكلة النوافذ المتعددة التي تؤدي إلى تعذُّر استئناف تشغيل الكاميرا عند تغيير التركيز على التطبيق، وذلك عندما (1) يفتح تطبيق آخر ذو أولوية عالية كاميرا مختلفة (2) يكون الجهاز هو أجهزة Samsung التي تعمل بالإصدار 12 من نظام التشغيل Android. (I7e9f2)
- تم تضمين حل بديل للأجهزة التي تتعطّل عند التحقق من توفُّر الفلاش. لن يتوفّر الكشاف في هذه الأجهزة. (If26a3، b/216667482)
- حدثت مشكلة
AbstractMethodError
عندما تستخدم التطبيقات الإضافات مع تفعيل Proguard. (I7cbaf، b/222726805) - يمكنك فرض إيقاف وضع إضافة الخلفية الخلفية على جهاز Motorola Razr 5G، ما سيؤدي إلى حدوث مشكلة في شاشة المعاينة السوداء. (I35d49)
- تم إصلاح عدم مزامنة الصوت/الفيديو بعد الإيقاف المؤقت والاستئناف على بعض أجهزة Samsung قبل واجهة برمجة التطبيقات 29 السابقة. (I64622 وb/202798609 وb/202798572)
- تم إصلاح عدم مزامنة الصوت/الفيديو بعد الإيقاف المؤقت والاستئناف على Sony G3125. (I2a1a5، b/202799148)
- تم إصلاح عطل عندما واجه تطبيق "المسجّلة الذكية"
InvalidConfigException
. ومع ذلك، فإن هذا الإصلاح يمنع تعطُّل التطبيق فقط، ولكنه لا يحل سببInvalidConfigException
. في حال استمرار تعذُّر ضبط "Recorder
"، ستتلقّى التطبيقات معاودة الاتصال برسالة الخطأ عند بدء التسجيل. (I89c29، b/213617227)
المساهمة الخارجية
- تم التحديث :compose:ui:ui-test api (updateApi) بسبب نقل البيانات test-coroutines-lib (I3366d)
الإصدار 1.1.0-beta02
23 شباط (فبراير) 2022
تم طرح "androidx.camera:camera-*:1.1.0-beta02
". يتضمّن الإصدار 1.1.0 -beta02 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- يمكنك إضافة إمكانية تحديد معرّف الكاميرا الفعلي من خلال Camera2Interop. (I5aed8)
إصلاح الأخطاء
- تم إصلاح مشكلة المعاينة الإضافية على Oppo Find N (I7d004).
- تم إصلاح مشكلة Galaxy J7 Prime التي تؤدي إلى تشويه المعاينة. (I4c500)
- استخدِم معدل نقل بيانات متوافق للعثور على برنامج ترميز الفيديو. (d969052)
الإصدار 1.1.0-beta01
26 يناير 2022
تم طرح "androidx.camera:camera-*:1.1.0-beta01
". يتضمّن الإصدار 1.1.0-beta01 هذه الالتزامات.
الميزات الجديدة
- ومن الإصدار 1.1.0 إلى الإصدار التجريبي 01، ستتم محاذاة رقم الإصدار نفسه لجميع مكتبات CameraX. وسيساعد ذلك المطوّرين على تتبُّع الإصدارات بسهولة أكبر وتقليل تعقيد مصفوفة توافق الإصدارات الكبيرة.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
Camera2CameraControl.clearCaptureRequestOptions
لمحو خيارات طلب الالتقاط الحالية. (Ifa07d)
إصلاح الأخطاء
- تم إصلاح العطل عند تسجيل الفيديو على بعض الأجهزة التي تعمل بالإصدارات السابقة من نظام التشغيل Android O(API 26). (I88fdf، b/212328261)
- تم إصلاح المشكلة "منطقة التركيز التلقائي غير الصحيحة" عند استخدام
cameraControl#startFocusAndMetering()
على الكاميرا الأمامية للعدسة في أجهزة Samsung (Ifbf59، b/210548792). - استخدام الكشاف كفلاش على هاتفَي Pixel 3a/Pixel 3a XL لتحسين السرعة وجودة الصورة التي يتم التقاطها في الظلام (Ib12b6، b/211474332)
- تم تفعيل التطبيقات لاستئناف تشغيل الكاميرا عندما تتم مقاطعة الكاميرا من خلال تطبيق آخر ذي أولوية أعلى في وضع النوافذ المتعددة ويتغير التركيز مرة أخرى إلى التطبيق. يُرجى العلم أنّه قد يكون هناك بعض وقت الاستجابة(من ثانية واحدة إلى 10 ثوانٍ أو أكثر) بين تغييرات التركيز وإعادة فتح الكاميرا بسبب مشكلة في إطار العمل. (I4d092)
الإصدار 1.1.0-alpha12
15 كانون الأول (ديسمبر) 2021
تم طرح "androidx.camera:camera-*:1.1.0-alpha12
". يحتوي الإصدار 1.1.0-alpha12 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة تعليقات
@RequiresApi(21)
التوضيحية غير الضرورية من الصفوف/الواجهات الداخلية. (I8e286، b/204917951) - تم تغيير ثوابت الجودة وثوابت الاستراتيجية الاحتياطية لـ
QualitySelector
ليتم تمثيلها بكائنات الفئة. على سبيل المثال، تم تغييرQualitySelector.QUALITY_HD
إلىQuality.HD
وتغييرQualitySelector.FALLBACK_STRATEGY_LOWER
إلى المثيل الذي يعرضهFallbackStrategy.lowerQualityOrHigherThan(Quality)
. تم تغيير واجهة برمجة التطبيقات المستخدمة لإنشاءQualitySelector
إلى واجهة برمجة تطبيقات مستندة إلى قائمة. ستشير واجهة برمجة التطبيقاتQualitySelector.fromOrderedList(List<Quality>)
الجديدة إلى ترتيب قائمة جودة الإدخال بدلاً من الترتيب الذي تم إنشاؤه من قِبلQualitySelector.Procedure
. تمت إزالة صف واحد (QualitySelector.Procedure
). (I43343) - تمت إزالة
PendingRecording.withEventListener()
ويجب تمرير أداة معالجة الحدث إلىPendingRecording.start()
. تهدف متطلبات أداة معالجة الحدث هذه إلى تشجيع معالجة الأخطاء غير المتزامنة التي يتم الإبلاغ عنها في حدثVideoRecordEvent.Finalize
. (I1e71d) - تمت إعادة تسمية "
ActiveRecording
" إلى "Recording
" لتقليل الإسهاب. (I77ceb)
إصلاح الأخطاء
- تم إصلاح المشكلة التي تؤدي إلى ظهور صور غير معرّضة بشكل كافٍ في وضع "
FLASH_AUTO
" في ظروف الظلام على هاتفَي Pixel 3a وPixel 3a XL (I13f19، b/205373142). - استخدِم دائمًا أحدث حجم للعرض لتحديد المعاينة
Resolution
. (I4a694) - تمت فلترة الكاميرات التي لا تحتوي على
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. تتضمّن الكاميرات المزوّدة بـREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
الحدّ الأدنى من الإمكانيات التي تتوافق مع كل كاميرا على حدة. الكاميرا التي لا تحتوي على السمةREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
قد تكون كاميرا تتيح وظائف خاصة ولا تتيح إخراج الألوان العادي. لا تتوافق منصةCameraX
مع حالات الاستخدامPreview
أوImageCapture
أوImageAnalysis
أوVideoCapture
لتلك الكاميرات. لذلك، يجب فلترة هذه الكاميرات لمنع الاستخدام غير الصحيح. (Ib8cda) - لم يعد
CameraSelector#filter
يعرض الخطأIllegalArgumentException
عندما تكون مجموعة النتائج فارغة. (I27804) - ويتم الآن استخدام إشارات إرشادية أكثر ذكاءً لاختيار إعدادات برنامج الترميز استنادًا إلى الملفات الشخصية التي حدّدها المصنّع الأصلي للجهاز. (Iaeef0)
- ستتضمّن المعاينة الثابتة خطوطًا ملوَّنة متداخلة بعد بدء تسجيل الفيديو بدقة فائقة على Pixel1. (I833c6، b/205340278)
الإصدار 1.1.0-alpha11
17 تشرين الثاني (نوفمبر) 2021
تم طرح "androidx.camera:camera-*:1.1.0-alpha11
". يحتوي الإصدار 1.1.0-alpha11 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة CameraSelector#filter إلى واجهة برمجة التطبيقات العامة لفلترة قائمة معلومات الكاميرا استنادًا إلى "أداة اختيار الكاميرا". (I105d0)
إضافة واجهة برمجة التطبيقات setOUTImageRotationEnabled لإعداد ImageAnalysis يمكن للمستخدم تفعيل الدوران للمخزن المؤقت للصور YUV/RGB. درجة الدوران هي دوران نسبي يتم حسابه استنادًا إلى دوران أداة الاستشعار ودوران الهدف لإبقاء الصورة في الأمام.
إضافة واجهة برمجة التطبيقات setOUTImageRotationEnabled لإعداد ImageAnalysis يمكن للمستخدم تفعيل الدوران للمخزن المؤقت للصور YUV/RGB. درجة الدوران هي دوران نسبي يتم حسابه استنادًا إلى دوران أداة الاستشعار ودوران الهدف لإبقاء الصورة في الأمام.
أضِف واجهة برمجة تطبيقات
getSensorToBufferTransformMatrix
في ImageInfo المصفوفة التي يتم عرضها هي تعيين من إحداثيات أداة الاستشعار إلى إحداثيات التخزين المؤقت، أي من القيمةCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
إلى(0, 0, image.getWidth, image.getHeight)
. يمكن استخدام المصفوفة لتعيين الإحداثيات من حالة {UseCase} إلى أخرى. على سبيل المثال، يتم رسم إحداثيات للوجه الذي تم رصده باستخدام ميزة "تحليل الصورة" لتتمكن من المعاينة. (I9ff1e)تمت إضافة ImageCapture.Builder#setJpegQuality إلى واجهة برمجة التطبيقات للسماح بتغيير جودة ضغط صورة JPEG عند التقاط الصور. (I8dcf4)
تمت إعادة تسمية MediaStoreOUTOptions.getCollection إلى MediaStoreOUTOptions.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
كأول إصدار ألفا للفيديو رسميًا. هناك العديد من المشاكل المعروفة التي يجب حلّها في الإصدارات اللاحقة.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة التعليق التوضيحي
@RequiresApi(21)
إلى جميع فئات CameraX وتم تجاهل minSdkVersion من AndroidManifest.xml. سيتيح ذلك دمج نواة الكاميرا بسهولة في التطبيقات التي تحتوي على إصدار minSdkVersion الأقل من 21، ولكنها تريد استخدام مسارات الرموز البرمجية التي تعتمد على واجهة برمجة التطبيقات 21 والإصدارات الأحدث بشكل مشروط. بالنسبة إلى أي تطبيق يتضمّن الإصدار 21 من حزمة minSdkVersion أو الإصدارات الأحدث، لا يتطلب هذا التغيير أي إجراء. (Ie7f2e، b/200599470)
إصلاح الأخطاء
- يمكنك تقديم استثناء PrimaryizationException حتى يتمكن التطبيق من التعامل مع AssertionError بشكل آمن عند إنشاء خصائص الكاميرا. (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 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي تجريبيUseCaseGroup الآن بعد أن لم تعد واجهات برمجة التطبيقات تجريبية. (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 على هذه الالتزامات.
الميزات الجديدة
- إضافة واجهة برمجة التطبيقات setOUTImageFormat API لإعداد تحليل الصور يمكن للمستخدم تحديد ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 أو ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. بشكل افتراضي، سيتم تحديد ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888. (I7902d)
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي تجريبيUseCaseGroupLifecycle الآن بعد أن لم تعد واجهات برمجة التطبيقات تجريبية. (I17b85)
إصلاح الأخطاء
- شاشة المعاينة الثابتة ساطعة جدًا على هاتف Huawei P20 Lite. تحدث هذه المشكلة فقط عند استخدام درجات دقة معينة للمعاينة مع قيمة تكبير كبيرة. (Idefce، b/192129158)
- تم حل مشكلة عدم عمل الفلاش على بعض الأجهزة عند ضبط وضع الفلاش على FLASH_mode_ON بعد فترة وجيزة من التقاط الصور. (Ieb49b)
- تم إصلاح المشكلة المتمثلة في إيقاف المعاينة لبعض الوقت عند التقاط الصور في حالة ربط VideoCapture وImageCapture وPreview. (I56197، b/193864120)
- يسمح هذا الإذن لميزة "تحليل الصور" باختيار درجة دقة أكبر من 1080p. يمكن لجهاز أعلى من مستوى LIMITED دعم دقة حجم السجلّ في "تحليل الصور" عندما يكون مرتبطًا مع "Preview" و"ImageCapture" معًا. وفي المقابل، يجب أن تكون درجة الدقة المحدّدة لـ ImageCapture هي درجة دقة حجم السجلّ. لتحديد درجة دقة حجم السجلّ في "تحليل الصورة" بنجاح، يجب ضبط درجة دقة هدف حجم السجلّ على كلّ من ImageCapture وImageAnalysis. يشير هذا إلى أن التطبيق يفهم بوضوح عملية المقايضة ويفضل أن يكون تحليل الصور درجة دقة أكبر بدلاً من أن يكون ImageCapture دقة الحد الأقصى. للاطّلاع على تعريفات التسجيل، والحدّ الأقصى للأحجام، والاطّلاع على مزيد من التفاصيل، يُرجى الانتقال إلى https://developer.android.com/reference/android/hardware/camera2/cameraDevice#regular-capture. يشير حجم السجلّ إلى أعلى درجة دقة متوافقة للتسجيل في جهاز الكاميرا، على النحو الذي تحدّده منصّة CamcorderProfile. يشير الحد الأقصى للحجم إلى الحد الأقصى لدقة إخراج جهاز الكاميرا لهذا التنسيق أو الهدف من StreamConfigurationmap.getOUTSizes(int). (I1ee97، b/192911449)
- أضف معلومات Exif إلى الصورة الملتقطة. (I01ff0، b/193342619)
- في ImageCapture، اعرض عنوان URI للصورة المحفوظة إذا كان موقع الحفظ هو "File" (ملف). (Ib5b49، b/149241379)
- تم حل مشكلة متعلقة بالتقاط صور باستخدام الفلاش، وهي تظهر على العديد من الأجهزة بمظهر داكن. (I4e510)
الإصدار 1.1.0-alpha07
21 تموز (يوليو) 2021
تم طرح androidx.camera:camera-camera2:1.1.0-alpha07
وandroidx.camera:camera-core:1.1.0-alpha07
وandroidx.camera:camera-lifecycle:1.1.0-alpha07
. يحتوي الإصدار 1.1.0-alpha07 على هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح مشكلة Samsung Galaxy Note 5 التي تؤدي إلى تعطُّل الكاميرا بعد التقاط صور باستخدام الفلاش مفعَّل/تلقائي في بيئة داكنة (If6871)
- تم إصلاح مشكلة
YuvToJpegProcessor
EOFException عند تفعيل وضع الإضافة وضبط الوضعImageCapture#CAPTURE_MODE_MAX_QUALITY
. (I538bd، b/192017012)
الإصدار 1.1.0-alpha06
30 حزيران (يونيو) 2021
تم طرح androidx.camera:camera-camera2:1.1.0-alpha06
وandroidx.camera:camera-core:1.1.0-alpha06
وandroidx.camera:camera-lifecycle:1.1.0-alpha06
. يحتوي الإصدار 1.1.0-alpha06 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- الترويج لواجهات برمجة التطبيقات التجريبية لتعويض التعرّض للضوء للكاميرا الأساسية (I08ee8)
- تمت إضافة واجهة برمجة التطبيقات isFocusMetering مدعومة في CameraInfo والتي تتيح للتطبيقات التحقق مما إذا كان FocusMeteringAction المحدد متوافقًا مع الكاميرا الحالية أم لا. (Ib45ae، b/188606490)
- تم الكشف عن واجهة برمجة التطبيقات getSolutionInfo API لتوفير معلومات الدقة للمعاينة وImageCapture وImageAnalysis. (I2b613، b/188600718)
- روَّجت واجهات برمجة التطبيقات التجريبية التالية إلى واجهات برمجة التطبيقات الرسمية: CameraXConfig.Builder#setAvailableCampaignsLimiter() , CameraXConfig.Builder#setLessLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler() , CameraXConfig#getAvailable Cameras اتصالer() , CameraXConfig#getLessController(), CameraXConfig#get CameraExecutor() , كاميراHandConfig#getDisplayler()
- تم كشف واجهة CameraProvider لتوفير إمكانية الوصول إلى مجموعة من الكاميرات. (I1a7b1)
- روِّج لواجهة برمجة التطبيقات UseCaseGroup API في التجربة الأساسية للكاميرا ومراحل نشاط الكاميرا وفيديو الكاميرا. تمت إضافة
ViewPort#getLayoutDirection
وViewPort.Builder#setLayoutDirection
وViewPort.Builder#setScaleType
لتخصيص إطار العرض. (I7cee8)
الإصدار 1.1.0-alpha05
2 حزيران (يونيو) 2021
تم طرح androidx.camera:camera-camera2:1.1.0-alpha05
وandroidx.camera:camera-core:1.1.0-alpha05
وandroidx.camera:camera-lifecycle:1.1.0-alpha05
. يحتوي الإصدار 1.1.0-alpha05 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة صف واحد (
Camera2CameraFilter
). اقتراح اختيار الكاميرا من خلال فلتر الكاميرا واسترداد خصائص الكاميرا أو المعلومات الأخرى ذات الصلة بـ Camera2 من خلال Camera2 CameraInfo إذا لزم الأمر. (Ib887c) - أمّا واجهات برمجة التطبيقات
ExperimentalCameraFilter
، فهي الآن خارج المرحلة التجريبية وتصبح واجهات برمجة تطبيقات رسمية. يمكن استخدامها بدون تفعيل التعليقات التوضيحية. (I4bc94) - تمت إضافة واجهة برمجة التطبيقات الخاصة بحالة الكاميرا التي تم الكشف عنها من خلال
CameraInfo#getCameraState()
. (Ia86b4) - تمت إضافة واجهة برمجة التطبيقات
CameraInfo#getCameraSelector()
التجريبية التي تعرض تطبيق CameraSelector فريد للكاميرا (I77f9f).
إصلاح الأخطاء
- تم إصلاح المشكلة التي يعرضها LearnableFuture في setZoomRatio وsetLinearZoom على بعض الأجهزة التي تعمل بالإصدار 11 من نظام Android (I716d7).
- تسريع عملية تبديل الكاميرا وتقليل معدّل حدوث الأخطاء في جهاز الكاميرا (I34c99)
- تم استبدال BETAUseCaseGroupLifecycle بتجارب MetadataUseCaseGroup. (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
بواجهات برمجة تطبيقات تجريبية. لطلب واجهات برمجة تطبيقات تجريبية، استخدِمandroidx.annotation.OptIn
بدلاً منandroidx.annotation.experimental.UseExperimental
المتوقفة نهائيًا. (Iff226) - تلتقط ميزة ImageCapture الثابتة باستخدام الفلاش مفعَّل/تلقائي صور غير واضحة على هاتف Samsung Galaxy S7. (I30001)
- تمت إضافة واجهة برمجة التطبيقات CameraState التي ستظهر من خلال CameraInfo. (I75392)
الإصدار 1.1.0-alpha03
24 آذار (مارس) 2021
تم طرح androidx.camera:camera-camera2:1.1.0-alpha03
وandroidx.camera:camera-core:1.1.0-alpha03
وandroidx.camera:camera-lifecycle:1.1.0-alpha03
. يتضمّن الإصدار 1.1.0-alpha03 هذه الالتزامات.
إصلاح الأخطاء
- يمكنك إخراج تنسيق JPEG لـ
ImageCapture#OnImageCapturedCallback
عند تفعيل أوضاع الإضافات. (I0d7b1) - إصلاح إخفاق الإعداد على أجهزة UMIDIGI BISON (I57d9e، b/180818665)
- تم إصلاح معاينة Samsung A3 الموسّعة في PreviewView. (Iacb30، b/180121821)
الإصدار 1.1.0-alpha02
24 شباط (فبراير) 2021
تم طرح androidx.camera:camera-camera2:1.1.0-alpha02
وandroidx.camera:camera-core:1.1.0-alpha02
وandroidx.camera:camera-lifecycle:1.1.0-alpha02
. يحتوي الإصدار 1.1.0-alpha02 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
ProcessCameraProvider.getAvailableCameraInfos()
لواجهة برمجة التطبيقات لاسترداد المعلومات مباشرةً حول الكاميرات المتاحة، والتي تكون جميع كاميرات الجهاز، أو تلك التي تختارهاCameraSelector
المتوفرة فيCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)
. (Ieac08)
إصلاح الأخطاء
- يحاول تطبيق CameraX الآن فرض فتح الكاميرا عند المحاولة الأولية، وقد يؤدي ذلك إلى سرقة الكاميرا الكاميرا عن برامج الكاميرا الأخرى عندما يكون للتطبيق أولوية أعلى. (Iab069، b/175820568)
- تم إصلاح إخفاق اختبار Robolectric عند استخدام setAvailable Cameraslimiteder في CameraXConfig. (Ice307)
- يستثني هذا التغيير عندما تصل قائمة انتظار الصور إلى الحد الأقصى في "تحليل الصور". لذا، بدلاً من تعطّله، قد تلاحظ توقُّف عمليات الاستخدام الأخرى أو بطء التطبيق عند استخدامه، مثل معاينة بطيئة/مجمّدة. (Ic12da، b/175851631)
- تم إصلاح AddErrorListener للإبلاغ عن الأخطاء عند ربط المعاينة أو ImageCapture فقط. (I5ae39)
- تم إصلاح تراجع أداء ImageCapture عن طريق إزالة التحقق من الموقع المحفوظ للصورة قبل التقاط الصورة. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق الأمر وقتًا أطول للحصول على استجابة لعدم اكتمال العملية لأنّها ستحاول حفظ الصورة بعد التقاطها. (I1fd4e، b/177061560)
- تم إصلاح انحدار أداء ImageCapture باستخدام نوع "File" (ملف) وثFileOptions. (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
التي حدثت عندما تكون جميع الأحجام المتوافقة مع المعاينة أصغر من 640×480 وحجم العرض أكبر من 640×480. (I2a63c، b/150506192) - الموارد في المكتبات التي لا تتضمن موارد عامة تم الإعلان عنها بشكل صريح (مثل عبر public.xml) أصبحت الآن خاصة بشكل تلقائي. (Ia1dcc، b/170882230)
الكاميرا-الكاميرا2، والكاميرا الأساسية، ودورة حياة الكاميرا 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)
الكاميرا-الكاميرا2، والكاميرا الأساسية، ودورة حياة الكاميرا 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)
الكاميرا-الكاميرا2، والكاميرا الأساسية، ودورة حياة الكاميرا 1.0.0
الإصدار 1.0.0
5 أيار (مايو) 2021
تم طرح androidx.camera:camera-camera2:1.0.0
وandroidx.camera:camera-core:1.0.0
وandroidx.camera:camera-lifecycle:1.0.0
. يتضمّن الإصدار 1.0.0 هذه الالتزامات.
الميزات الرئيسية للإصدار 1.0.0
- يتوافق تطبيق CameraX مع برامج Preview وImageCapture وAnalysis.
- يدير CameraX دورة حياة الكاميرا ضمن واجهة برمجة تطبيقات سهلة الاستخدام.
- تهدف CameraX إلى توفير طبقة توافق تعمل على حل العديد من المشاكل في المنظومة المتكاملة لكاميرا Android.
المشاكل المعروفة
- يُرجى مراجعة قائمة المشاكل المعروفة.
الإصدار 1.0.0-rc05
21 نيسان (أبريل) 2021
تم طرح androidx.camera:camera-camera2:1.0.0-rc05
وandroidx.camera:camera-core:1.0.0-rc05
وandroidx.camera:camera-lifecycle:1.0.0-rc05
. يحتوي الإصدار 1.0.0-rc05 على هذه الالتزامات.
إصلاح الأخطاء
- تلتقط ميزة ImageCapture الثابتة باستخدام الفلاش مفعَّل/تلقائي صور غير واضحة على هاتف Samsung Galaxy S7. (I30001)
الإصدار 1.0.0-rc04
24 آذار (مارس) 2021
تم طرح androidx.camera:camera-camera2:1.0.0-rc04
وandroidx.camera:camera-core:1.0.0-rc04
وandroidx.camera:camera-lifecycle:1.0.0-rc04
. يحتوي الإصدار 1.0.0-rc04 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاح إخفاق الإعداد على أجهزة UMIDIGI BISON (I57d9e، b/180818665)
الإصدار 1.0.0-rc03
24 شباط (فبراير) 2021
تم طرح androidx.camera:camera-camera2:1.0.0-rc03
وandroidx.camera:camera-core:1.0.0-rc03
وandroidx.camera:camera-lifecycle:1.0.0-rc03
. يحتوي الإصدار 1.0.0-rc03 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاح خطأ التنسيق في مستند
ProcessCameraProvider#getInstance
- إصلاح إخفاق اختبار Robolectric عند استخدام setAvailable Cameraslimiter في CameraXConfig.
- تم إصلاح تراجع أداء ImageCapture عن طريق إزالة التحقق من الموقع المحفوظ للصورة قبل التقاط الصورة. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق الأمر وقتًا أطول للحصول على الاستجابة لعدم تنفيذ الإجراء لأنّها ستحاول حفظ الصورة بعد التقاطها.
- يستثني هذا التغيير عندما تصل قائمة انتظار الصور إلى الحد الأقصى في "تحليل الصور". لذا بدلاً من التعطُّل، قد تلاحظ توقُّف بعض استخدامات الاستخدام الأخرى أو بطء التطبيق عند استخدامه، مثلاً معاينة بطيئة/مجمّدة.
- تم تضمين حل بديل لبيانات الصور التالفة المتقطّعة بتنسيق JPEG على الكاميرا الخلفية SM-G930T. (I52001، b/159831206)
- يستثني هذا التغيير عندما تصل قائمة انتظار الصور إلى الحد الأقصى في "تحليل الصور". لذا، بدلاً من تعطّله، قد تلاحظ توقُّف عمليات الاستخدام الأخرى أو بطء التطبيق عند استخدامه، مثل معاينة بطيئة/مجمّدة. (Ic12da، b/175851631)
- تم إصلاح إخفاق اختبار Robolectric عند استخدام setAvailable Cameraslimiteder في CameraXConfig. (Ice307)
- تم إصلاح تراجع أداء ImageCapture عن طريق إزالة التحقق من الموقع المحفوظ للصورة قبل التقاط الصورة. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق الأمر وقتًا أطول للحصول على استجابة لعدم اكتمال العملية لأنّها ستحاول حفظ الصورة بعد التقاطها. (I1fd4e، b/177061560)
- تم إصلاح انحدار أداء ImageCapture باستخدام نوع "File" (ملف) وثFileOptions. (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 على هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح مشكلة legalArgumentException عندما تكون جميع الأحجام المعتمدة للمعاينة أصغر من 640x480 وحجم العرض أكبر من 640x480. (b/150506192)
يُرجى الحدّ من عدد محاولات إعادة فتح الكاميرا. أثناء محاولة إصلاح مشاكل معيّنة عند فتح الكاميرا، لن تحاول CameraX بعد ذلك إعادة فتح الكاميرا إلى أجل غير مسمى، وستتوقف بدلاً من ذلك بعد إعادة المحاولة لمدة 10 ثوانٍ.I435d2
تم إصلاح مشكلة
IllegalArgumentException
التي حدثت عندما تكون جميع الأحجام المتوافقة مع المعاينة أصغر من 640×480 وحجم العرض أكبر من 640×480. (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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تم تغيير CameraFilter و Camera2Filter للحصول على معلومات CameraInfo. (I6883d)
- تمت إضافة الفئة التجريبية Camera2camControl للسماح بالتفاعل مع واجهات برمجة تطبيقات Camera2 بشكل ديناميكي. (I45cf3)
- تم إعادة تسمية Camera2 CameraInfo#from CameraInfo إلى #from. (Ia2bd6)
- تمت إضافة واجهة برمجة التطبيقات setAvailable CamerasLimiter إلى CameraXConfig للسماح للتطبيقات بتحسين وقت استجابة الإعداد من خلال تجنّب إعداد الكاميرات غير المستخدمة. (I6cf88)
- تمت إضافة الطريقة التجريبية
CameraXConfig.Builder#setMinimumLoggingLevel()
للسماح بإعداد حد أدنى لمستوى التسجيل لسجلات CameraX. وفي حال ترك هذه السياسة بدون ضبط، يتم ضبطها تلقائيًا على "Log#DEBUG
". (Ic3245)
إصلاح الأخطاء
- تم تضمين حل بديل لبيانات الصور التالفة المتقطّعة في ملفات JPEG على الكاميرا الخلفية SM-G930V. (I5aca5، b/159831206)
- تم حل المشكلة التي تمنع عند التقاط الصور من تلقّي النتائج عندما يكون الفلاش مفعَّلاً دائمًا وتكون البيئة المحيطة بشاشة Samsung SM-A716 مظلمة. (If98b2، b/172036589)
- تم إصلاح المشكلة المتمثلة في عدم إمكانية إيقاف المعاينة عن طريق طلب
Preview.setSurfaceProvider(null)
. (I3ac18) - تم إصلاح مشكلة الاتجاه عند التقاط صور بنسبة 4:3 على بعض الأجهزة. (I0e3fb، b/171492111)
الكاميرا2 والأساسية ومراحل الحياة الإصدار 1.0.0-الإصدار التجريبي 12
11 تشرين الثاني (نوفمبر) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta12
وandroidx.camera:camera-core:1.0.0-beta12
وandroidx.camera:camera-lifecycle:1.0.0-beta12
. يتضمّن الإصدار 1.0.0-beta12 هذه الالتزامات.
إصلاح الأخطاء
- تم إيقاف الفلاش التلقائي على أجهزة Samsung A3 لإصلاح العطل عند التقاط صورة باستخدام وضع الفلاش التلقائي على أجهزة Samsung A3. (Ia5fe3، b/157535165)
- تم إصلاح مشكلة امتداد المعاينة على أجهزة Nexus 4 التي تعمل بنظام التشغيل Android L (المستوى 21 و22 من واجهة برمجة التطبيقات). (I4d407، b/158749159)
- لم يعُد تنفيذ الفئة الأساسية
OnImageCapturedCallback#onCaptureSuccess
يؤدي إلى إغلاق الصورة. وذلك لمنع السلوك غير المتوقع للمطورين. ويجب ألا يعتمد المطوّرون على super.onCaptureSuccess لإغلاق الصورة. (Ifbf9c) - تم إيقاف صيغة androidx للتعليق التوضيحي التجريبي لتحقيق التكافؤ مع Kotlin. وقد تم استبداله بالتعليق التوضيحي RequiresOptIn، وتم تحديث linter المواجه لـ Java للتوافق مع كلّ من تعليق Kotlin التوضيحي الجديد وصيغة androidx الجديدة. (I52495، b/151331381)
الكاميرا-الكاميرا2 الإصدار 1.0.0-تجريبي11
14 تشرين الأول (أكتوبر) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta11
". يتضمّن الإصدار 1.0.0-beta11 هذه الالتزامات.
الميزات الجديدة
- يتيح استخدام واجهة برمجة التطبيقات android 11
CONTROL_ZOOM_RATIO
API للتكبير/التصغير على الأجهزة التي تعمل بنظام التشغيل Android 11 أو الإصدارات الأحدث والتي تحتوي على رمزCONTROL_ZOOM_RATIO_RANGE
صالح. (I62cc6)
إصلاح الأخطاء
- تم إصلاح مشكلة NumberFormatException التي حدثت عندما يكون معرّف الكاميرا عبارة عن رقم تعريف كاميرا لا يحتوي على عدد صحيح. (Ib2228)
- تم تحسين وقت استجابة تهيئة CameraX وbindToLifecycle (I61dc5)
- لا يتطلب إنشاء UseCases
إعداد CameraX لإكمالها. يتم ضبط جميع الإعدادات الخاصة بعملية التنفيذ على UseCase بعد إرفاقها بمثيل الكاميرا الذي يكون
ProcessCameraProvider.bindToLifecycle()
لواجهة برمجة التطبيقات العامة. (Ia5411) - سيعرض
<UseCase>.getTargetRotation()
الخطأSurface.ROTATION_0
إذا تم طلبه قبل إرفاقه بمثيل الكاميرا ما لم يتم ضبط targetRotation على Builder أو UseCase. (I80fcd)
الإصدار 1.0.0-الإصدار التجريبي 11 من الكاميرا الأساسية
14 تشرين الأول (أكتوبر) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta11
". يتضمّن الإصدار 1.0.0-beta11 هذه الالتزامات.
الميزات الجديدة:
تتوافق هذه الميزة مع واجهة برمجة التطبيقات CONTROL_ZOOM_RATIO
لنظام التشغيل Android 11 للتكبير/التصغير على الأجهزة التي تعمل بنظام التشغيل Android 11 أو الإصدارات الأحدث والتي تحتوي على CONTROL_ZOOM_RATIO_RANGE
صالح. (I62cc6)
إصلاح الأخطاء
- تم إصلاح مشكلة NumberFormatException التي حدثت عندما يكون معرّف الكاميرا عبارة عن رقم تعريف كاميرا لا يحتوي على عدد صحيح. (Ib2228)
- لا يتطلب إنشاء UseCases
إعداد CameraX لإكمالها. يتم ضبط جميع الإعدادات الخاصة بعملية التنفيذ على UseCase بعد إرفاقها بمثيل الكاميرا الذي يكون
ProcessCameraProvider.bindToLifecycle()
لواجهة برمجة التطبيقات العامة. (Ia5411) - سيعرض
<UseCase>.getTargetRotation()
الخطأSurface.ROTATION_0
إذا تم طلبه قبل إرفاقه بمثيل الكاميرا ما لم يتم ضبط targetRotation على Builder أو UseCase. (I80fcd)
الإصدار 1.0.0-الإصدار التجريبي 10 من "الكاميرا الأساسية"
23 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta10
". يحتوي الإصدار 1.0.0 إلى الإصدار التجريبي 10 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاح الخطأ في التحقّق من وجهة حفظ الملف لالتقاط الصور (I8c565، b/167697553)
كاميرا-كاميرا2 الإصدار 1.0.0-الإصدار التجريبي 10
23 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta10
". يحتوي الإصدار 1.0.0 إلى الإصدار التجريبي 10 على هذه الالتزامات.
إصلاح الأخطاء
- إصدار متوافق مع الكاميرا الأساسية 1.0.0-الإصدار التجريبي 10
الكاميرا-الكاميرا2 الإصدار 1.0.0-بيتا09
16 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta09
". يتضمّن الإصدار 1.0.0-beta09 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- بدلاً من توفير طرق ثابتة، تأخذ Camera2 CameraInfo في مثيل CameraInfo عند إنشائها لاسترداد المعلومات المتعلقة بـ Camera2 منها. (I5b844)
إصلاح الأخطاء
- تم إصلاح مشكلة نسبة العرض إلى الارتفاع المستهدَفة على الأجهزة اللوحية. يجب اختيار حجم 16:9 عند ضبط نسبة العرض إلى الارتفاع المستهدَفة على
AspectRatio.RATIO_16_9
. (Ib7fcf، b/151969438) - يمكنك إضافة
InitializationException
حتى يتمكن التطبيق من التعامل مع AssertionError بشكل أنيق عند إنشاء خصائص الكاميرا. (I89c8c، b/160524721) - تمت إضافة واجهات تجريبية لتبادل التعرض للضوء (If96c7).
الإصدار 1.0.0-الإصدار التجريبي 09 من الكاميرا الأساسية
16 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta09
". يتضمّن الإصدار 1.0.0-beta09 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إصلاح الخطأ الذي تم فيه وضع علامة على إطار العرض على أنه غير فارغ في UseCaseGroup. يجب أن يتمكن المطوّرون من إنشاء إطار عرض بدون ضبط إطار عرض. (Ie3d2e)
- تمت إضافة واجهات تجريبية للحقل '
ExposureCompensation
' (If96c7). - السماح بالتدوير العشوائي للهدف في المعاينة. يتم احتساب معلومات التحويل وعرضها للمستخدم بشكل فوري من خلال عملية معاودة اتصال جديدة باسم "
TranformationInfoListener
". (I21470)
إصلاح الأخطاء
- حلّ مشكلة عدم إيقاف وضع الفلاش على بعض الأجهزة، ويحدث ذلك عند ضبط وضع الفلاش على
FLASH_MODE_ON
لالتقاط صورة، وتغييره إلىFLASH_MODE_OFF
عند تشغيل الفلاش. العرض يشبه تفعيل وضع الكشاف. (Ib4451، b/162568128) - تم فرض استخدام المعاينة TextureView في حال تفعيل تأثير الإضافة ويحتاج تنفيذ مكتبة المورّدين إلى إجراء عملية خاصة على مساحة عرض الإخراج. (I0c3cc)
- تم إصلاح تسرّب النشاط أو الجزء عند تمرير سياق النشاط أو الجزء إلى
ProcessCameraProvider.getInstance(Context)
.
المشاكل المعروفة
- عند ضبط ViewPort، قد يكون مستطيل الاقتصاص في ImageCapture غير صحيح على الأجهزة التي تجري تدوير المخزن المؤقت للصور في طبقة تجريد الأجهزة (HAL). سيتم إصلاح هذه المشكلة في الإصدار التالي.
كاميرا-كاميرا2 الإصدار 1.0.0-beta08
19 آب (أغسطس) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta08
". يتضمّن الإصدار 1.0.0-beta08 هذه الالتزامات.
إصلاح الأخطاء
- تم تحسين bindToLifecycle للعمل بسرعة على سلسلة التعليمات الرئيسية. (I1d57e)
- يستخدم DisplayOrientedMeteringPoint أسعار على الأجهزة الافتراضية CameraInfo بدلاً من CameraSelector حتى يكون هناك تحديد مباشر للكاميرا التي سينشئ المصنع نقاطًا لها. كما تأخذ جميع الفئات التي تستخدم DisplayOrientedMeteringPoint ويوفّر أيضًا مثيلاً في CameraInfo بدلاً من CameraSelector. (I400c1)
- تم إصلاح مشكلة تجميع حجم نسبة العرض إلى الارتفاع التلقائية للدقة التي يتم فيها تحديد حجم mod16 بنسبة 16:9 (864x480) عندما يكون إعداد الدقة المستهدفة هو 2016x1080 وهناك أيضًا حجم آخر 1920x1080 16:9 متاح. (I53167، b/159363774)
- أصلح مشكلة CameraControl التي يتعذّر فيها العمل بسبب عِرق (I2279f ، b/152333890، b/160714166)
الإصدار 1.0.0-الإصدار التجريبي 08 من الكاميرا الأساسية
19 آب (أغسطس) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta08
". يتضمّن الإصدار 1.0.0-beta08 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- يستخدم
DisplayOrientedMeteringPointFactory
مثيلاًCameraInfo
بدلاً منCameraSelector
، لذلك يتم إجراء ربط مباشر للكاميرا التي سينشئ المصنع نقاطًا لها. يتم أيضًا قبول جميع الصفوف التي تستخدمDisplayOrientedMeteringPointFactory
على مثيلCameraInfo
بدلاً منCameraSelector
. (I400c1)
إصلاح الأخطاء
- لالتقاط صور، استخدِم العلامة الأفقية للانعكاس في البيانات الوصفية استنادًا إلى اتجاه الكاميرا. (I28499)
- من المفترض ألا تتعطّل عملية الإعداد بعد الآن عند استخدام سياق
لا يعرض كائن تطبيق من
Context.getApplicationContext()
. (I3d3c9، b/160817073)
الكاميرا-الكاميرا2 الإصدار 1.0.0-بيتا07
22 تموز (يوليو) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta07
". يتضمّن الإصدار 1.0.0-beta07 هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثلة في توسيع نطاق المعاينة على الجهاز القديم الذي يعمل بنظام التشغيل Android 5.0. (I0c03a)
- تم استبعاد بعض الأحجام المتوافقة مع تنسيق JPEG التي ستتسبب في حدوث مشكلة في WYSIWYG على بعض الأجهزة. (Ib5128)
الإصدار 1.0.0-الإصدار التجريبي 07 من الكاميرا الأساسية
22 تموز (يوليو) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta07
". يتضمّن الإصدار 1.0.0-beta07 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- يمكنك دمج النمط
FIT_CENTER
وFIT_START
وFIT_END
المناسب معFIT
.FIT
تعني أن مستطيل الاقتصاص الذي يتم عرضه سيكون أقصى مستطيل ممكن لجهاز الاستشعار. (Ia73c3) - يتم ضبط مستطيل اقتصاص المعاينة من خلال إطار العرض. يجب أن تكون المنطقة التي يغطيها مستطيل الاقتصاص فقط مرئية للمستخدمين. (I142a4)
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثلة في توسيع نطاق المعاينة على الجهاز القديم الذي يعمل بنظام التشغيل Android 5.0. (I0c03a)
- تم إصلاح مشكلة الاستثناء
ConcurrentModificationException
عند إلغاء ربط حالات الاستخدام. (I371c0)
كاميرا-كاميرا2 الإصدار 1.0.0-beta06
24 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta06
". يتضمّن الإصدار 1.0.0-beta06 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة واجهات تجريبية لفلترة الكاميرات حسب رقم تعريف الكاميرا وخصائصها. (I28f61)
إصلاح الأخطاء
- تم إصلاح المشكلة التي تتمثل في إخفاق startFocusAndMetering في التركيز بنجاح على Samsung Galaxy S7. (If3be7 ، b/159039233)
- حلّ مشكلة تعذُّر إغلاق الكاميرا بعد إنهاء التطبيق (I7a7b3)
- إصلاح معاينة الفواصل الإعلانية المتكرّرة عند تبديل الكاميرا عند استخدام تنفيذ SurfaceView في PreviewView (I920ce)
- ستفشل
CameraControl#startFocusAndMetering
إذا لم يتمكن أي من MeteringPoint المحدد من إنشاء مستطيلات صالحة لقياس الأداء. (Id53ce)
الإصدار 1.0.0-الإصدار التجريبي 06 من الكاميرا الأساسية
24 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta06
". يتضمّن الإصدار 1.0.0-beta06 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة واجهات تجريبية لفلترة الكاميرات حسب رقم تعريف الكاميرا وخصائصها. (I28f61)
إصلاح الأخطاء
- يمكن الآن ضبط CameraX مع
ProcessCameraProvider#configureInstance()
قبل الاتصال بـProcessCameraProvider#getInstance()
. ويتيح ذلك تخصيصCameraXConfig
بدون الحاجة إلى تنفيذCameraXConfig.Provider
في فئة التطبيقات الخاصة بالتطبيق. (Ia1a8d) - ستفشل
CameraControl#startFocusAndMetering
إذا لم يتمكن أي من MeteringPoint المحدد من إنشاء مستطيلات صالحة لقياس الأداء. (Id53ce)
كاميرا-كاميرا2 الإصدار 1.0.0-beta05
10 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta05
". يتضمّن الإصدار 1.0.0-beta05 هذه الالتزامات.
إصلاح الأخطاء
- إصلاح العُطل عند بدء تشغيل التطبيق عند إعداد CameraX عندما يكون الهاتف في وضع "عدم الإزعاج". يحتوي
InitializationException
علىCameraUnavailableException
التي سيتم ضبطها علىListenableFuture
لنتيجة البدء بدلاً من تعطُّل التطبيق. (I9909a، b/149413835) - تم إصلاح العطل عند استدعاء
startFocusAndMetering
على الأجهزة التي تحتوي على قيمة "CONTROL_AF_STATE
" فارغة. (Ife55e، b/157084254)
الإصدار 1.0.0-الإصدار التجريبي 05 من الكاميرا الأساسية
10 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta05
". يتضمّن الإصدار 1.0.0-beta05 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إصلاح العُطل عند بدء تشغيل التطبيق عند إعداد CameraX عندما يكون الهاتف في وضع "عدم الإزعاج". سيتم ضبط
InitializationException
الذي يحتوي علىCameraUnavailableException
علىListenableFuture
لنتيجة البدء بدلاً من تعطُّل التطبيق. (I9909a، b/149413835)
إصلاح الأخطاء
- تم تحديث مستندات Java لـ
setTargetResolution
وsetTargetRotation
. (Iae16f)
كاميرا-كاميرا2 الإصدار 1.0.0-beta04
27 أيار (مايو) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta04
". يتضمّن الإصدار 1.0.0-beta04 هذه الالتزامات.
إصلاح الأخطاء
- تم السماح للتطبيقات بضبط أي مَعلمات لطلب التقاط الصور باستخدام Camera2 من خلال
Camera2Interop
بدون التسبب في تعطُّل. تجدر الإشارة إلى أنّه في حال حدوث مشاكل نتيجة لإلغاء المَعلمات. لا يمكن ضمان الثبات والسلوك عند تجاوز المَعلمات باستخدام Camera2Interop. (Ibe5a1، b/149103700) - يتم إصلاح الإعداد التلقائي عند استخدام تطبيق على جهاز يستخدم لغة زائفة. (I3bef3، b/154767663)
- تم تحويل سجلّ الأخطاء المرتبط بحالة الاستخدام المنفصلة إلى سجلّ تصحيح أخطاء في Camera2 CameraImpl. (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-الإصدار التجريبي 04 من الكاميرا الأساسية
27 أيار (مايو) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta04
". يتضمّن الإصدار 1.0.0-beta04 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات تجريبية،
CameraXConfig.Builder#setSchedulerHandler()
لضبط المعالج الذي تستخدمه حِزم الكاميرا في CameraX داخليًا. من المفترض أن تتيح واجهة برمجة التطبيقات الجديدة هذه إلى جانب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
حيث أدت طلبات متعددة لـ setمحلل/clearAnalyticsr إلى عدم تلقي أداة التحليل للصور لتحليلها. (I6169f وb/151605317 وb/153514544) - إصلاح الخطأ الذي لم يتم فيه استرداد المخزن المؤقت في
ImageProxy
منImageCapture
(I0c455، b/153249512) - تم إصلاح المشكلة المتمثلة في عدم اختيار استخدام الكاميرا الأولى في القائمة المتوافقة من
CameraManager
دائمًا. (I4c624، b/153418028) - تم إصلاح العُطل المتقطّع الناتج عن ضبط
Preview.SurfaceProvider
على عدم رفع مساحة العرض المطلوبة سابقًا.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”
(I8e4e7، b/155936225)
الكاميرا-الكاميرا2 الإصدار 1.0.0-بيتا03
نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta03
". يتضمّن الإصدار 1.0.0-beta03 هذه الالتزامات.
إصلاح الأخطاء
- إصلاحات لدعم إصدار
camera-core
الإصدار 1.0.0-الإصدار التجريبي 03 من "الكاميرا الأساسية"
نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta03
". يتضمّن الإصدار 1.0.0-beta03 هذه الالتزامات.
إصلاح الأخطاء
- الانحدار المُعدَّل من الإصدار التجريبي 03 حيث يؤدي استدعاء
bindToLifecycle()
بقيمة صفريةUseCase
إلى حدوث استثناء. أدى ذلك إلى منع استردادCamera
بدون ربطUseCase
.
كاميرا-كاميرا2 الإصدار 1.0.0-الإصدار التجريبي 02
1 نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-beta02
". يتضمّن الإصدار 1.0.0-beta02 هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح
ImageInfo.getRotationDegrees()
منImageProxy
الناتجة عنImageCapture
بحيث تتطابق مع قيمة دوران اتجاه EXIF. (Id4281، b/150802561) - لم يعُد من الضروري الترتيب الصريح لتبعيات CameraX ضمن
build.gradle
لاستخدام التنفيذ التلقائي CameraX/Camera2. في الحالات التي يكون فيها بيان التبعيات الصارمة مطلوبًا، يمكن الآن تضمين جميع تبعيات CameraX في ملف الإصدار. (I46e88) - تم إصلاح مشكلة
IllegalArgumentException
التي تحدث على الأجهزة التي يقل حجم الشاشة فيها عن 640×480. (Ife3f2، b/150506192) - تم إصلاح
bindToLifecycle
بحيث يتم تعديل UseCase فقط في حال الربط بنجاح. كان يتم تحديث UseCase في السابق عند استدعاءbindToLifecycle
لإجراء عمليات حسابية لدرجات الدقة. لم تعُد هناك حاجة إلى تعديل حالة UseCase لإجراء العمليات الحسابية (I78d9e).
الإصدار 1.0.0-الإصدار التجريبي 02 من الكاميرا الأساسية
1 نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta02
". يتضمّن الإصدار 1.0.0-beta02 هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح
ImageInfo.getRotationDegrees()
منImageProxy
الناتجة عنImageCapture
بحيث تتطابق مع قيمة دوران اتجاه EXIF. (Id4281، b/150802561) - تم إصلاح
bindToLifecycle
بحيث يتم تعديل UseCase فقط في حال الربط بنجاح. كان يتم تحديث UseCase في السابق عند استدعاءbindToLifecycle
لإجراء عمليات حسابية لدرجات الدقة. لم تعُد هناك حاجة إلى تعديل حالة UseCase لإجراء العمليات الحسابية (I78d9e). - تم إصلاح المشكلة المتمثلة في عدم تعديل جلسة تسجيل حالة الاستخدام
Preview
عند تغيير مساحة عرض المعاينة بعد استدعاءPreview.setSurfaceProvider()
أكثر من مرة.
كاميرا-كاميرا2 الإصدار 1.0.0-الإصدار التجريبي 01
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-الإصدار التجريبي 01 من الكاميرا الأساسية
26 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-core:1.0.0-beta01
". يتضمّن الإصدار 1.0.0-beta01 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تم استبدال
ListenableFuture
فيSurfaceRequest.provideSurface()
بـExecutor
وCallback
. ويؤدي ذلك إلى تبسيط واجهة برمجة التطبيقات بحيث لم يعد هناك طلب من معالجة الاستثناءات علىprovideSurface()
ويفرض عدم إمكانية إلغاء طلب معاودة الاتصال بـprovideSurface()
. وهذا لمنع حدوث أعطال في الأجهزة القديمة ناتجة عن إطلاق الأسطح مبكرًا. ويتم الآن استخدام الكائنSurfaceRequest.Result
لتتبّع طريقة استخدامSurfaceRequest
للسمةSurface
المقدّمة. (I7854b) - تمت إعادة تسمية "
SurfaceRequest.setSurface(Surface)
" إلى "SurfaceRequest.provideSurface(Surface)
" و"SurfaceRequest.setWillNotComplete()
" إلى "SurfaceRequest.willNotProvideSurface()
". (I224fe)
إصلاح الأخطاء
- تم إصلاح مشكلة عدم صحة نسبة العرض إلى الارتفاع لصورة محفوظة
بعد تغيير قيمة التدوير المستهدف باستخدام
ImageCapture.setTargetRotation()
. (I474ea، b/148763432) - تم إصلاح عملية إعداد خيارات التطبيق مع تفعيل ProGuard من خلال الحفاظ على
العلامة التي تضبط موفِّر
CameraXConfig
التلقائي. (I2d6c1) - وثائق محدثة لواجهات برمجة التطبيقات لوضع الفلاش لتضمين القيم المحتملة. (I4a3ec)
كاميرا-كاميرا2 الإصدار 1.0.0-alpha10
10 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-alpha10
". يحتوي الإصدار 1.0.0-alpha10 على هذه الالتزامات.
إصلاح الأخطاء
- تم تحسين الثبات على أجهزة
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
من خلال ضمان الاحتفاظ ببياناتSurface
فقط لمدة الاستخدام بواسطة Camera2. (I9dac2) - تم إصلاح مشكلة معاينة الصورة غير المعرّضة بشكل كافٍ على الأجهزة القديمة من خلال ضبط
CONTROL_AE_TARGET_FPS_RANGE
بشكل صحيح. (1224638)
الإصدار الأساسي من الكاميرا 1.0.0-alpha10
10 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-core:1.0.0-alpha10
". يحتوي الإصدار 1.0.0-alpha10 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تم تحديث
ImageCapture
للسماح بحفظ الصور فيUri
وOutputStream
. تم جمع طرقtakePicture
زائدة التحميل في طريقة واحدة. تم تحديث التطبيق التجريبي لاستخدامUri
كمثال أساسي. (Ia3bec) - تمت إعادة تسمية
Preview.PreviewSurfaceProvider
إلىPreview.SurfaceProvider
. لم تعُدSurfaceProvider
تتطلّب من المطوّرين إنشاءListenableFuture
الخاصة بهم، ويتم الآن تقديمSurface
من خلال عنصرSurfaceRequest
جديد. تمت إزالة طريقةPreview.getPreviewSurfaceProvider()
بسبب احتمالية إساءة استخدامها عند إقرانPreview
بفئات أخرى مثلPreviewView
. (I20105) - تمّت إضافة "
getTargetRotation()
" و"getTargetName()
" إلى "Preview
". (Iceee7) - تمت إضافة "
getTargetRotation()
" و"getBackpressureStrategy()
" و"getImageQueueDepth()
" في "ImageAnalysis
". (I9d6d9) - تمت إضافة
getTargetRotation()
وgetCaptureMode()
فيImageCapture()
(I5bc17) - تم استبدال الوسيطات التي تم تمريرها سابقًا في
ImageCapture.OnImageSavedCallback.onError()
وImageCapture.OnImageCapturedCallback.onError()
بوسيطة واحدةImageCaptureException
، والتي لا تزال تحتوي على جميع المعلومات التي تم تمريرها سابقًا. - تمت إزالة وسيطة الملف التي تم تمريرها سابقًا في
ImageCapture.OnImageSavedCallback.onImageSaved()
. (I750d2) - تم الآن وضع علامة "نهائي" على صفَّين (
Preview
) وImageCapture
صفًا. (I2500b) - تم تحديث واجهة برمجة التطبيقات باستخدام طرق
getZoomRatio()
وgetMaxZoomRatio()
وgetMinZoomRatio()
وgetLinearZoom()
لدمجCameraInfo
معgetZoomState()
التي تعرض المثيلZoomState
. (Ib19fe) - تمت إزالة حقلَي واجهة برمجة التطبيقات
OPTION_TARGET_CLASS
وOPTION_TARGET_NAME
منCameraXConfig
لأنهما مخصصان لاستخدام المكتبة الداخلية فقط. تمت إزالة الدالة الإنشائية لـCameraXConfig.Builder
. (I96912) - تمت إزالة الشرط بأن التطبيق يجب أن يمدِّد
Application
لكي يتم إعداد CameraX. سيتم إعداد CameraX الآن باستخدام إعداد Camera2 تلقائي ما دام عنصرcamera-camera2
مضمَّنًا فيbuild.gradle
للتطبيق. (I58ff5) (b/146923574)
كاميرا-كاميرا2 الإصدار 1.0.0-alpha09
22 كانون الثاني (يناير) 2020
تم طرح "androidx.camera:camera-camera2:1.0.0-alpha09
". يحتوي الإصدار 1.0.0-alpha09 على هذه الالتزامات.
التغييرات في واجهة برمجة التطبيقات
إضافة مسار إمكانية التشغيل التفاعلي للكاميرا 2 لاستخراج معرّف كاميرا Camera2 يمكنك استخراج معرّف الكاميرا من
CameraInfo
باستخدامCamera2CameraInfo.extractCameraId()
. يوضح الرمز البرمجي التالي كيفية استخدام هذا الحلّ:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
تتطلب الفئة
Camera2CameraInfo
السمةExperimentalCamera2Interop
markerClass.
الإصدار الأساسي من الكاميرا 1.0.0-alpha09
22 كانون الثاني (يناير) 2020
تم طرح "androidx.camera:camera-core:1.0.0-alpha09
". يحتوي الإصدار 1.0.0-alpha09 على هذه الالتزامات.
التغييرات في واجهة برمجة التطبيقات
- تمت إعادة تسمية المعلَمة
SurfaceOrientedMeteringPointFactory
useCaseForSurface
لتصبحuseCaseForAspectRatio
وتم توسيع الوثائق المرجعية. - يتم استبدال طرق
FocusMeteringAction.Builder.from()
بالدوال الإنشائيةFocusMeteringAction.Builder()
. - تمت إزالة
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)
. يجب أن تستخدم التطبيقات الدالة الإنشائية التي تأخذ المعلمةDisplay
وتمرر في العرض الحالي. - تم إدخال تحسينات على JavaScript لواجهات برمجة تطبيقات التركيز والقياس في ما يتعلّق بعلامتَي
MeteringMode
و3A واستخدام المعلَمةDisplay
. - تم توسيع المستندات المرجعية لـ
setZoomRatio
وsetLinearZoom
.
إصلاح الأخطاء
- تم إصلاح المشكلات عند إغلاق الكاميرات ثم فتحها والتي تؤدي إلى فشل فحص "الشرط المسبق".
- تم إصلاح مشكلة
ConcurrentModificationException
التي يمكن أن تحدث عند استخدام واجهات برمجة تطبيقات الضوء والتكبير/التصغير. - تم إصلاح المشكلة لاختيار درجات دقة أقرب إلى درجة الدقة المطلوبة عند توفّر حجم الأبعاد mod16.
- تعمل واجهات برمجة التطبيقات
startFocusMetering
وcancelFocusMetering
الآن على النحو الموثَّق، وذلك باستخدام التوقيت الصحيح وقد تؤدي إلى عرض أخطاء في حال حدوثها. - تم إصلاح المشكلة عند طلب درجة دقة مستهدفة محدّدة مع نسبة عرض إلى ارتفاع للاقتصاص على جهاز لا يتوافق مع هذه الأحجام. والآن، سيتم اختيار حجم لم يتم اقتصاصه للدقة الكافية لربط الطلب الأصلي عندما يكون ذلك متاحًا.
كاميرا-كاميرا2 الإصدار 1.0.0-alpha08
18 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-camera2:1.0.0-alpha08
". يحتوي الإصدار 1.0.0-alpha08 على هذه الالتزامات.
المشاكل المعروفة
- لا تعمل بعض خيارات طلب الالتقاط من خلال "كاميرا2" عند استخدام إمكانية التشغيل التفاعلي للكاميرا 2. إذا لم يكن الخيار المطلوب متاحًا، سيتعذّر بدء الجلسة وقد يحدث خطأ مثل ذلك:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
إصلاح الأخطاء
- تم إصلاح مشكلة حدثت فيها معاينة شاشة سوداء بعد تدوير الكاميرا أو تبديلها في المستوىَين 21 و22 من واجهة برمجة التطبيقات.
تغييرات واجهة برمجة التطبيقات
- ميزة تجريبية: تمت إضافة مسار إمكانية التشغيل التفاعلي للكاميرا 2 لاستخراج رقم تعريف الكاميرا.
الإصدار الأساسي من الكاميرا 1.0.0-alpha08
18 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-core:1.0.0-alpha08
". يحتوي الإصدار 1.0.0-alpha08 على هذه الالتزامات.
المشاكل المعروفة
- قد تكون معاينة نسبة العرض إلى الارتفاع غير صحيحة في التطبيقات التي تستخدم
PreviewView
أوCameraView
. يحدث ذلك بعد الإيقاف المؤقت أو الاستئناف على بعض الأجهزة المزوّدة بشاشة كاملة، مثل Pixel2.
إصلاح الأخطاء
- تم تعديل مستندات
FocusMeteringAction
وCameraControl
. - تم تنفيذ سياسة
TorchControl
فيenableTorch()
وgetTorchState()
.
تغييرات واجهة برمجة التطبيقات
- إخفاء IntDefs ونقل ثوابت IntDef خارج تعريف IntDef.
- تم نقل "
rotationDegrees
" من الصفOnImageCaptureCallback
إلىImageInfo
. - تم نقل "
rotationDegrees
" من الصفAnalyzer
إلىImageInfo
.
كاميرا-كاميرا2 الإصدار 1.0.0-alpha07
4 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-camera2:1.0.0-alpha07
". يحتوي الإصدار 1.0.0-alpha07 من Camera-camera2 على هذه الالتزامات
- أصبح تطبيق "
Camera2Config
" متاحًا الآن للاستخدام من خلال إعداد وإعداد تطبيق يستند إلى تطبيق Camera2 من أجل CameraX. يمكنك الاطّلاع على قسم الكاميرا الأساسية في ملاحظات الإصدار لمعرفة مزيد من التفاصيل حول طريقة استخدام هذه الميزة في عملية الإعداد. - تم الآن وضع علامة على إمكانية التشغيل التفاعلي للكاميرا2 كميزة تجريبية وتم نقلها إلى حزمة منفصلة،
androidx.camera.camera2.interop.
الإصدار الأساسي من الكاميرا 1.0.0-alpha07
4 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-core:1.0.0-alpha07
". يحتوي الإصدار 1.0.0-alpha07 من كاميرا أساسية على هذه الالتزامات
يُرجى العلم بأنّ هناك بعض التغييرات المهمة في هذا الإصدار الأولي خلال فترة التحضير للإصدار التجريبي. ننصحك بمراجعة التغييرات ومشاركة أي ملاحظات لديك حول مجموعة Google CameraX. بالنسبة إلى المطوّرين الذين يستخدمون CameraX في التطبيقات على "متجر Play"، ننصحهم بانتظار الإصدار التجريبي الرسمي قبل ترقية المكتبة ضمن التطبيقات.
التغييرات في واجهة برمجة التطبيقات
ملاحظة مُهمّة: تم تغيير إعداد CameraX. يجب أن تنفّذ التطبيقات
CameraXConfig.Provider
، وأن تستخدمCamera2Config
التلقائية التي يتم توفيرها من خلالandroidx.camera.camera2
. الاستخدام النموذجي هو:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }
تمت إزالة فئة CameraX. يمكنك الآن استخدام المشاركين "
bindToLifecycle()
" و"unbind()
" و"unbindAll()
" و"isBound()
" و"hasCamera()
" الذين سبق أن قدّموها في مكالمة لفئة CameraX، وذلك من خلالProcessCameraProvider
.يتم الحصول على مثيل
ProcessCameraProvider
لكل عملية بشكل غير متزامن باستخدام الطريقة الثابتةProcessCameraProvider.getInstance()
، والتي تعرض مستقبلًا قابلاً للإدراج، مما يوفّرProcessCameraProvider
عند اكتمال العملية. ويظهر هنا باللونonCreate()
للاستخدام العادي. يمكنك تنفيذ طلبات على "getInstance()
" لاحقًا خلال دورة حياة النشاط لتأجيل وقت استجابة الإعداد إلى وقت لاحق (على سبيل المثال، عندما يفتح إجراء المستخدم واجهة مستخدم للكاميرا).import androidx.camera.lifecycle.ProcessCameraProvider import com.google.common.util.concurrent.ListenableFuture class MainActivity : AppCompatActivity() { private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider> override fun onCreate(savedInstanceState: Bundle?) { cameraProviderFuture = ProcessCameraProvider.getInstance(this); }
يمكن إضافة مستمع إلى
ListenableFuture
الذي يعرضه "getInstance()
". يضمن هذا الإجراء إمكانية استرداد موفّر الكاميرا منFuture
بدون حظر علىFuture.get()
.cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))
يتم الآن اختيار الكاميرا من خلال أداة اختيار الكاميرا، بدلاً من كل حالة استخدام.
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
يتم منح "
CameraProvider.bindToLifecycle
" مالك دورة الحياة وأداة اختيار الكاميرا وحالات الاستخدام، والتي يتم ربطها بعد ذلك بمالك دورة الحياة المحدّد ويتم تشغيلها للكاميرا المحدّدة.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
تتم إزالة فئات "الإعداد" لحالة الاستخدام. بدلاً من ذلك، يمكنك إنشاء حالات استخدام مباشرةً، وضبط الخيارات في كل أداة إنشاء حالات استخدام. على سبيل المثال:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
تم تعديل حالة استخدام المعاينة لقبول مساحة عرض أنشأها التطبيق وإدارتها لضمان تطبيق أفضل الممارسات في نظام التشغيل Android. وننصح بشدة باستخدام فئة المشاهدة
PreviewView
المتوفّرة في حزمة عرض الكاميرا.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
اطّلِع على المستندات الخاصة بإرفاق سطح يديره التطبيق. وفي هذه الحالات، يدير التطبيق دورة حياة السطح.
ملاحظة مهمة: يجب أن يستدعي تنفيذ طريقة "أداة تحليل
ImageAnalysis
" الرمزimage.close()
على الصور التي تم استلامها عند الانتهاء من استخدامها. وبخلاف ذلك، قد لا يتم استلام صور جديدة أو قد تتوقف الكاميرا، وذلك وفقًا لإعدادات الضغط الخلفي. راجِع المستندات المرجعية للاطّلاع على التفاصيل.تم تغيير
ImageAnalysis ImageReaderMode
الآن إلى استراتيجية الضغط العكسيintdef
.تم وضع علامة "
ImageProxy.getImage()
" على أنه تجريبي. يجب أن تضيف التطبيقات تعليقات توضيحية إلى الاستخدام من خلال@androidx.camera.core.ExperimentalGetImage
مثلاًتمت إزالة شرط تعليقات
UIThread
التوضيحية لـAnalyzer
.تمت إضافة الدالة
ImageAnalysis.clearAnalyzer()
لإزالة أداة تحليل.تمّت إعادة تسمية المستمعين الذين يستخدمون أكثر من طريقة واحدة إلى "معاودة الاتصال":
- "
ImageCapture.OnImageCapturedListener
" أصبح الآن "ImageCapture.OnImageCapturedCallback
" - "
ImageCapture.OnImageSavedListener
" أصبح الآن "ImageCapture.OnImageSavedCallback
" - "
VideoCapture.OnVideoSavedListener
" أصبح الآن "VideoCapture.OnVideoSavedCallback
"
- "
تم تغيير التعدادات إلى IntDef
تمت إضافة عناصر التحكّم في التكبير/التصغير:
CameraControl.setLinearZoom()
CameraControl.setZoomRatio()
CameraInfo.getLinearZoom()
CameraInfo.getMaxZoomRatio()
CameraInfo.getZoomRatio()
تتم إضافة
CameraInfo.hasFlashUnit()
لتحديد ما إذا كانت أجهزة الفلاش/الكشاف متوفّرة.تمت إزالة
CameraInfo.isFlashAvailable()
. يلغي الكشاف وظيفة الفلاش. يمكنك الاطّلاع على المزيد من التفاصيل في المستندات المرجعية.تم استبدال
ImageCapture.Metadata
حقلاً بموصّلات get/set/is.يعرض الإجراءان
startFocusMetering
وcancelFocusMetering
الآن العمودListenableFutures
الذي يمثّل العملية غير المتزامنة للمكالمة.تعمل "
MeteringPoints
" الآن كمعالجات لإجراءات قياس حصة القراءة المجانية، ويتم إنتاجها من قِبل المصانع. يجب أن تستخدم التطبيقات المصانع الحالية بدلاً من المصانع المخصصة.
المشاكل التي تم إصلاحها
- تم إصلاح المشكلة عند التقاط صورة عند الاستئناف (بعد أن تم التقاط صور في انتظار اكتمال الإيقاف المؤقت السابق).
- مشكلة معروفة:
CameraControl.enableTorch()
يعمل، ولكن قيمةListenableFuture<Void>
التي يتم عرضها تظهر دائمًا في المستقبل على شكلcomplete(success)
فوري، حتى في حال عدم توفّر وحدة فلاش. ستصلح الإصدارات المستقبلية هذه المشكلة إلى السلوك النهائي: في حال عدم توفُّر وحدة فلاش، تعذُّر عملenableTorch(true)
على الفور (لن يرسل الطلب إلىCaptureSession
) ويظلTorchState
متوقفًا. - مشكلة معروفة: يبدأ
startFocusAndMetering
وcancelFocusAndMetering
ميزة قياس التركيز، ويتم إلغاء هذه الميزة، ولكن يتم عرض قيمة مستقبليةcompleted (success)
على الفور لا تمثِّل السلوك الموثَّق.FocusMeteringResult
منListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()
هي نتيجة مزيفة، وهيisFocusSuccessful()
وتكون دائمًا "خطأ"، وهي تختلف عن السلوك المقصود والموثَّق. - مشكلة معروفة: يجري تطوير مصنع لنقاط قياس حصة القراءة المجانية لاستخدامه مع أحداث اللمس في
PreviewView
. في الوقت الحالي، يمكن للتطبيقات التي تربط على أسطح مُدارة مخصّصة استخدام المصانع الحالية لنقاط القياس، وبخلاف ذلك، لا تتوفّر أي وظيفة تعمل باللمس في "PreviewView
".
الكاميرا-الكاميرا2 والإصدار 1.0.0-alpha06 الأساسي
9 تشرين الأول (أكتوبر) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha06
وandroidx.camera:camera-core:1.0.0-alpha06
. هذه هي الالتزامات المدرَجة في "camera-camera2:1.0.0-alpha06
"، وهي الالتزامات المدرَجة في camera-core:1.0.0-alpha06
.
الميزات الجديدة
التغييرات على إعدادات نِسب العرض إلى الارتفاع:
- تمت إضافة
setTargetAspectRatioMode()
وتقبل وسيطة تعداد. يؤدي ذلك إلى ضبط وضع نسبة العرض إلى الارتفاع علىRATIO_4_3
أوRATIO_16_9
بدلاً من نسبة عرض إلى ارتفاع عشوائية. يعكس هذا الأمر بشكل أقرب حقيقة توفير نِسب عرض إلى ارتفاع معيّنة فقط من الكاميرا، بدلاً من أي نسبة عشوائية.- في الوقت الحالي، لا تتوفّر النِسب إلا 16:9 و4:3. وفي حالة 1:1، لا تتوفّر هذه الميزة إلا في أجهزة معيّنة من الكاميرا، ثم بدرجات دقة محدودة فقط. يجب أن تستخدم التطبيقات التي تصمم واجهة أو معالجة بين شخصين بالخيارات الأكثر مرونة 16:9 أو 4:3 وأن تقتص من الشاشة أو تعالج منطقة فرعية.
- تهدف نِسب العرض إلى الارتفاع هذه إلى استخدام الحدّ الأقصى لمساحة التخزين.
- تمت إضافة "
getTargetAspectRatio()
" إلى واجهات برمجة التطبيقات الخاصة بإعداد حالات الاستخدام، ما يؤدي إلى عرض نسبة العرض إلى الارتفاع التي يستهدفها ناتج حالة الاستخدام. - تم تغيير الطريقة
setTargetAspectRatio(Rational aspectRatio)
في ImageCapture إلىsetTargetAspectRatioCustom(Rational aspectRatio)
. وعند ضبطها، يتم اقتصاص صورة ImageCapture وفقًا لذلك.
واجهات برمجة التطبيقات الخاصة بالتنفيذ
- تقبل الدوال التالية المعلَمة executor، والتي تسمح للتطبيق بالتحكّم في المنفِّذ الذي يتم تشغيل الدالة عليه.
- واجهة برمجة تطبيقات "
Preview.setOnPreviewOutputUpdateListener()
". في حال عدم توفّر دالة تنفيذ هذه الدالة، يتم تنفيذها في سلسلة التعليمات الرئيسية. Preview.setOnPreviewOutputUpdateListener
FocusMeteringAction.Builder.setAutoFocusCallback
ImageAnalysis.setAnalyzer
ImageCapture.takePicture
CameraView.takePicture
CameraView.startRecording
VideoCapture.startRecording
- واجهة برمجة تطبيقات "
تمت إضافة معلومات CameraInfo عن طريق التحقّق من توفُّر Flash وواجهات برمجة تطبيقات Sensor Rotation 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()
. وهو يوفّر اتجاه أداة استشعار الكاميرا بما يتوافق مع الاتجاه الطبيعي للجهاز، أو للتيسير، مقارنةً بالاتجاه الموضّح من خلال دوران السطح (الذي يصف الاتجاه النسبي للاتجاه الطبيعي).
تغييرات واجهة برمجة التطبيقات وإصلاح الأخطاء
- نسب العرض إلى الارتفاع: بالنسبة إلى كل حالة استخدام، يجب أن تستدعي التطبيقات عنصرًا واحدًا فقط من
setTargetResolution()
أوsetTargetAspectRatio()
. يؤدي استدعاء كليهما إلى نفس أداة الإنشاء إلى ظهور خطأ.- بوجه عام، ننصح باستخدام
setTargetAspectRatio()
استنادًا إلى تصميم واجهة المستخدم في التطبيق. تستند حلول محدّدة إلى حالة الاستخدام. على سبيل المثال، تكون المعاينة بالقرب من درجة دقة الشاشة وتوفر التقاط الصور صورًا ثابتة عالية الدقة. راجِع جدول درجات الدقة التلقائية لمزيد من المعلومات. - يمكنك استخدام
setTargetResolution()
مع حالات أكثر تحديدًا، مثل عندما يكون الحد الأدنى (لحفظ العمليات الحسابية) أو الحد الأقصى لدرجات الدقة (لتفاصيل المعالجة) مطلوبًا.
- بوجه عام، ننصح باستخدام
- واجهة برمجة التطبيقات التنفيذية: تمت إزالة الطلب
setCallbackHandler()
من واجهات برمجة التطبيقات لإعداد حالات الاستخدام. بدلاً من ذلك، يمكن للتطبيقات ضبط المنفّذ كمَعلمة في واجهات برمجة تطبيقات أخرى متعدّدة تعمل على ضبط طلب معاودة الاتصال. - تم تعديل التعليقات التوضيحية الفارغة لدوال مختلفة.
- تم إصلاح مشكلة تسبّبت في إطلاق "
java.lang.IllegalStateException at Camera$StateCallback.onError
" عند فتح الكاميرا. - تم إصلاح المشكلة التي كانت تؤدي إلى اختيار درجات دقة صغيرة جدًا (أقل من 640x480) عندما يطلب التطبيق درجات دقة أكبر أو تلقائية، ما يؤدي إلى ظهور صورة معاينة محظورة أو مموهة. ويمكن للتطبيقات التي تحتاج إلى درجات دقة أصغر على وجه التحديد أن تطلبها بشكل صريح.
- تم إصلاح المشكلة المتمثلة في عرض الكاميرا لشاشة سوداء (تعذُّر تشغيل الكاميرا) بعد العودة من الغرض الذي شغّل تطبيق كاميرا آخر.
- تم إصلاح الخطأ الذي أدى إلى ظهور الخطأ التالي عند تشغيل التطبيقات أو إيقافها بشكل متكرر:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
- تم إصلاح الخطأ التالي الذي يحدث عند إيقاف ميزة "تحليل الصورة":
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
. - تمت إضافة اختبارات إضافية لمسار إلغاء ربط الكاميرا.
- تحسين متانة نظام الاختبار عند إجراء اختبارات الكاميرا الخلفية
الكاميرا-الكاميرا2 والإصدار 1.0.0-ألفا05
5 أيلول (سبتمبر) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha05
وandroidx.camera:camera-core:1.0.0-alpha05
. في ما يلي عمليات الالتزام المضمَّنة في كاميراcam-camera2:1.0.0-alpha05 وهذه هي عمليات الالتزام المضمَّنة Camera-core:1.0.0-alpha05.
تغيير واجهة برمجة التطبيقات: متغيّرات أخطاء حالة الاستخدام التي تمّت إعادة تسميتها:
- تم تغيير اسم
ImageCapture.UseCaseError
إلىImageCapture.ImageCaptureError
- تم تغيير اسم
VideoCapture.UseCaseError
إلىVideoCapture.VideoCaptureError
- تم تغيير اسم
تمت إضافة واجهة برمجة تطبيقات واحدة (
CameraControl
) مع واجهات برمجة التطبيقات لميزة "النقر للتركيز".تمت إضافة واجهة برمجة التطبيقات للحصول على
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();
تمت إضافة واجهة برمجة التطبيقات لـ
CameraControl
لبدء قياس التركيز وإلغاء التركيز:getCameraControl(lensFacing).startFocusAndMetering(action);
getCameraControl(lensFacing).cancelFocusAndMetering();
تمت إضافة واجهات برمجة تطبيقات خاصة بمعامل نقاط القياس تساعد في ترجمة إحداثيات النقر إلى إحداثيات أداة الاستشعار، بناءً على فئات العرض:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);
MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
يمكنك فرض استدعاء الطرق التالية في سلسلة التعليمات الرئيسية (واجهة المستخدم)، وعرض
IllegalStateException
عندما لا تكون كذلك. ستسمح الإصدارات المستقبلية بالاستخدام على سلاسل الترابط الأخرى وتضمن التسلسل.CameraX.bindToLifecycle()
CameraX.unbind()
CameraX.unbindAll()
ImageAnalysis.setAnalyzer()
ImageAnalysis.getAnalyzer()
ImageAnalysis.removeAnalyzer()
Preview.removePreviewOutputListener()
Preview.getOnPreviewOutputUpdateListener()
Preview.setOnPreviewOutputUpdateListener()
تقبل إعدادات الضبط المختلفة الآن المَعلمات الفارغة، وقد تعرض القيم المقابلة قيمة فارغة.
تم إصلاح المشكلة عند الاختبار على المحاكيات التي لا تتوافق مع إعدادات AF/AE/AWB.
تم إصلاح خطأ التعطُّل عند التدوير أثناء تحليل الصورة.
تم إصلاح الخطأ الذي كانت فيه المعاينة تظهر باللون الأسود عند بدء التشغيل (لا توجد بيانات للكاميرا) بعد التدوير أو التبديل بين الكاميرا الأمامية والخلفية.
تمت إزالة الاختبار لحالات استخدام متعددة لتحليل الصور المتزامنة. لضمان التوافق، يجب أن تُرفِق التطبيقات حالة استخدام واحدة فقط لتحليل الصور.
تمت إضافة الاختبارات الأولية للتصوير الآلي للكاميرا الزائفة في مجموعة اختبار الكاميرا (قيد الإعداد).
تمت إزالة اختبار Camera2Inititalizer، لأنّ التغطية كانت غير واضحة/مضلِّلة.
الكاميرا-الكاميرا2 والإصدار 1.0.0-ألفا04
7 آب (أغسطس) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha04
وandroidx.camera:camera-core:1.0.0-alpha04
. يحتوي الإصدار 1.0.0-alpha04 على هذه الالتزامات.
الميزات الجديدة
التغييرات في نسبة العرض إلى الارتفاع واختيار درجة الدقة
إنّ هدف CameraX هو إعداد جلسة تصوير بنجاح. وهذا يعني أنّ CameraX قد تتراجع عن نِسب العرض إلى الارتفاع ودرجة الدقة استنادًا إلى إمكانات الجهاز، لبدء جلسة الالتقاط كهدفها الأول، وبالتالي قد لا يتم قبول الطلبات الدقيقة. وقد يرجع ذلك إلى الأسباب التالية:
- الأجهزة التي لا تتوافق مع درجة الدقة المطلوبة
- مشاكل التوافق، مثل مشاكل التشغيل على الأجهزة القديمة حيث يجب استخدام درجات دقة معيّنة للعمل بشكل صحيح
- على بعض الأجهزة، لا تتوفّر تنسيقات معيّنة إلا بنِسب عرض إلى ارتفاع معيّنة.
- هذا هو الخيار المفضّل لـ "أقرب mod16" لترميز JPEG أو الفيديو. عرض
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
وعلى الرغم من أن CameraX ينشئ الجلسة ويديرها، يجب عليك دائمًا التحقق من أحجام الصور المعروضة في مخرجات حالة الاستخدام في التعليمة البرمجية وضبطها وفقًا لذلك.
تم إجراء بعض التغييرات لضبط درجات الدقة ونِسب العرض إلى الارتفاع، وذلك بهدف جعل واجهة برمجة التطبيقات أكثر وضوحًا:
- تُعد معاينة حالة الاستخدام الآن نسبة عرض إلى ارتفاع تلقائية 4:3 في حال عدم ضبط أي منها.
- عندما تنظر شركة CameraX داخليًا في التغييرات التي يتم إجراؤها على درجات الدقة ونِسب العرض إلى الارتفاع المطلوبة استنادًا إلى إمكانات الجهاز، تحاول أولاً الحفاظ على نسبة العرض إلى الارتفاع نفسها (على النحو الذي تحدّده أي من مكالمات
setTargetAspectRatio
أوsetTargetResolution
). - ويُعدّ إصدار "أقرب وحدة mod16" من درجة الدقة نسبة العرض إلى الارتفاع نفسها.
وضع عدم الحظر لتحليل الصور
- لا يؤدي سلوك
ImageReaderMode.ACQUIRE_LATEST_IMAGE
إلى الحظر الآن. وتلتقط هذه الميزة أحدث صورة في قائمة الانتظار، ولكنها تتجاهل الصور غير المستخدَمة باستمرار للسماح بمسار الكاميرا لتجنُّب الحجب. - يمكن لأداة التحليل الاحتفاظ بصورة واحدة إلى أجل غير مسمى بدون إيقاف مسار العملية.
- إذا كان التطبيق يوفر أداة تنفيذ يحظرها بعد ذلك، فسيتم استخدام كتل الحالة ImageAnalysis.
- يعمل تطبيق التنفيذ التلقائي الذي تم ضبطه داخليًا كمسؤول تنفيذي لا يحظر الحظر.
إصلاح الأخطاء
- تم إصلاح مشاكل انتهاء المهلة أثناء انتظار التقارب 3A عند التقاط الصور على الأجهزة التي لا تحتوي على تركيز تلقائي والتعرّض التلقائي للضوء وموازنة اللون الأبيض تلقائيًا.
- تم إصلاح المشكلة عند التقاط الصور بسرعة باستخدام ImageCapture. إصلاح الخطأ:
java.lang.IllegalStateException: maxImages (2) has already been acquired
- تم إصلاح المشكلة المتعلقة بعدم استدعاء
setLensFacing
لحالة استخدام، ما نتج عنهjava.lang.IllegalArgumentException: Unable to get camera ID for use case
. - تم إصلاح المشكلة التي كانت متمثلة في أن جهاز LEGACY يتطلب نسبة عرض إلى ارتفاع محدَّدة لدرجة دقة JPEG القصوى
- تم إصلاح المشكلة التي تحدث عند تشغيل التطبيق في الخلفية أثناء فتح الكاميرا
- تم إصلاح مشكلة واجهة برمجة التطبيقات < 25، مع إزالة الخطأ
checkAndUpdateEglState: invalid current EGLDisplay
- تم إصلاح المشكلة التي تحدث عند إلغاء ربط المعاينة بعد تفعيل الإضافات وبدء تشغيلها.
- إنشاء عناصر لعرض الكاميرا وإضافات الكاميرا تم نشرها الآن كإصدارات أولية
الكاميرا-الكاميرا2 والإصدار 1.0.0-ألفا03 الأساسي
2 تموز (يوليو) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha03
وandroidx.camera:camera-camera2:1.0.0-alpha03
. يحتوي الإصدار 1.0.0-alpha03 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة توضيح javadoc لـ "target" في طلبات إعداد setTarget
الكاميرا الأساسية
- تم إصلاح تعطُّل سطح الإدخال/الإخراج غير المهيأ عند الفتح/الإغلاق السريع أو الربط/إلغاء الربط
- الانتقال إلى عمليات التنفيذ الجديدة للعقود الآجلة
- اختبار الإصلاحات لإجراء اختبارات أكثر فعالية
- يعرض اختبار الدمج الأساسي الآن وقت التقاط الصور
- تم إعداد فئة المطابقة الداخلية للمنفّذين.
- يتم الآن اختبار التوقيت لالتقاط الصور قبل اكتمالها وتحسين ثبات النظام
الإضافات
- تمت إضافة عمليات التحقّق من تحديد الإصدارات.
- تغطية الاختبار الإضافية - طلبات معاودة الاتصال لحدث الإضافة
- تحسينات على الصور والبيانات الوصفية المقابلة داخليًا
- إصلاحات تبديل الوضع في التطبيق التجريبي
الكاميرا-الكاميرا2 والإصدار 1.0.0-ألفا02 الأساسي
5 حزيران (يونيو) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha02
وandroidx.camera:camera-camera2:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح مشكلة القسمة div على صفر عند استخدام المحاكي
- تم إصلاح خطأ NullPointerException/Surface-Aorororored (حدث NullPointerException) الذي يحدث عند التقاط الصور بسرعة أثناء إلغاء ربط حالات الاستخدام وإعادة ربطها بسرعة.
- تم إصلاح المشكلة الداخلية لضمان أنّ تحديثات طلب الالتقاط تؤثر باستمرار في جميع مساحات العرض.
- تحسينات في الثبات عند إعادة تشغيل حالات الاستخدام في حالات التطبيق الجديدة
- تغييرات في البنية الداخلية من أجل الاستعداد لدعم جهات التنفيذ في واجهة برمجة التطبيقات
- توضيحات إضافية حول JavaDoc حول فئة CameraX وإدارة مراحل النشاط
- تمت إضافة ميزة "الاختبار الآلي" لتطبيق Antelope لاختبار الأداء
- إزالة الحاجة إلى "-keepattributes Signature" في إعدادات التطبيق Proguard
الكاميرا-الكاميرا2 والكاميرا الأساسية 1.0.0-alpha01
7 أيار (مايو) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha01
وandroidx.camera:camera-camera2:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على هذه الالتزامات.
دورة حياة الكاميرا الإصدار 1.0.0-الإصدار التجريبي 11
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-الإصدار التجريبي 10 من دورة حياة الكاميرا
23 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta10
". يحتوي الإصدار 1.0.0 إلى الإصدار التجريبي 10 على هذه الالتزامات.
إصلاح الأخطاء
- إصدار متوافق مع الكاميرا الأساسية 1.0.0-الإصدار التجريبي 10
دورة حياة الكاميرا 1.0.0-beta09
16 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta09
". يتضمّن الإصدار 1.0.0-beta09 هذه الالتزامات.
دورة حياة الكاميرا 1.0.0-beta08
19 آب (أغسطس) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta08
". يتضمّن الإصدار 1.0.0-beta08 هذه الالتزامات.
إصلاح الأخطاء
- من المفترض ألا تتعطّل عملية الإعداد بعد الآن عند استخدام سياق
لا يعرض كائن تطبيق من
Context.getApplicationContext()
. (I3d3c9، b/160817073)
دورة حياة الكاميرا 1.0.0-beta07
22 تموز (يوليو) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta07
". يتضمّن الإصدار 1.0.0-beta07 هذه الالتزامات.
دورة حياة الكاميرا 1.0.0-beta06
24 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta06
". يتضمّن الإصدار 1.0.0-beta06 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- يمكن الآن إعداد CameraX باستخدام Process باسمProcessProvider# الأطراف المعنية () (Ia1a8d)
دورة حياة الكاميرا 1.0.0-beta05
10 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta05
". يتضمّن الإصدار 1.0.0-beta05 هذه الالتزامات.
إصلاح الأخطاء
- إصلاح العُطل عند بدء تشغيل التطبيق عند إعداد CameraX عندما يكون الهاتف في وضع "عدم الإزعاج". سيتم ضبط
InitializationException
الذي يحتوي علىCameraUnavailableException
علىListenableFuture
لنتيجة البدء بدلاً من تعطُّل التطبيق. (I9909a، b/149413835)
الإصدار 1.0.0-beta04 من دورة حياة الكاميرا
27 أيار (مايو) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta04
". يتضمّن الإصدار 1.0.0-beta04 هذه الالتزامات.
دورة حياة الكاميرا 1.0.0-beta03
نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta03
". يتضمّن الإصدار 1.0.0-beta03 هذه الالتزامات.
إصلاح الأخطاء
- الانحدار المُعدَّل من الإصدار التجريبي 03 حيث يؤدي استدعاء
bindToLifecycle()
بقيمة صفريةUseCase
إلى حدوث استثناء. أدى ذلك إلى منع استردادCamera
بدون ربطUseCase
. - إصلاحات لدعم إصدار
camera-core
الإصدار 1.0.0-تجريبي 01 من دورة حياة الكاميرا
26 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta01
". يتضمّن الإصدار 1.0.0-beta01 هذه الالتزامات.
إصلاح الأخطاء
- تم إصلاح الوثائق لملاحظة أنه عند الحصول على
ProcessCameraProvider
أثناء التهيئة، يتم استخدام إعداد تلقائي وأن تمديدApplication
هو إجراء اختياري. (I5e395)
دورة حياة الكاميرا 1.0.0-beta02
1 نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-beta02
". يتضمّن الإصدار 1.0.0-beta02 هذه الالتزامات.
إصلاح الأخطاء
- تم تعديلها لإتاحة إصلاح الأخطاء في
camera-camera2:1.0.0-beta02
وcamera-core:1.0.0-beta02
.
الإصدار 1.0.0-alpha10 من دورة حياة الكاميرا
10 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-alpha10
". يحتوي الإصدار 1.0.0-alpha10 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة تعليق توضيحي "
@MainThread
" إلى نهج بينToLifecycle وإلغاء الربط وإلغاء ربط جميع الطرق. (I990d2)
الإصدار 1.0.0-alpha03 من دورة حياة الكاميرا
22 كانون الثاني (يناير) 2020
تم طرح "androidx.camera:camera-lifecycle:1.0.0-alpha03
". يحتوي الإصدار 1.0.0-alpha03 على هذه الالتزامات.
آخر الأخبار
- إصلاحات وتحديثات مختلفة لدعم التغييرات في Camera Core و Camera2
الإصدار 1.0.0-alpha02 من دورة حياة الكاميرا
18 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-lifecycle:1.0.0-alpha02
". يحتوي الإصدار 1.0.0-alpha02 على هذه الالتزامات.
التغييرات المتعلّقة بالتبعية
- تم التعديل لاستخدام "
androidx.camera:camera-core:1.0.0-alpha08
".
الإصدار 1.0.0-alpha01 من دورة حياة الكاميرا
4 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-lifecycle:1.0.0-alpha01
". يحتوي الإصدار 1.0.0-alpha01 من دورة حياة الكاميرا على هذه الالتزامات
ملاحظات واجهة برمجة التطبيقات
- تتم إضافة العناصر ذات مراحل نشاط الكاميرا، ما يوفّر واجهة
LifeCycleCameraProvider
، بالإضافة إلى عملية تنفيذ تُسمىProcessCameraProvider
توفّر العديد من وظائف فئة CameraX السابقة بشكل أساسي ويتم الحصول عليها باستخدام طريقةgetInstance()
. - يجب أن تتضمّن التطبيقات مكتبة دورة حياة الكاميرا لاستخدام CameraX.
- يمكنك الاطّلاع على الملاحظات في قسم الكاميرا الأساسية للتعرّف على طريقة إعداد تطبيق CameraX باستخدام
ProcessCameraProvider
.
إضافات الكاميرا والإصدار 1.0.0 من 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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة تعليقات
@RequiresApi(21)
التوضيحية غير الضرورية من الصفوف/الواجهات الداخلية. (I8e286، b/204917951) - تعديل ملفات واجهة برمجة التطبيقات لعناصر إضافات الكاميرا (If683a، b/161377155)
إصلاح الأخطاء
- عدم السماح للتطبيق بتفعيل أوضاع الإضافات عند ربط
VideoCapture
لا تتوافق إضافات CameraX معImageCapture
وPreview
إلا. لا يمكن بعد استخدامVideoCapture
. إذا ربط التطبيقVideoCapture
وفعّل أي وضع إضافة، سيتم طرحIllegalArgumentException
. (I0d87b) - لم يعد
CameraSelector#filter
يعرض الخطأIllegalArgumentException
عندما تكون مجموعة النتائج فارغة. (I27804) - تمت إعادة تسمية واجهة برمجة التطبيقات
ExtensionsManager#getInstance
باسمgetInstanceAsync
لأنّها تعرضListenableFuture
. يمكن أن تشير اللاحقة غير المتزامنة لاسم الدالة إلى أنها دالة غير متزامنة بوضوح. (I279d2) - يمكنك إزالة مَعلمة درجة الدقة من واجهة برمجة التطبيقات
ExtensionsManager#getEstimatedCaptureLatencyRange
، لأنّ المستخدمين لا يمكنهم معرفة الأحجام المتوافقة مع حالة استخدامImageCapture
ولا يمكنهم التمييز بين ما إذا كانت معلومات وقت الاستجابة المعروضة هي الحدّ الأقصى لحجم إخراج الالتقاط أو مَعلمة دقة الإدخال. (I74bb2) - نقل مَعلمة
CameraProvider
من دوالExtensionsManager
إلى واجهة برمجة التطبيقات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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة CameraSelector#filter إلى واجهة برمجة التطبيقات العامة لفلترة قائمة معلومات الكاميرا استنادًا إلى "أداة اختيار الكاميرا". (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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة التعليق التوضيحي @RequiresApi(21) إلى جميع فئات CameraX وتم استبعاد minSdkVersion من AndroidManifest.xml. سيتيح ذلك دمج نواة الكاميرا بسهولة في التطبيقات التي تحتوي على إصدار minSdkVersion الأقل من 21، ولكنها تريد استخدام مسارات الرموز البرمجية التي تعتمد على واجهة برمجة التطبيقات 21 والإصدارات الأحدث بشكل مشروط. بالنسبة إلى أي تطبيق يتضمّن الإصدار 21 من حزمة minSdkVersion أو الإصدارات الأحدث، لا يتطلب هذا التغيير أي إجراء. (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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي تجريبيUseCaseGroup الآن بعد أن لم تعد واجهات برمجة التطبيقات تجريبية. (I01ef5)
- إزالة
RotationProvider#removeAllListeners()
. يُرجى استخدامRotationProvider#removeListener(...)
بدلاً منها. (Id9d4a) - تم تعديل فئة RotationReceivedr: تم تغيير set/clear Listener من أجل إضافة/إزالة/إزالةالكل، وإزالة صيغة 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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي تجريبيUseCaseGroupLifecycle الآن بعد أن لم تعد واجهات برمجة التطبيقات تجريبية. (I17b85)
- إعادة هيكلة خدمة RotationListener وإعادة تسميتها إلى RotationProvider. يستمر في توفير الميزة نفسها بواجهة برمجة تطبيقات مختلفة قليلاً. (Idffc5)
- إعادة تسمية TAP_TO_FOCUS_UNحققFUL إلى TAP_TO_FOCUS_NOT_FOCUSED وTAP_TO_FOCUS_SuccessFUL إلى TAP_TO_FOCUS_FOCUSED. Made OUTSize (حجم الناتج النهائي) (I099fa)
إصلاح الأخطاء
- تمت إزالة
<EffectName><UseCase>Extender
فئة تم إيقافها نهائيًا وextensionsErrorListener وواجهات برمجة تطبيقات AccessibilityManager ذات الصلة. (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 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تم الترويج لواجهة برمجة تطبيقات إطار العرض خارج إطار التجربة. إزالة التعليق التوضيحي التجريبي لواجهة برمجة التطبيقات. (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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إضافة طريقة
CameraController#getTapToFocusState()
جديدة تعرض أحدث نتيجة للنقر للتركيز (Iaccb0) - إضافة المزيد من ميزات الكاميرا الأساسية إلى CameraController: أدوات الاستلام/الضبط لنسبة العرض إلى الارتفاع المستهدفة، والدقة المستهدفة، ووضع الالتقاط، و CameraControl وأدوات التنفيذ المخصّصة. (Iea8f2)
- إضافة فئة Rotationcer التي تتلقى تغييرات دوران السطح. يمكن استخدام هذه الميزة لضبط تدوير الهدف عندما يكون الجهاز في الوضع الرأسي/الأفقي الثابت. (Ib278f)
- تم الاطّلاع على واجهات برمجة تطبيقات عامة جديدة يتم إنشاؤها لـ getEstimateCaptureLatencyRange في فئة AccessibilityManager. (I6a8ec)
- SettingsErrorListener المتوقفة نهائيًا. في الوقت الحالي، لا يتم استخدام هذه الواجهة إلا لمراقبة ما إذا كان هناك نقص في معاينة أو ImageCapture عند تفعيل أوضاع الإضافات. سيضيف تطبيق CameraX تلقائيًا معاينة أو ImageCapture إضافية كي تعمل وظائف الإضافات بشكل جيد. وبعد ذلك، لن يتم الإبلاغ عن أي خطأ من خلال هذه الواجهة. (I47d9e)
- تم الاطّلاع على واجهات برمجة التطبيقات العامة الجديدة AccessibilityManager getInstance وisExtensionAvailable وgetExtensionEnabled CameraSelector المتاحة للجميع، وكذلك فئات
<EffectName><UseCase>Extender
القديمة وواجهات برمجة التطبيقات ذات الصلة ذات الصلة. (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 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- خرجت واجهات برمجة التطبيقات تجريبية CameraFilter الآن من المرحلة التجريبية وأصبحت واجهات برمجة تطبيقات رسمية. يمكن استخدامها بدون تفعيل التعليقات التوضيحية. (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
بواجهات برمجة تطبيقات تجريبية. لطلب واجهات برمجة تطبيقات تجريبية، استخدِمandroidx.annotation.OptIn
بدلاً منandroidx.annotation.experimental.UseExperimental
المتوقفة نهائيًا. (Iff226) - تم إصلاح مشكلة PreviewView الإضافية على Samsung J5 Prime (Ib10b6)
إضافات الكاميرا والإصدار 1.0.0-alpha23
24 آذار (مارس) 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha23
وandroidx.camera:camera-view:1.0.0-alpha23
. يتضمّن الإصدار 1.0.0-alpha23 هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- يتم إيقاف CameraView نهائيًا. يُرجى استخدام
LifecycleCameraController
بدلاً منها. يُرجى الاطّلاع على دليل نقل البيانات (Idac2c). - تمت إضافة التعليق التوضيحي FloatRange إلى setLinearZoom() (I69971)
إصلاح الأخطاء
- تثبيت تبعيات عرض الكاميرا للاعتماد على 1.0.0 عناصر. إنّ الاعتماد على عرض الكاميرا لن يؤدي بعد ذلك إلى زيادة دقة خوارزمية Gradle التي يمكن استخدامها لترقية نواة الكاميرا والكاميرا2 ودورة حياة الكاميرا تلقائيًا إلى أحدث عناصر 1.1.0، إلا أنّ عرض الكاميرا لا يزال متوافقًا مع هذه العناصر في حال ضبطها صراحةً لاستخدام الإصدار 1.1.0. (Ic8fa1، b/181599852)
- تم إصلاح معاينة Samsung A3 الموسّعة في PreviewView. (Iacb30، b/180121821)
- تم إصلاح المشكلة التي تمنع ضبط أداة اختيار الكاميرا قبل إعداد الكاميرا. (Ic8bd0)
إضافات الكاميرا والإصدار 1.0.0-alpha22
24 شباط (فبراير) 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha22
وandroidx.camera:camera-view:1.0.0-alpha22
. يحتوي الإصدار 1.0.0-alpha22 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- إضافة أداة الحصول على معلومات الكاميرا إلى وحدة التحكم في الكاميرا. (Ib8138، b/178251727)
إصلاح الأخطاء
- تم إصلاح AddErrorListener للإبلاغ عن الأخطاء عند ربط المعاينة أو ImageCapture فقط. (I5ae39)
إضافات الكاميرا والإصدار 1.0.0-alpha21
27 كانون الثاني (يناير) 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha21
وandroidx.camera:camera-view:1.0.0-alpha21
. يحتوي الإصدار 1.0.0-alpha21 على هذه الالتزامات.
جارٍ إطلاق هذه الميزة لدعم العناصر الأخرى في مكتبة الكاميرا.
إضافات الكاميرا والإصدار 1.0.0-alpha20
16 كانون الأول (ديسمبر) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha20
وandroidx.camera:camera-view:1.0.0-alpha20
. يحتوي الإصدار 1.0.0-alpha20 على هذه الالتزامات.
جارٍ إطلاق هذه الميزة لدعم العناصر الأخرى في مكتبة الكاميرا.
إضافات الكاميرا والإصدار 1.0.0-alpha19 من Camera-View
11 تشرين الثاني (نوفمبر) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha19
وandroidx.camera:camera-view:1.0.0-alpha19
. يحتوي الإصدار 1.0.0-alpha19 على هذه الالتزامات.
إصلاح الأخطاء
- تم إضافة تعليق توضيحي واحد (
@ExperimentalVideo
) إلى شاشة الكاميرا. يشير هذا التعليق التوضيحي إلى واجهات برمجة التطبيقات التي تكشف عن وظائف الفيديو التجريبية والتي قد تخضع للتغيير مع تطوير الميزات بالكامل. يجب أن تستخدم أي طريقة تستخدم واجهات برمجة التطبيقات هذه التعليق التوضيحي@UseExperimental
معExperimentalVideo
على أنّهmarkerClass
. (I6d729)
الإصدار 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)
الإصدار 1.0.0-alpha18 من Camera-View
14 تشرين الأول (أكتوبر) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha18
". يحتوي الإصدار 1.0.0-alpha18 على هذه الالتزامات.
جارٍ إطلاق هذه الميزة لدعم العناصر الأخرى في مكتبة الكاميرا.
الإصدار 1.0.0-alpha17 من إضافات الكاميرا
23 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha17
". يحتوي الإصدار 1.0.0-alpha17 على هذه الالتزامات.
إصلاح الأخطاء
- إصدار متوافق مع الكاميرا الأساسية 1.0.0-الإصدار التجريبي 10
الإصدار 1.0.0-alpha17 من Camera-View
23 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha17
". يحتوي الإصدار 1.0.0-alpha17 على هذه الالتزامات.
إصلاح الأخطاء
- إصدار متوافق مع الكاميرا الأساسية 1.0.0-الإصدار التجريبي 10
الإصدار 1.0.0-alpha16 من إضافات الكاميرا
16 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha16
". يحتوي الإصدار 1.0.0-alpha16 على هذه الالتزامات.
إصلاح الأخطاء
- تمت إضافة طريقة في
ExtensionsManager
للحصول على الكائنExtensions
والذي يُستخدم لتفعيل الإضافات وطلبها في مثيلات الكاميرا (I4fb7e)
الإصدار 1.0.0-alpha16 من Camera-View
16 أيلول (سبتمبر) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha16
". يحتوي الإصدار 1.0.0-alpha16 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة
PreviewView#setDeviceRotationForRemoteDisplayMode()
وPreviewView#getDeviceRotationForRemoteDisplayMode()
. الطريقتان مخصصتان لتخصيص تدوير المعاينة، عندما لا يكون التدوير المطلوب غير تدوير العرض، مثل العرض عن بُعد. للتعامل الآن مع تدوير المعاينة غير المعروضة على محتوى الشاشة، اضبط التدوير المطلوب باستخدامPreview#setTargetRotation()
وPreviewView#getViewPort(targetRotation)
المضافة حديثًا. (Ib62cc) - تمت إعادة تسمية "
createSurfaceProvider()
" إلى "getSurfaceProvider()
". ستعرض الطريقة دائمًا مثيل Preview.SurfaceProvider نفسه. (Iff83c)
إصلاح الأخطاء
- تم فرض استخدام المعاينة TextureView في حال تفعيل تأثير الإضافة ويحتاج تنفيذ مكتبة المورّدين إلى إجراء عملية خاصة على مساحة عرض الإخراج. (I0c3cc)
- السماح بالتدوير العشوائي للهدف في المعاينة. يتم احتساب معلومات التحويل وعرضها للمستخدم بشكل فوري من خلال عملية معاودة اتصال جديدة باسم "
TranformationInfoListener
". (I21470)
المشاكل المعروفة
- في PreviewView، لا يتم استدعاء
OnClickListener#onClick()
عندما ينقر المستخدم النهائي على PreviewView. يتم استهلاك حدث اللمس عن طريق الخطأ من خلال PreviewView#onTouchEvent(). سيتم إصلاح المشكلة في الإصدار التالي. - قد تكون نقطة MeteringPoint التي تم الحصول عليها من
PreviewView#getMeteringPointFactory()
غير صحيحة في حال استخدام ViewPort مع PreviewView.
الإصدار 1.0.0-alpha15 من إضافات الكاميرا
19 آب (أغسطس) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha15
". يحتوي الإصدار 1.0.0-alpha15 على هذه الالتزامات.
إصلاح الأخطاء
- تأخذ الطريقة
ExtensionsManager.init()
الآن السياق كمعلمة بدلاً من أن تحتوي على 0 وسيطات. (Ife754) من المفترض ألا تتعطّل عملية الإعداد بعد الآن عند استخدام سياق لا يعرض كائن تطبيق من
Context.getApplicationContext()
. (I3d3c9، b/160817073)الإصدار 1.0.0-alpha15 من Camera-View
19 آب (أغسطس) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha15
". يحتوي الإصدار 1.0.0-alpha15 على هذه الالتزامات.
إصلاح الأخطاء
- يستخدم
DisplayOrientedMeteringPointFactory
مثيلاًCameraInfo
بدلاً منCameraSelector
، لذلك يتم إجراء ربط مباشر للكاميرا التي سينشئ المصنع نقاطًا لها. يتم أيضًا قبول جميع الصفوف التي تستخدمDisplayOrientedMeteringPointFactory
على مثيلCameraInfo
بدلاً منCameraSelector
. (I400c1) - تمت إزالة
TextureViewMeteringPointFactory
. يوفّرPreviewView
واجهة برمجة تطبيقات عامة (createMeteringPointFactory()
) لإنشاء مصنع لنقاط قياس حصة القراءة، بغض النظر عمّا إذا كان يستخدمTextureView
أوSurfaceView
. (Ide693) - إعادة تسمية أوضاع تنفيذ
SURFACE_VIEW
/TEXTURE_VIEW
في PreviewView إلىPERFORMANCE
/COMPATIBLE
.PERFORMANCE
هو وضعSURFACE_VIEW
القديم وCOMPATIBLE
هو وضعTEXTURE_VIEW
القديم. (I0edc2) - لالتقاط صور، استخدِم العلامة الأفقية للانعكاس في البيانات الوصفية استنادًا إلى اتجاه الكاميرا. (I28499)
الإصدار 1.0.0-alpha14 من إضافات الكاميرا
22 تموز (يوليو) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha14
". يحتوي الإصدار 1.0.0-alpha14 على هذه الالتزامات.
الإصدار 1.0.0-alpha14 من Camera-View
22 تموز (يوليو) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha14
". يحتوي الإصدار 1.0.0-alpha14 على هذه الالتزامات.
الإصدار 1.0.0-alpha13 من إضافات الكاميرا
24 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha13
". يحتوي الإصدار 1.0.0-alpha13 على هذه الالتزامات.
إصلاح الأخطاء
- تمت إضافة واجهات تجريبية لفلترة الكاميرات حسب رقم تعريف الكاميرا وخصائصها. (I28f61)
الإصدار 1.0.0-alpha13 من Camera-View
24 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha13
". يحتوي الإصدار 1.0.0-alpha13 على هذه الالتزامات.
إصلاح الأخطاء
- لم يعُد تطبيق CameraView يتعطل مع وجود anrgumentException، عند الربط بمالك دورة الحياة الذي تنتقل فيه دورة حياته إلى حالة DESTROYED بعد وقت قصير من ربطه. لن تحاول ربط دورات الحياة في حالة "التدمير" فتح الكاميرا. (I7c2b8)
- تتوفر الآن PreviewView StreamState الآن من خلال CameraView.getPreviewStreamState() (I21a2b).
الإصدار 1.0.0-alpha12 من إضافات الكاميرا
10 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha12
". يحتوي الإصدار 1.0.0-alpha12 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاح العُطل عند بدء تشغيل التطبيق عند إعداد CameraX عندما يكون الهاتف في وضع "عدم الإزعاج". سيتم ضبط
InitializationException
الذي يحتوي علىCameraUnavailableException
علىListenableFuture
لنتيجة البدء بدلاً من تعطُّل التطبيق. (I9909a، b/149413835)
الإصدار 1.0.0-alpha12 من Camera-View
10 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha12
". يحتوي الإصدار 1.0.0-alpha12 على هذه الالتزامات.
إصلاح الأخطاء
- إضافة واجهة برمجة تطبيقات
PreviewView#getBitmap()
التي تعرض تمثيل الصور النقطية للمحتوى المعروض على سطح المعاينة. (I9b500، b/157659818)
الإصدار 1.0.0-alpha11 من إضافات الكاميرا
27 أيار (مايو) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha11
". يحتوي الإصدار 1.0.0-alpha11 على هذه الالتزامات.
الإصدار 1.0.0-alpha12 من Camera-View
10 حزيران (يونيو) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha12
". يحتوي الإصدار 1.0.0-alpha12 على هذه الالتزامات.
الميزات الجديدة
تغييرات واجهة برمجة التطبيقات
إصلاح الأخطاء
- إضافة واجهة برمجة تطبيقات
PreviewView#getBitmap()
التي تعرض تمثيل الصور النقطية للمحتوى المعروض على سطح المعاينة. (I9b500، b/157659818)
الإصدار 1.0.0-alpha11 من Camera-View
27 أيار (مايو) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha11
". يحتوي الإصدار 1.0.0-alpha11 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- أضِف واجهة برمجة تطبيقات
PreviewView#getPreviewStreamState
التي تتيح للتطبيقات رصد ما إذا كانت المعاينة قيد البث أم لا. عندما تكون ميزة PreviewView في وضع TEXTURE_VIEW، تضمن حالة "ساحة المشاركات" أيضًا ظهور صورة المعاينة. (Ic0906، b/154652477) - تمت إضافة واجهة برمجة التطبيقات
PreviewView#setDeviceRotationForRemoteDisplayMode()
API لتوفير تدوير الجهاز لإجراء العمليات الحسابية لعمليات التحويل في حال تشغيل التطبيق في وضع العرض عن بُعد. (I59b95، b/153514525)
إصلاح الأخطاء
- تم إصلاح مشكلة تشوّه المعاينة على كاميرات
FULL/LIMITED/LEVEL_3
التي تعمل بالإصدار 7.0 من نظام التشغيل Android والإصدارات الأقدم. يتم فرض استخدام وضعImplementationMode#TEXTURE_VIEW
عندما يكون إصدار Android هو 7.0 أو أقل. (I83e30، b/155085307) - تمت إزالة المعلَمة
CameraInfo
منPreviewView#createSurfaceProvider()
، ويستردّهاPreviewView
الآن داخليًا منSurfaceRequest
. (If18f0، b/154652477) - تم تعديل نسبة العرض إلى الارتفاع التلقائية لـ VideoCapture أن تكون 16:9 في CameraView. (Ie6a7b، b/153237864)
- يجب إصلاح
PreviewView
مشكلة متعلقة بالشاشة السوداء عند تمرير جزءPreview
سريعًا للخارج ثم التمرير سريعًا للخلف في ViewPager2. تم أيضًا حلّ المشكلة عندremoveView(previewview)
ثمaddView(previewView)
. (Iab555 وb/149877652 وb/147354615) - يجب تعديل واجهة برمجة التطبيقات
CameraView#takePicture()
للسماح بحفظ الصور فيUri
وOutputStream
. عليك تحديث التطبيق التجريبي لاستخدامUri
كمثال أساسي. (Ia2459، b/153607583) - يمكنك ضبط نوع مقياس PreviewView من تنسيق XML من خلال ضبط السمة
ScaleType
. (I08565، b/153015659) - تمت إزالة
CameraView.ScaleType
. بدلاً من ذلك، استخدِمPreviewView.ScaleType
لضبط/الحصول على نوع المقياس باستخدام CameraView. (Ia8974، b/153014831) - يمكنك اختيار لون خلفية تلقائيًا لتطبيق "
PreviewView
" إذا لم يسبق له تخصيص لون. يؤدي ذلك إلى منع ظهور المحتوى الخلفي قبل بدء بث المعاينة. (I09fad)
الإصدار 1.0.0-alpha10 من إضافات الكاميرا
نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha10
". يحتوي الإصدار 1.0.0-alpha10 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاحات لدعم إصدار Camera-Core
الإصدار 1.0.0-alpha10 من Camera-View
نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha010
". يحتوي الإصدار 1.0.0-alpha010 على هذه الالتزامات.
إصلاح الأخطاء
- إصلاح مشكلة سابقة معروفة، وهي عدم عمل عملية SurfaceView في
PreviewView
بشكل جيد على أجهزة معيّنة، وقد يؤدي ذلك إلى تعطُّل التطبيق بعد استئناف المعاينة (I5ed6b)
الإصدار 1.0.0-alpha09 من إضافات الكاميرا
1 نيسان (أبريل) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha09
". يحتوي الإصدار 1.0.0-alpha09 على هذه الالتزامات.
إصلاح الأخطاء
- تم تعديلها لإتاحة إصلاح الأخطاء في عناصر
camera-camera2:1.0.0-beta02
وcamera-core:1.0.0-beta02
وcamera-lifecycle:1.0.0-beta02
.
الإصدار 1.0.0-alpha09 من Camera-View
1 نيسان (أبريل) 2020
تم إصدار androidx.camera:camera-view:1.0.0-alpha09
. يحتوي الإصدار 1.0.0-alpha09 على هذه الالتزامات.
المشاكل المعروفة
- قد لا يؤدي استخدام
ImplementationMode.SURFACE_VIEW
معPreviewView
بشكل جيد على أجهزة معيّنة، لأنّSurfaceView
المستخدمة في المعاينة تؤدي إلى إلغاء صلاحية سطحه عند توقُّف مراحل نشاط النافذة التي يدخلها، وعند إعادة تشغيله، تتم إعادة فتح الكاميرا وقد تحاول استئناف المعاينة قبل أن يصبح سطحSurfaceView
صالحًا مرة أخرى. في الوقت الحالي، عليك استخدام "ImplementationMode.TEXTURE_VIEW
".
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية "
PreviewView.setImplementationMode()
" إلى "PreviewView.setPreferredImplementationMode()
". - تمت إعادة تسمية "
PreviewView.getImplementationMode()
" إلى "PreviewView.getPreferredImplementationMode()
". - تم استبدال
PreviewView.getSurfaceProvider()
بـPreviewView.createSurfaceProvider(CameraInfo)
، ما سيؤدي إلى استخدام مثيلCameraInfo
قابل للقيم يُستخدَم لتحسين المعاينة باستخدامImplementationMode.SURFACE_VIEW
كلما أمكن ذلك. وفي حال ضبط مثيل فارغ أو في حال ضبط وضع التنفيذ المفضّل على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()
، ما يعني أنّه يجب طلبه من سلسلة المحادثات الرئيسية. (I192f3)تمت إضافة
PreviewView.setScaleType()
، ما يسمح بضبط نوع مقياس المعاينة. تقبل هذه الدالة إحدى القيَم فيPreviewView.ScaleType
، ويتم ضبطها تلقائيًا علىPreviewView.ScaleType.FILL_CENTER
.تمت إضافة "
PreviewView.getScaleType()
".تمت إزالة إمكانية إعداد وضع التنفيذ للسمة
PreviewView
بتنسيق XML باستخدام السمةimplementationMode
.أضِف واجهة برمجة تطبيقات
createMeteringPointFactory()
إلى PreviewView لإتاحة إجراء الإحالات الناجحة (x, y) فيPreviewView
إلىMeteringPoint
. (Ib36d7)
إصلاح الأخطاء
- تم إصلاح الحالات التي يتم فيها عرض معاينة غير صحيحة بعد تغيير حجم
PreviewView
. (I71101)
الإصدار 1.0.0-alpha08 من إضافات الكاميرا
26 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha08
". يحتوي الإصدار 1.0.0-alpha08 على هذه الالتزامات.
الإصدار 1.0.0-alpha08 من Camera-View
26 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha08
". يحتوي الإصدار 1.0.0-alpha08 على هذه الالتزامات.
إصلاح الأخطاء
- تم استبدال
ListenableFuture
فيSurfaceRequest.provideSurface()
بـExecutor
وCallback
. ويؤدي ذلك إلى تبسيط واجهة برمجة التطبيقات بحيث لم يعد هناك طلب من معالجة الاستثناءات علىprovideSurface()
ويفرض عدم إمكانية إلغاء طلب معاودة الاتصال بـprovideSurface()
. وهذا لمنع حدوث أعطال في الأجهزة القديمة ناتجة عن إطلاق الأسطح مبكرًا. ويتم الآن استخدام الكائنSurfaceRequest.Result
لتتبّع طريقة استخدامSurfaceRequest
للسمةSurface
المقدّمة. (I7854b) - تمت إعادة تسمية "
SurfaceRequest.setSurface(Surface)
" إلى "SurfaceRequest.provideSurface(Surface)
" و"SurfaceRequest.setWillNotComplete()
" إلى "SurfaceRequest.willNotProvideSurface()
". (I224fe) - تم إصلاح عملية إعداد خيارات التطبيق مع تفعيل ProGuard من خلال الحفاظ على
العلامة التي تضبط موفِّر
CameraXConfig
التلقائي. (I2d6c1)
الإصدار 1.0.0-alpha07 من إضافات الكاميرا
10 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha07
". يحتوي الإصدار 1.0.0-alpha07 على هذه الالتزامات.
إصلاح الأخطاء
- تم استبدال الوسيطات التي تم تمريرها سابقًا في
ImageCapture.OnImageSavedCallback.onError()
وImageCapture.OnImageCapturedCallback.onError()
بوسيطة واحدةImageCaptureException
، والتي لا تزال تحتوي على جميع المعلومات التي تم تمريرها سابقًا. - تمت إزالة وسيطة الملف التي تم تمريرها سابقًا في
ImageCapture.OnImageSavedCallback.onImageSaved()
. (I750d2)
الإصدار 1.0.0-alpha07 من Camera-View
10 شباط (فبراير) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha07
". يحتوي الإصدار 1.0.0-alpha07 على هذه الالتزامات.
تغييرات واجهة برمجة التطبيقات
- عند تنفيذ
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
جديد. تمت إزالة طريقةPreview.getPreviewSurfaceProvider()
بسبب احتمالية إساءة استخدامها عند إقرانPreview
بفئات أخرى مثلPreviewView
. (I20105) - تم استبدال الوسيطات التي تم تمريرها سابقًا في
ImageCapture.OnImageSavedCallback.onError()
وImageCapture.OnImageCapturedCallback.onError()
بوسيطة واحدةImageCaptureException
، والتي لا تزال تحتوي على جميع المعلومات التي تم تمريرها سابقًا. - تمت إزالة وسيطة الملف التي تم تمريرها سابقًا في
ImageCapture.OnImageSavedCallback.onImageSaved()
. (I750d2) - تم تحديث واجهة برمجة التطبيقات باستخدام طرق
getZoomRatio()
وgetMaxZoomRatio()
وgetMinZoomRatio()
وgetLinearZoom()
لدمجCameraInfo
فيgetZoomState()
التي تعرض مثيلاًZoomState
. (Ib19fe)
الإصدار 1.0.0-alpha06 من إضافات الكاميرا
22 كانون الثاني (يناير) 2020
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha06
". يحتوي الإصدار 1.0.0-alpha06 على هذه الالتزامات.
آخر الأخبار
- إصلاحات وتحديثات مختلفة لدعم التغييرات في Camera Core و Camera2
الإصدار 1.0.0-alpha06 من Camera-View
22 كانون الثاني (يناير) 2020
تم طرح "androidx.camera:camera-view:1.0.0-alpha06
". يحتوي الإصدار 1.0.0-alpha06 على هذه الالتزامات.
آخر الأخبار
- إصلاحات وتحديثات مختلفة لدعم التغييرات في Camera Core و Camera2
الإصدار 1.0.0-alpha05 من إضافات الكاميرا
18 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha05
". يحتوي الإصدار 1.0.0-alpha05 على هذه الالتزامات.
إصلاح الأخطاء
- تم تعديل هذه الإعدادات لتتوافق مع واجهات برمجة التطبيقات الداخلية للكاميرا الأساسية.
الإصدار 1.0.0-alpha05 من Camera-View
18 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-view:1.0.0-alpha05
". يحتوي الإصدار 1.0.0-alpha05 على هذه الالتزامات.
المشاكل المعروفة
- قد تكون نسبة العرض إلى الارتفاع غير صحيحة عند استخدام PreviewView (b/146215202).
الميزات الجديدة
- تم تطبيق فئة جديدة تُسمى
PreviewView.TextureViewImplementation
تتم من خلالها مزامنة مراحل نشاط SurfaceTexture مع استخدام الكاميرا لسطح TextureView.
الإصدار 1.0.0-alpha04 من إضافات الكاميرا
4 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-extensions:1.0.0-alpha04
". يحتوي الإصدار 1.0.0-alpha04 من إضافات الكاميرا على هذه الالتزامات
التغييرات في واجهة برمجة التطبيقات
أصبح التحقّق من مدى توفُّر إضافة وتفعيلها يستخدم
CameraSelector
كمَعلمة إدخال. ويجب أن يكون هذا العنوان هو نفسهCameraSelector
المستخدَم لربط حالة الاستخدام.val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA val builder = ImageCapture.Builder() val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder) if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) { bokehImageCaptureExtender.enableExtension(cameraSelector) } val imageCapture = builder.build() mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
يجب إعداد الإضافات قبل استخدام مكتبة الإضافات.
val availability = ExtensionsManager.init() Futures.addCallback<ExtensionsManager.ExtensionsAvailability>( availability, object : FutureCallback<ExtensionsManager.ExtensionsAvailability> { override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) { // Ready to make extensions calls } override fun onFailure(throwable: Throwable) { // Extensions could not be initialized } }, Executors.newSingleThreadExecutor() )
الإصدار 1.0.0-alpha04 من Camera-View
4 كانون الأول (ديسمبر) 2019
تم طرح "androidx.camera:camera-view:1.0.0-alpha04
". يحتوي الإصدار 1.0.0-alpha04 من عرض الكاميرا على هذه الالتزامات
التغييرات في واجهة برمجة التطبيقات
- يتم توفير فئة
PreviewView
لعرض المخرجات بسهولة من حالة استخدام المعاينة في أحد التطبيقات. يمكن تضمين "
PreviewView
" في التنسيق:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />
يوفّر
PreviewView
عنصرPreviewSurfaceProvider
لربط حالة استخدام من خلال ميزة المعاينة بسهولة.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
تم تغيير اسم "
ZoomLevel
" إلى "ZoomRatio
" في تسمية واجهة برمجة التطبيقات.غيّرت بعض معلمات الطريقة إمكانية القيم الفارغة
إضافات الكاميرا والإصدار 1.0.0-alpha03 من Camera-View
9 تشرين الأول (أكتوبر) 2019
تم طرح androidx.camera:camera-extensions:1.0.0-alpha03
وandroidx.camera:camera-view:1.0.0-alpha03
. هذه هي الالتزامات المدرَجة في "camera-extensions:1.0.0-alpha03
"، وهي الالتزامات المدرَجة في camera-view:1.0.0-alpha03
.
الميزات الجديدة
- تمت إضافة أداة إعداد السياق للإضافات. تمت زيادة إصدار الإضافات إلى 1.1.0
إضافات الكاميرا والإصدار 1.0.0-alpha02 من Camera-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
وهذه هي commits include
camera-view:1.0.0-alpha02.
- تمت إضافة اختبارات للتحقق من تنفيذ
PreviewImageProcessorImpl
للطوابع الزمنية بشكل صحيح. - إصلاح إخفاق اختبار
ExtensionTest
على Nexus 5 (المستوى 21 من واجهة برمجة التطبيقات) والتأكد من توفر المعاينة.
إضافات الكاميرا والإصدار 1.0.0-alpha01 من Camera-View
7 آب (أغسطس) 2019
تم طرح androidx.camera:camera-extensions:1.0.0-alpha01
وandroidx.camera:camera-view:1.0.0-alpha01
.
في ما يلي
الالتزامات المضمّنة في إضافات الكاميرا:1.0.0-alpha01
وهذه هي عمليات الالتزام المتضمّنة
camera-view:1.0.0-alpha01
- مكتبة جديدة لإضافات الكاميرا المستقبلية للوصول إلى التأثيرات على الأجهزة المتوافقة. لا يزال العمل في هذه المكتبة قيد التطوير.
- صف جديد لعرض الكاميرا لا يزال العمل في هذه المكتبة قيد التطوير.