الكاميراX
يعرض هذا الجدول كل العناصر في مجموعة androidx.camera
.
العناصر | الإصدار المستقر | سحب المرشح | الإصدار التجريبي | إصدار أولي |
---|---|---|---|---|
كاميرا-كاميرا2 | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
نواة الكاميرا | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
تأثيرات الكاميرا | - | 1.4.0-rc01 | - | 1.5.0-alpha01 |
إضافات الكاميرا | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
مراحل نشاط الكاميرا | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
كاميرا-mlkit-vision | - | 1.4.0-rc01 | - | 1.5.0-alpha01 |
عرض الكاميرا | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
عدسة الكاميرا | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
كاميرا وفيديو | 1.3.4 | 1.4.0-rc01 | - | 1.5.0-alpha01 |
اختبار الجهاز
تم اختبار CameraX على العديد من الأجهزة في مختبرنا. للاطّلاع على قائمة الأجهزة حاليًا في المعمل، راجع أداة CameraX التي تم اختبارها معملية الأجهزة.
إعلان التبعيات
لإضافة تبعية على CameraX، يجب إضافة مستودع Google Maven إلى لمشروعك. القراءة يمكنك الاطّلاع على مستودع Maven من Google لمعرفة المزيد المعلومات.
أضِف الملحقات التابعة للعناصر التي تحتاجها في ملف build.gradle
لـ
لتطبيقك أو الوحدة التي تستخدمها:
Groovy
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.5.0-alpha01" // 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.5.0-alpha01" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
ملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كان لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على المشاكل الحالية في هذه المكتبة قبل إنشاء مكتبة جديدة. يمكنك إضافة تصويتك إلى مشكلة حالية عن طريق بالنقر فوق زر النجمة.
يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل. لمزيد من المعلومات.
الإصدار 1.0 من ميزة "إنشاء عدسة الكاميرا"
الإصدار 1.0.0-alpha02
12 يونيو 2024
تم طرح androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على عمليات التنفيذ هذه.
الإصدار 1.0.0-alpha01
14 مايو 2024
تم طرح androidx.camera:camera-viewfinder-compose:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على عمليات التنفيذ هذه.
الميزات الجديدة
- مكتبة جديدة. توفِّر هذه المكتبة عدسة الكاميرا الأصلية القابلة للإنشاء والقابلة للإنشاء مع تطبيق CameraX والكاميرا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.5 من الكاميرا
الإصدار 1.5.0-alpha01
4 سبتمبر 2024
تم طرح androidx.camera:camera-*:1.5.0-alpha01
. يحتوي الإصدار 1.5.0-alpha01 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- توفير واجهة برمجة التطبيقات لضبط إعدادات التقاط الفيديوهات بالكاميرا المزدوجة المتزامنة. تشتمل الإعدادات على قيمة ألفا للمزج، والإزاحة في x، والإحداثيات y، وحجم عرض وارتفاع نافذة عرض إطار الكاميرا. يتم تحديد الإزاحة والعرض والارتفاع في إحداثيات الجهاز التي تمت تسويتها. (Ia2b8a)
- تم عرض واجهة برمجة تطبيقات
CameraProvider.getCameraInfo
كواجهة برمجة تطبيقات رسمية. (I901cd) - تمت إضافة واجهة برمجة التطبيقات
PendingRecording.withAudioEnabled(boolean initialMuted)
للتحكّم في حالة كتم الصوت الأولية. (I635c3، b/354829267)
إصلاح الأخطاء
- تم إصلاح التعطُّل عند استدعاء
bindToLifecycle
مع تلفLifecycleOwner
. (I6e6d8) - المعاينة الثابتة هي شاشة سوداء في الكاميرا الأمامية أثناء الربط مع
VideoCapture
على Motorola Edge 20 Fusion. (I1fe88) - تم تحسين الإعدادات لرصد إيماءات التكبير أو التصغير في "
PreviewView
" لتحسين السلاسة. (I04ffc)
الإصدار 1.4 من الكاميرا
الإصدار 1.4.0-rc01
7 أغسطس 2024
تم طرح androidx.camera:camera-*:1.4.0-rc01
. يحتوي الإصدار 1.4.0-rc01 على عمليات التنفيذ هذه.
الميزات الجديدة
- تمت إضافة الإصدار التجريبي من الميزة
CameraInfo.getCameraInfo
لتوفير معلومات محدّدة عن الكاميرا بدون الحاجة إلى ربط حالات استخدام الكاميرا. (I550d1)
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة واجهات برمجة التطبيقات
PreviewView.getScreenFlash
وPreviewView.setScreenFlashOverlayColor
للحالات التي لا تتم فيها إضافةScreenFlashView
بشكل صريح. (I43945)
إصلاح الأخطاء
- تم إصلاح مشاكل التعرض للضوء ودرجة تلوين الألوان عند التقاط صور مع تفعيل الفلاش في إضاءة منخفضة مع ربط حالة الاستخدام VideoCapture. (Ic9814)
- يجب حلّ المشكلة التي تؤدي إلى تعذُّر الحصول على نتائج أثناء مقاطعة طلب "
takePicture
" مع تفعيل الإضافات، وقد لا يعمل طلب "takePicture
" التالي. (Iae78f) - تم إصلاح مشكلة تسرُّب الذاكرة التي تحدث عند تفعيل الإضافات. (Iab276)
- تم حل مشكلة عطل في إضافات CameraX على أجهزة مثل سلسلتَي Pixel 7/8 وSamsung Galaxy S24. لقد ظهرت هذه المشكلة ناجمة عن مشكلة في تحويل
Camera2OutputConfigImpl
في وضع الإصدار بعد ترقية AGP إلى 8.5.1 وتفعيل الحد الأدنى. (I99598، b/354824993)
الإصدار 1.4.0-beta02
12 يونيو 2024
تم طرح androidx.camera:camera-*:1.4.0-beta02
. يحتوي الإصدار 1.4.0-beta02 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- كما هي الحال مع السمة
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 ويدعم عرض المحتوى باستخدام النطاق العالي الديناميكية. وهذا يعني أنّه في التطبيقات أو الأجهزة القديمة، تظهر الصور بسلاسة وبشكل عادي بتنسيق JPEG. بالنسبة إلى التطبيقات والأجهزة التي تم تحديثها للتوافق الكامل مع التنسيق، تظهر الصور بتقنية HDR. (I5de50) - أضِف
PhysicalCameraInfo
فيCameraInfo
لطلب البحث عن معلومات الكاميرا الفعلية وإضافة أداة ضبط معرّف الكاميرا الفعلية فيCameraSelector
(Ic5b90). - استبدِل
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
بـImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
. وتظل قيمة الثابت كما هي. يُستخدم هذا لدمج جميع الثوابت في مكان واحد. (I890bb) - تتيح واجهة برمجة التطبيقات
RetryPolicy
الجديدة للمطوّرين تخصيص سلوك إعادة المحاولة لإعداد CameraX. (I36dd2) - تفعيل إنشاء كائن
ImageCaptureLatencyEstimate
للمساعدة في قابلية الاختبار (Iama99) - إضافة
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
) ثابتة مشكلة تحديد الحل المتعلقة بإعداد الحل الافتراضي للمحلل: تم الاحتفاظ بدرجة الدقة المستهدفة بشكل غير صحيح كـ 640×480 حتى إذا قامت التطبيقات بتعيين إعداد حل افتراضي مختلف للمحلل. إذا واجهت التطبيقات هذه المشكلة (من 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) - عليك إجراء عملية التحقّق من بيانات JPEG غير الصالحة على جميع أجهزة Samsung إذا كان حجم الصورة التي تم التقاطها أكبر من 10 ميغابايت. يمكن أن يؤدي هذا إلى حل مشكلة الصور الكبيرة بشكل غير طبيعي على أجهزة 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 من 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. (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) - تمت إضافة ميزة "فلاش الشاشة" في الكاميرا X لالتقاط الصور باستخدام الكاميرا الأمامية. سيتولى تطبيق 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
هي طريقة أكثر شمولاً لاختيار درجات الدقة، وتتوافق مع واجهة برمجة تطبيقات Camera-core. (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 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات جديدة للوصول إلى معلومات عن شدة الصوت أثناء التسجيل (رقم تعريف 4925)
إصلاح الأخطاء
- يمكنك تحسين ثبات الإضافات عن طريق التأكّد من تشغيل أحداث الإعداد وإيقاف الإعداد بالترتيب الصحيح. (Ib3b8e)
- تم إصلاح تعذُّر إعداد جلسة الالتقاط بسبب تجاوز تركيبة السطح المتوافقة بسبب إضافة مساحة تكرار إضافية داخليًا. (Id718c)
- تم إصلاح مشكلة صور JPEG الكبيرة التي تم التقاطها على جهاز Vivo S16. تحتوي صور JPEG التي تم التقاطها على بيانات متكررة للمساحة المتروكة 0 في مقطع البيانات المضغوطة بتنسيق JFIF. يتسبب في زيادة حجم ملف الصور التي تم التقاطها. ستتم إزالة بيانات المساحة المتروكة 0 المتكررة لجعل الصور التي تم التقاطها ذات أحجام ملفات صور عادية. (I79505، b/299069235)
- تم إصلاح المشكلة المتمثلة في عدم إمكانية ربط
ImageAnalysis
معImageCapture
والمعاينة عند تفعيل بعض أوضاع الإضافات على بعض الأجهزة. سيعرض الحلّ قيمة صحيحة عندما ترسل التطبيقات طلبًا إلى مدى توفّرImageAnalysis
من خلالExtensionsManager#isImageAnalysisSupported()
. (I7d538) - يُرجى تحديث JavaDoc لمطابقة السلوك. وبدلاً من أن تكتمل هذه العملية على الفور، تنتظر "
#setZoomRatio
" و"#setLinearZoom
" و"#enableTorch
" إلى أن تصبح الكاميرا جاهزة. تمت أيضًا إضافة معلومات حول كيفية الحصول على أكبر عدد ممكن من المشاهدين باستخدام واجهة برمجة التطبيقات#takePicture
. (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
) ثابتة مشكلة تحديد الحل المتعلقة بإعداد الحل الافتراضي للمحلل: تم الاحتفاظ بدرجة الدقة المستهدفة بشكل غير صحيح كـ 640×480 حتى إذا قامت التطبيقات بتعيين إعداد حل افتراضي مختلف للمحلل. إذا واجهت التطبيقات هذه المشكلة (من 1.3.0 إلى 1.3.2 تقريبًا) وتعذّرت الترقية لاستخدام الإصدارات الأحدث التي تحتوي على الحلّ، يمكنك ضبطResolutionSelector
مباشرةً بدرجة الدقة المفضّلة وضبطAspectRatioStrategy
مطابق لـ UseCase علىImageAnalysis
يمكن أن يحل هذه المشكلة. (I81f72، b/330091012)
الإصدار 1.3.2
6 مارس 2024
تم طرح androidx.camera:camera-*:1.3.2
. يحتوي الإصدار 1.3.2 على عمليات الالتزام هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة البيانات الوصفية بتنسيق JPEG على أجهزة Samsung A24. يحفظ تطبيق CameraX الآن الصور بدقة، كما تعرض الدالة
ImageProxy.toBitmap()
كائنات الصور النقطية الصحيحة. (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
- ميزات الفيديو، بما في ذلك فيديو 10 بت بنطاق HDR والاقتصاص والمزامنة على الجهاز وفي السحابة الإلكترونية وكتم الصوت/إعادة الصوت وضبط عدد اللقطات في الثانية وغير ذلك
- الكاميرا المزدوجة المتزامنة
- مكتبة التأثيرات
- أداة اختيار درجة الدقة
- عدسة واسعة للغاية اختيار الكاميرا المتداخلة
- التبديل إلى الكاميرا أثناء تسجيل الفيديو (ميزة تجريبية)
الإصدار 1.3.0-rc02
20 أيلول (سبتمبر) 2023
تم طرح androidx.camera:camera-*:1.3.0-rc02
. يحتوي الإصدار 1.3.0-rc02 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- يمكنك تحسين ثبات الإضافات عن طريق التأكّد من تشغيل أحداث الإعداد وإيقاف الإعداد بالترتيب الصحيح. ساعد ذلك في حلّ بعض مشاكل معاينة الصورة السوداء عند تبديل أوضاع الإضافات أو تبديل الكاميرات. (Iddaac)
- تم إصلاح المشكلة المتمثلة في عدم إمكانية ربط
ImageAnalysis
معImageCapture
والمعاينة عند تفعيل بعض أوضاع الإضافات على بعض الأجهزة. سيعرض الحلّ قيمة صحيحة عندما ترسل التطبيقات طلبًا إلى مدى توفّرImageAnalysis
من خلالExtensionsManager#isImageAnalysisSupported()
. (I7d538) - تم إصلاح المشكلة المتمثلة في عدم مزامنة محتوى الصوت والفيديو المسجّل عند تفعيل وضع النسخ المطابق على هاتف Xiaomi Poco X3 NFC. (I20b4c)
الإصدار 1.3.0-rc01
23 آب (أغسطس) 2023
تم طرح androidx.camera:camera-*:1.3.0-rc01
. يحتوي الإصدار 1.3.0-rc01 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة "
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)
API الجديدة بتسجيل الفيديوهات بمعدلات عرض إطارات أخرى إلى جانب الإعدادات التلقائية على الجهاز. يمكن الاستعلام عن عدد اللقطات المتاحة في الثانية للتسجيلات من خلال واجهة برمجة تطبيقات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) - ادمج أسماء كل طرق عدد اللقطات في الثانية في استخدام القيمة "معدّل عرض الإطارات". تصحيح خطأ 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()
API لمحو التأثيرات. من المفترض أن يطلب التطبيق الاتصال بـ#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 على هذه عمليات التنفيذ.
الميزات الجديدة
ميزة جديدة لإتاحة مجموعات مواد العرض التي لم تكن متاحة في السابق من خلال مشاركة بث واحد مع حالات 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 على بعض أجهزة Android 12. (Ib7086 وb/263747161 وb/263289024)
- عند ضبط الكشاف/تكبير/تصغير قبل مجموعات تهيئة الكاميرا، على سبيل المثال يستدعي
CameraController#enableTorch
، يتم تخزين الإجراء المعلَّق مؤقتًا وإرساله بعد فرض الإعداد. (I11e92، b/264157663)
الإصدار 1.3.0-alpha02
7 كانون الأول (ديسمبر) 2022
تم طرح androidx.camera:camera-*:1.3.0-alpha02
. يحتوي الإصدار 1.3.0-alpha02 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات جديدة لتطبيق تأثير ما بعد المعالجة على إخراج المعاينة. (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)
- إصلاح مشكلة الشاشة السوداء لتنفيذ
PreviewView
SurfaceView
في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 Android 12. (b/263289024)
الإصدار 1.2.0
7 كانون الأول (ديسمبر) 2022
تم طرح androidx.camera:camera-*:1.2.0
. يحتوي الإصدار 1.2.0 على عمليات الالتزام هذه.
تغييرات مهمة منذ الإصدار 1.1.0
- مكتبة جديدة من Camera-mlkit-vision يمكنك دمج تطبيق CameraX بسهولة مع العديد من ميزات MLKit، بما في ذلك مسح الرموز الشريطية والتعرّف على الوجوه ورصد النصوص وغيرها، كما تمت إضافة
MLKitAnalyzer
كواجهات برمجة تطبيقات جديدة. - واجهة برمجة التطبيقات التجريبية الجديدة Zero-Launchter Lag API يتم تحسين مسار الالتقاط للحصول على وقت استجابة أفضل مع الحفاظ على جودة الصورة الجيدة. عند ضبط وضع الالتقاط على
CAPTURE_MODE_ZERO_SHUTTER_LAG
، من المتوقّع أن يقلّ وقت الاستجابة بين زر الالتقاط ويتم النقر عليه مقارنةً بأوضاع الالتقاط الأخرى. أما بالنسبة إلى الأجهزة التي لا تتيح استخدامZERO_SHUTTER_LAG
، فسيتم الرجوع إلىCAPTURE_MODE_MINIMIZE_LATENCY
. - إيقاف
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 من واجهة برمجة التطبيقات. تؤدي الدقة 1920x1080 إلى تمديد صور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، بما في ذلك مسح الرموز الشريطية ضوئيًا، ورصد الوجوه، ورصد النصوص، وما إلى ذلك. يمكنك العثور على نموذج الرمز هنا. - واجهة برمجة التطبيقات التجريبية الجديدة Zero-Launchter Lag. يتم تحسين مسار الالتقاط للحصول على وقت استجابة أفضل مع الحفاظ على جودة الصورة الجيدة. عند ضبط وضع الالتقاط على CAPTURE_mode_ZERO_SHUTTER_LAG، يتم النقر على زر الالتقاط ومن المتوقع تقليل وقت الاستجابة بين زر الالتقاط ومن المتوقع أن يقل وقت الاستجابة مقارنةً بأوضاع الالتقاط الأخرى. على الأجهزة التي لا تتيح استخدام ميزة ZERO_SHUTTER_LAG، سيتم الرجوع إلى CAPTURE_mode_MINIMIZE_LATENCY.
- تم إنشاء
ImageAnalysis.Analyzer
وMLKitAnalyzer
كواجهات برمجة تطبيقات رسمية. - واجهة برمجة التطبيقات المعروضة لضبط البيانات الوصفية للموقع الجغرافي في الفيديو المحفوظ
- إعادة تسمية "
ImageAnalysis.Analyzer#getTargetResolutionOverride()
" إلى "ImageAnalysis.Analyzer#getDefaultTargetResolution()
"
إصلاح الأخطاء
- تم إصلاح مشكلة التقاط صور Alps k61v1_basic_ref. تحتوي صور JPEG التي تم التقاطها من HAL على بيانات وصفية غير صحيحة بتنسيق Exif. لا تحتوي بيانات Exif الوصفية على العلامة 0xffd9 أو 0xffda ليتمكّن
ExifInterface
من تحليل السمات بشكل صحيح. كما أن التقاط الصور بتنسيق YUV ثم ضغطها إلى صور إخراج JPEG لحل هذه المشكلة. (I45abb)
الإصدار 1.2.0-alpha04
27 تموز (يوليو) 2022
تم طرح androidx.camera:camera-*:1.2.0-alpha04
. يحتوي الإصدار 1.2.0-alpha04 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- إعادة تسمية "
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" الجديدة
إصلاح الأخطاء
- يتعذّر على
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
- مكتبات العرض الأرضي والإضافات والتقاط الفيديو كأول إصدارات RC. بدءًا من الإصدار 1.1.0-beta01، ستتوافق جميع مكتبات 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
" إلى "التسجيل". لتقليل الإسهاب. - تم تغيير واجهة برمجة تطبيقات Creator API في
QualitySelector
إلى واجهة برمجة تطبيقات مستندة إلى قوائم.
إصلاح الأخطاء
- تم إصلاح مشكلة
YuvToJpegProcessor
EOFException
عند تفعيل وضع الإضافة وضبط وضعImageCapture#CAPTURE_MODE_MAX_QUALITY
. - تعذّر إعداد برنامج الترميز الثابت بسبب إغلاق تسجيل الفيديو.
- تم إصلاح نسبة العرض إلى الارتفاع/المعاينة الممتدة للفيديو عند التسجيل بدقة فائقة.
- إصلاح عدم مزامنة الصوت/الفيديو بعد الإيقاف المؤقت واستئناف التشغيل على بعض الأجهزة
- تم إصلاح مشكلة تشغيل الفلاش أثناء النقر للتركيز (
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 Android 12. (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)
مساهمة خارجية
- تم تحديث :compos: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 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- إضافة إمكانية تحديد معرّف الكاميرا الفعلي من خلال إمكانية التشغيل التفاعلي للكاميرا (I5aed8)
إصلاح الأخطاء
- تم إصلاح مشكلة المعاينة الموسّعة على Oppo Find N (I7d004)
- تم إصلاح مشكلة Galaxy J7 Prime التي أدت إلى تشويه المعاينة. (I4c500)
- استخدِم معدل نقل بيانات متوافقًا للعثور على برنامج ترميز الفيديو. (d969052)
الإصدار 1.1.0-beta01
26 يناير 2022
تم طرح androidx.camera:camera-*:1.1.0-beta01
. يحتوي الإصدار 1.1.0-beta01 على عمليات التنفيذ هذه.
الميزات الجديدة
- بدءًا من الإصدار 1.1.0-beta01، ستتوافق جميع مكتبات CameraX مع رقم الإصدار نفسه. وسيساعد ذلك المطوّرين على تتبُّع الإصدارات بطريقة أسهل بكثير وتقليل تعقيد مصفوفة التوافق مع الإصدارات الكبيرة.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة
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)
أضِف واجهة برمجة التطبيقات setOutputImageRotationEnabled لإعداد ImageAnalysis. يمكن للمستخدم تفعيل الدوران للمخزن المؤقت للصور YUV/RGB. درجة التدوير هي تدوير نسبي يتم احتسابه استنادًا إلى دوران أداة الاستشعار ودوران الاستهداف للاحتفاظ بالصورة في المقدمة.
أضِف واجهة برمجة التطبيقات setOutputImageRotationEnabled لإعداد ImageAnalysis. يمكن للمستخدم تفعيل الدوران للمخزن المؤقت للصور YUV/RGB. درجة التدوير هي تدوير نسبي يتم احتسابه استنادًا إلى دوران أداة الاستشعار ودوران الاستهداف للاحتفاظ بالصورة في المقدمة.
أضِف واجهة برمجة تطبيقات
getSensorToBufferTransformMatrix
في ImageInfo. المصفوفة التي تم إرجاعها هي تعيين من إحداثيات أداة الاستشعار إلى إحداثيات المخزن المؤقت، والتي تتراوح من القيمةCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
إلى(0, 0, image.getWidth, image.getHeight)
. يمكن استخدام المصفوفة لتعيين الإحداثيات من إحدى {UseCase} إلى أخرى. على سبيل المثال، يتم ربط إحداثيات الوجه الذي تم اكتشافه باستخدام "تحليل الصور" بوضع "المعاينة". (I9ff1e)تمت إضافة واجهة برمجة تطبيقات ImageCapture.Builder#setJpegquality للسماح بتغيير جودة ضغط صورة JPEG عند التقاط صورة. (I8dcf4)
تمت إعادة تسمية MediaStoreOutputOptions.getCollection إلى MediaStoreOutputOptions.getCollectionUri. (I16639)
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثلة في تشغيل الفلاش أثناء الضغط للتركيز (startFocusAndMetering) عندما يكون وضع الفلاش تلقائيًا أو دائمًا_تشغيل في بيئة ذات إضاءة منخفضة. (Id4c11)
- ميزة HDR+ متوقفة على هاتف Pixel 2 XL / Pixel 3 XL بوصة MINIMIZE_LATENCY لتقليل وقت الاستجابة. (Ib6270، b/203505523)
مساهمة خارجية
الإصدار 1.1.0-alpha10
13 تشرين الأول (أكتوبر) 2021
تم طرح androidx.camera:camera-*:1.1.0-alpha10
. يحتوي الإصدار 1.1.0-alpha10 على هذه عمليات التنفيذ.
الميزات الجديدة
- تم إصدار
androidx.camera:camera-video:1.1.0-alpha10
كأول إصدار أولي للفيديو بشكل رسمي. هناك العديد من المشاكل المعروفة التي يجب حلّها في الإصدارات اللاحقة.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة تعليق توضيحي واحد (
@RequiresApi(21)
) إلى جميع فئات CameraX. وإسقاط minSdkVersion من AndroidManifest.xml. سيسمح ذلك نواة الكاميرا ليتم دمجها بسهولة في التطبيقات التي minSdkVersion أقل من 21، ولكنها تريد استخدام مسارات التعليمات البرمجية بشكل مشروط التي تعتمد على واجهة برمجة التطبيقات 21 والإصدارات الأحدث بالنسبة إلى أي تطبيق يحتوي على الإصدار 21 من minSdkVersion أو الإصدارات الأعلى، لا يتطلب هذا التغيير أي إجراء. (Ie7f2e، b/200599470)
إصلاح الأخطاء
- يمكنك إرسال رسالة InitializationException ليصبح التطبيق قادرًا على التعامل بسلاسة مع رسالة AssertionError الذي يحدث عند إنشاء CameraCharacteristics. (Ibec79)
الإصدار 1.1.0-alpha09
29 أيلول (سبتمبر) 2021
تم طرح الإصدارات androidx.camera:camera-camera2:1.1.0-alpha09
وandroidx.camera:camera-core:1.1.0-alpha09
وandroidx.camera:camera-lifecycle:1.1.0-alpha09
. يحتوي الإصدار 1.1.0-alpha09 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تمت الآن إزالة التعليق التوضيحي التجريبي 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 على هذه عمليات التنفيذ.
الميزات الجديدة
- إضافة واجهة setOutputImageFormat API لإعداد تحليل الصور مستخدِم يمكنك تحديد ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 أو ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. بشكل افتراضي، سيتم اختيار ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888. (I7902d)
التغييرات في واجهة برمجة التطبيقات
- تمت الآن إزالة التعليق التوضيحي التجريبي لحزمة الاستخدام التجريبي لواجهات برمجة التطبيقات (API) لم تعُد تجريبية. (I17b85)
إصلاح الأخطاء
- شاشة المعاينة الثابتة ساطعة جدًا على هاتف Huawei P20 Lite. لا تحدث هذه المشكلة إلا عند استخدام درجات دقة معاينة خاصة معينة مع قيمة تكبير كبيرة. (Idefce, b/192129158)
- تم إصلاح مشكلة عدم عمل الفلاش على بعض الأجهزة عند ضبطه إلى FLASH_mode_ON بعد فترة وجيزة لالتقاط صور. (Ieb49b)
- تم إصلاح مشكلة توقُّف المعاينة لبعض الوقت عند التقاط الصور في حال ربط VideoCapture وImageCapture وPreview. (I56197، b/193864120)
- يسمح هذا الإذن لتحليل الصور بتحديد دقة أكبر من 1080p. يمكن للأجهزة ذات المستوى المحدود الأعلى أن تتيح دقة حجم السجلّ الخاص بأداة "تحليل الصور" عند ربطها مع "المعاينة" و"التقاط الصور". المقايضة هي درجة الدقة المحدّدة لخيار ImageCapture التي يجب أن تكون أيضًا درجة دقة حجم السجلّ. لاختيار دقة حجم السجلّ في ميزة "تحليل الصور" بنجاح، يجب ضبط دقة حجم السجلّ المستهدف على كلٍّ من ImageCapture وImageAnalysis. ويشير ذلك إلى أنّ التطبيق يفهم بوضوح المقايضة ويفضّل أن تكون درجة دقة ImageAnalysis أكبر من دقة ImageCapture. للحصول على تعريفات RECORD وأحجام الحدّ الأقصى ومزيد من التفاصيل، يُرجى الانتقال إلى https://developer.android.com/reference/android/hardware/camera2/cameraDevice#regular-capture. يشير حجم السجلّ إلى أقصى درجة دقة للتسجيل متاحة في جهاز الكاميرا، كما هو موضّح في CamcorderProfile. يشير الحد الأقصى للحجم إلى أقصى درجة دقة للإخراج لجهاز الكاميرا لهذا التنسيق أو الهدف من StreamConfigurationMap.getOutputSizes(int). (I1ee97، b/192911449)
- أضِف معلومات Exif إلى الصورة التي تم التقاطها. (I01ff0، b/193342619)
- في ImageCapture، يمكنك عرض معرّف الموارد المنتظم (URI) للصورة المحفوظة إذا كان مكان الحفظ هو "ملف". (Ib5b49، b/149241379)
- تم حل مشكلة ظهور الصور التي يتم التقاطها باستخدام الفلاش بإضاءة داكنة على العديد من الأجهزة. (I4e510)
الإصدار 1.1.0-alpha07
21 يوليو 2021
تم طرح الإصدارات androidx.camera:camera-camera2:1.1.0-alpha07
وandroidx.camera:camera-core:1.1.0-alpha07
وandroidx.camera:camera-lifecycle:1.1.0-alpha07
. يحتوي الإصدار 1.1.0-alpha07 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- تم إصلاح مشكلة هاتف Samsung Galaxy Note 5 التي تستخدمها الكاميرا. توقُّف بعد التقاط الصور مع تفعيل الفلاش/تلقائي في الظلام بيئة (If6871)
- تم إصلاح مشكلة
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)
- تمّت إضافة واجهة برمجة التطبيقات isFocusMeteringsupported في CameraInfo. يسمح للتطبيقات بالتحقق مما إذا كان محدد FocusMeteringAction الكاميرا الحالية أم لا. (Ib45ae، b/188606490)
- تم عرض واجهة برمجة التطبيقات getResolutionInfo API لتوفير معلومات درجة الدقة للمعاينة وImageCapture وImageAnalysis. (I2b613، b/188600718)
- تم ترقية واجهات برمجة التطبيقات التجريبية التالية إلى واجهات برمجة تطبيقات رسمية: CameraXConfig.Builder#set available CamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setschedulerHandler(), CameraXConfig#getavailable CamerasLimiter(), CameraXConfig#getminLoggingLevel()، CameraXConfig#getcameraExecutor(), CameraXConfig#getschedulerHandler(). (I2ade2)
- تم الكشف عن واجهة 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
). اقتراح اختيار الكاميرا حسب CameraFilter واسترداد قيمة CameraCharacteristics أو غير ذلك من الكاميرا2 من خلال Camera2cameraInfo إذا لزم الأمر. (Ib887c) ExperimentalCameraFilter
واجهات برمجة تطبيقات لمرحلة تجريبية الآن وتصبح واجهات برمجة تطبيقات رسمية. ويمكن استخدامها بدون تفعيل الخدمة التي تتضمّن تعليقات توضيحية. (I4bc94)- تمت إضافة واجهة برمجة تطبيقات خاصة بحالة الكاميرا وتكون مكشوفة من خلال
CameraInfo#getCameraState()
. (Ia86b4) - تمت إضافة واجهة برمجة التطبيقات
CameraInfo#getCameraSelector()
التجريبية التي تعرض عنصر CameraSelector فريد في الكاميرا الخاصة به (I77f9f).
إصلاح الأخطاء
- تم إصلاح المشكلة التي عرَضَتها ListenableFuture في لا يمكن إكمال setZoomRatio وsetLinearZoom على بعض أجهزة Android 11 جهازًا (I716d7)
- تسريع التبديل بين الكاميرا وتقليل معدّل حدوث الأخطاء على جهاز الكاميرا (I34c99)
- تم استبدال الحملة التجريبية التجريبيةUseCaseGroupLifecycle بـ TestalUseCaseGroup (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) - يعمل تطبيق "التقاط الصور" الثابت مع تفعيل الفلاش/Auto على التقاط صور باهتة على هاتف 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 الآن فرض فتح الكاميرا في المحاولة الأولى، وقد يؤدي ذلك إلى سرقة CameraX من الكاميرا بعيدًا عن برامج الكاميرا الأخرى عندما تكون الأولوية للتطبيق الخاص بها. (Iab069، b/175820568)
- تم إصلاح تعذُّر اختبار Robolectric عندما يتم استخدام setavailable CamerasLimiter في CameraXConfig. (Ice307)
- يحصل هذا التغيير على الاستثناء عند بلوغ الحد الأقصى لقائمة انتظار الصور في ImageAnalysis. لذا، بدلاً من تعطُّل التطبيق، قد تلاحظ بطء حالات الاستخدام الأخرى أو تجميدها. مثلاً: متجمدة/بطيء. (Ic12da، b/175851631)
- تم إصلاح إضافاتErrorListener للإبلاغ عن الأخطاء عند ربط المعاينة أو ImageCapture فقط. (I5ae39)
- تم إصلاح تراجع أداء ImageCapture عن طريق إزالة التحقق من صحة الموقع الجغرافي المحفوظ للصور قبل التقاط الصورة. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق تلقّي استجابة الخطأ وقتًا أطول لأنها ستحاول حفظ الصورة بعد التقاط الصورة. (I1fd4e، b/177061560)
- تم إصلاح تراجع أداء ميزة "التقاط الصور" من خلال الخيار "ملف" اكتب OutputFileOptions. (I5164a، b/177061560)
- تم تعديل الوثائق للتوصية بعدم استخدام
ProcessCameraProvider.configureInstance(...)
من رمز المكتبة. (Ib8a9f)
الإصدار 1.1.0-alpha01
27 كانون الثاني (يناير) 2021
تم طرح الإصدارات androidx.camera:camera-camera2:1.1.0-alpha01
وandroidx.camera:camera-core:1.1.0-alpha01
وandroidx.camera:camera-lifecycle:1.1.0-alpha01
. يحتوي الإصدار 1.1.0-alpha01 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم توفير حل بديل لبيانات الصور التالفة بشكل متقطع في ملفات JPEG على الكاميرا الخلفية SM-G930T. (I52001، b/159831206)
- تم إصلاح مشكلة
IllegalArgumentException
التي كانت تحدث عندما تكون جميع الأحجام المتوافقة مع المعاينة أصغر من 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 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- يعمل تطبيق "التقاط الصور" الثابت مع تفعيل الفلاش/Auto على التقاط صور باهتة على هاتف Samsung Galaxy S7. (I30001)
الإصدار 1.0.0-rc04
24 آذار (مارس) 2021
تم طرح الإصدارات androidx.camera:camera-camera2:1.0.0-rc04
وandroidx.camera:camera-core:1.0.0-rc04
وandroidx.camera:camera-lifecycle:1.0.0-rc04
. يحتوي الإصدار 1.0.0-rc04 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- إصلاح تعذُّر الإعداد على أجهزة UMIDIGI BISON (I57d9e، وb/180818665)
الإصدار 1.0.0-rc03
24 شباط (فبراير) 2021
تم طرح الإصدارات androidx.camera:camera-camera2:1.0.0-rc03
وandroidx.camera:camera-core:1.0.0-rc03
وandroidx.camera:camera-lifecycle:1.0.0-rc03
. يحتوي الإصدار 1.0.0-rc03 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- إصلاح خطأ التنسيق في مستند
ProcessCameraProvider#getInstance
- تم إصلاح تعذُّر اختبار Robolectric عند استخدام الخيار setAvailablecamerasLimiter في CameraXConfig.
- تم إصلاح تراجع أداء ImageCapture عن طريق إزالة التحقق من صحة الموقع الجغرافي المحفوظ للصور قبل التقاط الصورة. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق تلقّي رد بالأخطاء وقتًا أطول لأنها ستحاول حفظ الصورة بعد التقاط الصورة.
- يحصل هذا التغيير على الاستثناء عند بلوغ الحد الأقصى لقائمة انتظار الصور في ImageAnalysis. لذا، بدلاً من حدوث أعطال، قد تلاحظ تجميد حالات استخدام أخرى أو بطء الاستخدام. مثلاً: متجمدة/بطيء.
- تم توفير حل بديل لبيانات الصور التالفة بشكل متقطع في ملفات JPEG على الكاميرا الخلفية SM-G930T. (I52001، b/159831206)
- يحصل هذا التغيير على الاستثناء عند بلوغ الحد الأقصى لقائمة انتظار الصور في ImageAnalysis. لذا، بدلاً من تعطُّل التطبيق، قد تلاحظ بطء حالات الاستخدام الأخرى أو تجميدها. مثلاً: متجمدة/بطيء. (Ic12da، b/175851631)
- تم إصلاح تعذُّر اختبار Robolectric عندما يتم استخدام setavailable CamerasLimiter في CameraXConfig. (Ice307)
- تم إصلاح تراجع أداء ImageCapture عن طريق إزالة التحقق من صحة الموقع الجغرافي المحفوظ للصور قبل التقاط الصورة. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق تلقّي استجابة الخطأ وقتًا أطول لأنها ستحاول حفظ الصورة بعد التقاط الصورة. (I1fd4e، b/177061560)
- تم إصلاح تراجع أداء ميزة "التقاط الصور" من خلال الخيار "ملف" اكتب OutputFileOptions. (I5164a، b/177061560)
الإصدار 1.0.0-rc02
27 كانون الثاني (يناير) 2021
تم طرح الإصدارات androidx.camera:camera-camera2:1.0.0-rc02
وandroidx.camera:camera-core:1.0.0-rc02
وandroidx.camera:camera-lifecycle:1.0.0-rc02
. يحتوي الإصدار 1.0.0-rc02 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة COPYRIGHTArgumentException، عندما تكون جميع الأحجام المتوافقة للمعاينة أقل من 640×480 وحجم العرض أكبر من 640×480. (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)
- تمت إضافة الفئة التجريبية Camera2cameraControl للسماح بالتفاعل مع واجهات برمجة تطبيقات Camera2. ديناميكيًا. (I45cf3)
- تمت إعادة تسمية Camera2cameraInfo#fromcameraInfo إلى #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)
كاميرا Camera2 ومكوناتها الأساسية الإصدار 1.0.0-beta12 من دورة الحياة
11 تشرين الثاني (نوفمبر) 2020
تم طرح الإصدارات androidx.camera:camera-camera2:1.0.0-beta12
وandroidx.camera:camera-core:1.0.0-beta12
وandroidx.camera:camera-lifecycle:1.0.0-beta12
. يحتوي الإصدار 1.0.0-beta12 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم إيقاف الفلاش التلقائي على أجهزة Samsung A3 لإصلاح العطل عند التقاط صورة باستخدام وضع الفلاش التلقائي باستخدام وضع AE على أجهزة Samsung A3. (Ia5fe3، b/157535165)
- تم إصلاح مشكلة توسيع المعاينة على أجهزة Nexus 4 التي تعمل بنظام التشغيل Android L (مستويان واجهة برمجة التطبيقات 21 و22). (I4d407، b/158749159)
- فئة أساسية واحدة (
OnImageCapturedCallback#onCaptureSuccess
) يؤدي تنفيذ هذا الإجراء إلى إغلاق الصورة. هذا لمنع سلوك غير متوقع للمطورين. لا ينبغي على المطورين الاعتماد على Super.onCaptureSuccess لإغلاق الصورة. (Ifbf9c) - تم تحديد الصيغة androidx للتعليق التوضيحي التجريبي نهائيًا لتوفير التكافؤ مع Kotlin. تم استبداله بـ التعليق التوضيحي يتطلب OptIn، وتم تحديث linter المواجه لـ Java إلى لكل من تعليق Kotlin التوضيحي الجديد وصيغة androidx الجديدة. (I52495، b/151331381)
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta11
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-beta11 من الكاميرا الأساسية
14 تشرين الأول (أكتوبر) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta11
. يحتوي الإصدار 1.0.0-beta11 على عمليات التنفيذ هذه.
الميزات الجديدة
- يتوافق مع android 11 CONTROL_ZOOM_RATIO
API لتفعيل ميزة التكبير/التصغير
أجهزة 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-beta10 من حزمة الكاميرا الأساسية
23 أيلول (سبتمبر) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta10
. يحتوي الإصدار 1.0.0-beta10 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- إصلاح الخطأ في التحقّق من صحة وجهة حفظ الملف لالتقاط الصور (I8c565، b/167697553)
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta10
23 أيلول (سبتمبر) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta10
. يحتوي الإصدار 1.0.0-beta10 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- الإصدار المتوافق مع Camera-Core 1.0.0-beta10
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta09
16 أيلول (سبتمبر) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta09
. يحتوي الإصدار 1.0.0-beta09 على هذه الالتزامات.
التغييرات في واجهة برمجة التطبيقات
- وبدلاً من توفير طرق ثابتة، تستخدم Camera2 CameraInfo في في مثيل CameraInfo عند إنشائها لاسترداد معلومات Camera2 معلومات الموقع. (I5b844)
إصلاح الأخطاء
- تم إصلاح مشكلة نسبة العرض إلى الارتفاع المستهدفة على الأجهزة اللوحية. يجب اختيار حجم بنسبة 16:9 عند ضبط نسبة العرض إلى الارتفاع المستهدفة على
AspectRatio.RATIO_16_9
. (Ib7fcf، b/151969438) - اختَر رمز
InitializationException
ليتمكّن التطبيق من التعامل بأمان مع خطأ AssertionError الذي حدث عند إنشاء CameraCharacteristics. (I89c8c، b/160524721) - إضافة واجهات تجريبية لمكوّنات Floodlight (If96c7)
الإصدار الأساسي للكاميرا 1.0.0-beta09
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) - تم فرض استخدام PreviewView لاستخدام TextureView في حال تفعيل تأثير الإضافة وكان تنفيذ مكتبة المورِّدين بحاجة إلى إجراء عملية خاصة على سطح الإخراج. (I0c3cc)
- تم إصلاح تسرُّب النشاط أو الجزء عند تمرير سياق نشاط/جزء إلى
ProcessCameraProvider.getInstance(Context)
.
المشاكل المعروفة
- عند ضبط ViewPort، قد يكون جزء الاقتصاص في ImageCapture غير صحيح على الأجهزة التي تعمل على تدوير المخزن المؤقت للصور في HAL. سيتم إصلاح ذلك في الإصدار التالي.
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta08
19 آب (أغسطس) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta08
. يحتوي الإصدار 1.0.0-beta08 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم تحسين bindToLifecycle لتشغيل سلسلة المحادثات الرئيسية بسرعة. (I1d57e)
- لقطة شاشة من كاميرا DisplayOrientedMeteringPoint يمكنها التقاط صور لـ CameraInfo مثيلاً بدلاً من أداة اختيار الكاميرا بحيث يكون هناك تعيين مباشر الكاميرا التي سينشئ المصنع نقاطًا لها. كل الصفوف التي تستخدم DisplayOrientedMeteringPoint يمكنها أيضًا التقاط صورة لـ CameraInfo بدلاً من CameraSelector. (I400c1)
- تم إصلاح مشكلة تجميع حجم نسبة العرض إلى الارتفاع لدرجة الدقة التلقائية، والتي يتم فيها اختيار حجم 16:9 mod16 (864 × 480) عندما يكون إعداد درجة الدقة المستهدَف هو 2016x1080 وتوفُّر حجم آخر بنسبة 1920x1080 16:9. (I53167، b/159363774)
- حل مشكلة CameraControl في حال تعذُّر تشغيل الكاميرا بسبب حالة سباق (I2279f وb/152333890 وb/160714166)
الإصدار الأساسي للكاميرا 1.0.0-beta08
19 آب (أغسطس) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta08
. يحتوي الإصدار 1.0.0-beta08 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- ضربة "
DisplayOrientedMeteringPointFactory
" لـ "CameraInfo
" بدلاً منCameraSelector
لذا يكون هناك تعيين مباشر إلى الكاميرا التي سينشئ المصنع نقاطًا لها. كل الصفوف التي تستخدمDisplayOrientedMeteringPointFactory
تأخذ أيضًاCameraInfo
مثيل بدلاً منCameraSelector
. (I400c1)
إصلاح الأخطاء
- لالتقاط الصور، يجب استبدال علامة الانعكاس الأفقي في البيانات الوصفية بناءً على اتجاه الكاميرا. (I28499)
- من المفترض ألا تتعطّل عملية الإعداد عند استخدام سياق
لا يُرجع كائن تطبيق من
Context.getApplicationContext()
(I3d3c9، b/160817073)
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta07
22 تموز (يوليو) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta07
. يحتوي الإصدار 1.0.0-beta07 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة توسيع المعاينة على جهاز Android 5.0 القديم. (I0c03a)
- تم استبعاد بعض أحجام JPEG المتوافقة التي ستتسبب في حدوث مشكلة WYSIWYG على بعض الأجهزة. (Ib5128)
الإصدار 1.0.0-beta07 من الكاميرا الأساسية
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-beta06
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-beta05
10 حزيران (يونيو) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta05
. يحتوي الإصدار 1.0.0-beta05 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- إصلاح العُطل عند بدء تشغيل التطبيق عند إعداد CameraX عندما يكون الهاتف في وضع "عدم الإزعاج" سيتم ضبط
InitializationException
يحتوي علىCameraUnavailableException
علىListenableFuture
في نتيجة البدء بدلاً من تعطُّل التطبيق. (I9909a، b/149413835)
إصلاح الأخطاء
- تم تعديل مستندات جافا لـ
setTargetResolution
وsetTargetRotation
. (Iae16f)
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta04
27 أيار (مايو) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta04
. يحتوي الإصدار 1.0.0-beta04 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم السماح للتطبيقات بضبط أي مَعلمات لطلب الالتقاط بالكاميرا 2 من خلال
Camera2Interop
بدون التسبب في تعطُّل. يُرجى العلم أنّه إذا كانت هناك مشاكل تنشأ عن إلغاء المَعلمات. لا يمكن ضمان الاستقرار والسلوك عند إلغاء المعلمات باستخدام Camera2Interop. (Ibe5a1، b/149103700) - يتم إصلاح الإعداد التلقائي عند استخدام تطبيق على جهاز يستخدم لغة زائفة. (I3bef3، b/154767663)
- تم تحويل سجلّ الأخطاء المرتبط بحالة الاستخدام المنفصلة إلى سجلّ تصحيح أخطاء في Camera2 CameraImpl. (I1a565، b/154422490)
- تم حل مشكلة كون الصورة التي يتم التقاطها معتمة للغاية في بعض الأحيان على الرغم من تشغيل الفلاش. (I5d9fa، b/149729613)
- إصلاح الخطأ الذي لم يتم فيه إرجاع المخزن المؤقت في
ImageProxy
منImageCapture
(I0c455، b/153249512) - تم إصلاح المشاكل المتمثلة في ربط ImageCapture فقط: (1) تعذّر التقاط الصور باستخدام MAX_QUALITY؛ (2) جودة الصورة سيئة المُنشأة بسبب توقّف التعرض التلقائي للضوء. (I17782، b/145326998)
- تحسين موثوقية إعادة فتح الكاميرا عند فصل CameraX عن طريق عملية أخرى أو مسار رمز يسرق الكاميرا (I1fbc3، b/153714651)
الإصدار الأساسي للكاميرا 1.0.0-beta04
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
حيث أدت طلبات البيانات المتعددة إلى setAnalyzer/clearAnalyzer إلى عدم تلقّي المحلل للصور لتحليلها. (I6169f وb/151605317 وb/153514544) - إصلاح الخطأ الذي كان يحدث فيه عدم إعادة إرجاع المخزن المؤقت في
ImageProxy
منImageCapture
(I0c455، b/153249512) - تم إصلاح المشكلة المتمثلة في عدم اختيار الكاميرا الأولى في القائمة المتوافقة من
CameraManager
دائمًا لاستخدامها. (I4c624، b/153418028) - تم إصلاح التعطُّل المتقطِّع الناتج عن عدم رفع
Preview.SurfaceProvider
عن السطح المطلوب سابقًا.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”
(I8e4e7، b/155936225)
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta03
نيسان (أبريل) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta03
. يحتوي الإصدار 1.0.0-beta03 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- إصلاحات لإتاحة إصدار
camera-core
الإصدار 1.0.0-beta03 من الكاميرا الأساسية
نيسان (أبريل) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta03
. يحتوي الإصدار 1.0.0-beta03 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم إصلاح الانحدار من الإصدار التجريبي 03 حيث سيؤدي استدعاء
bindToLifecycle()
بصفرUseCase
إلى حدوث استثناء. أدى هذا إلى منع استرجاعCamera
بدون ربطUseCase
.
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta02
1 نيسان (أبريل) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta02
. يحتوي الإصدار 1.0.0-beta02 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم إصلاح
ImageInfo.getRotationDegrees()
منImageProxy
الناتج عنImageCapture
لكي يتطابق مع قيمة تدوير اتجاه EXIF. (Id4281، b/150802561) - لم تعُد هناك حاجة إلى الترتيب الصريح لتبعيات CameraX في
build.gradle
لاستخدام تطبيق CameraX/camera2 التلقائي. بالنسبة إلى الحالات التي يجب فيها تقديم بيان عن التبعيات الصارمة، يمكن الآن تضمين جميع تبعيات CameraX في ملف الإصدار. (I46e88) - تم إصلاح مشكلة
IllegalArgumentException
التي تحدث على الأجهزة التي يكون حجم العرض فيها أقل من 640×480. (Ife3f2 وb/150506192) - تم إصلاح
bindToLifecycle
بحيث يعدِّل حالة UseCase فقط في حال تم ربطها بنجاح. في السابق، عند استدعاء الدالةbindToLifecycle
لإجراء عمليات حسابية للدقة، يتم تعديل حالة UseCase. لم تعُد هناك حاجة الآن إلى تعديل حالة UseCase لإجراء العمليات الحسابية (I78d9e).
الإصدار الأساسي للكاميرا 1.0.0-beta02
1 نيسان (أبريل) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta02
. يحتوي الإصدار 1.0.0-beta02 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم إصلاح
ImageInfo.getRotationDegrees()
منImageProxy
الناتج عنImageCapture
لكي يتطابق مع قيمة تدوير اتجاه EXIF. (Id4281، b/150802561) - تم إصلاح
bindToLifecycle
بحيث يعدِّل حالة UseCase فقط في حال تم ربطها بنجاح. في السابق، عند استدعاء الدالةbindToLifecycle
لإجراء عمليات حسابية للدقة، يتم تعديل حالة UseCase. لم تعُد هناك حاجة الآن إلى تعديل حالة UseCase لإجراء العمليات الحسابية (I78d9e). - تم إصلاح مشكلة عدم تعديل جلسة تسجيل حالة استخدام
Preview
عند تغيّر مساحة عرض المعاينة بعد طلب الرقمPreview.setSurfaceProvider()
أكثر من مرة.
الكاميرا-الكاميرا2 الإصدار 1.0.0-beta01
26 شباط (فبراير) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta01
. يحتوي الإصدار 1.0.0-beta01 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تمت إعادة التسمية
SurfaceRequest.setSurface(Surface)
إلىSurfaceRequest.provideSurface(Surface)
و منSurfaceRequest.setWillNotComplete()
إلىSurfaceRequest.willNotProvideSurface()
(I224fe) - تم إصلاح مشكلة عدم صحة نسبة العرض إلى الارتفاع للصورة المحفوظة
بعد تغيير قيمة تدوير الهدف باستخدام
ImageCapture.setTargetRotation()
. (I474ea، b/148763432) - تم إصلاح إعداد خيارات التطبيق مع تفعيل ProGuard من خلال الحفاظ على
تحدد موفر
CameraXConfig
التلقائي. (I2d6c1)
الإصدار الأساسي للكاميرا 1.0.0-beta01
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)
Camera-camera2 الإصدار 1.0.0-alpha10
10 شباط (فبراير) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-alpha10
. يحتوي الإصدار 1.0.0-alpha10 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم تحسين الثبات على أجهزة
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
من خلال التأكّد من الاحتفاظ بـSurface
أثناء استخدام تطبيق Camera2 فقط. (I9dac2) - تم إصلاح مشكلة معاينة الصورة غير الواضحة على الإطلاق على أجهزة LEGACY من خلال ضبط
CONTROL_AE_TARGET_FPS_RANGE
بشكلٍ صحيح. (1224638)
الكاميرا الأساسية الإصدار 1.0.0-alpha10
10 شباط (فبراير) 2020
تم طرح androidx.camera:camera-core:1.0.0-alpha10
. يحتوي الإصدار 1.0.0-alpha10 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تم تعديل سياسة
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)
Camera-camera2 الإصدار 1.0.0-alpha09
22 كانون الثاني (يناير) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-alpha09
. يحتوي الإصدار 1.0.0-alpha09 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
إضافة مسار إمكانية التشغيل التفاعلي للكاميرا لاستخراج رقم تعريف كاميرا 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
يمر في الشاشة الحالية. - تحسينات على Javadoc في واجهات برمجة التطبيقات للتركيز والقياس على واجهات برمجة التطبيقات
MeteringMode
و 3A العلامات واستخدام مَعلمةDisplay
- تم توسيع المستندات المرجعية للسمتَين
setZoomRatio
وsetLinearZoom
.
إصلاح الأخطاء
- تم إصلاح المشاكل عند إغلاق الكاميرات ثم فتحها نتيجة "الشرط المُسبَق". إخفاق عملية التحقق.
- تم إصلاح
ConcurrentModificationException
الذي يمكن أن يحدث عند استخدام الكشاف. وZoom. - تم إصلاح المشكلة لتحديد حلول الآن أقرب إلى الحل المطلوب عند يتوفّر حجم 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()
.
التغييرات في واجهة برمجة التطبيقات
- تم إخفاء دوال IntDef ونقل ثوابت 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
" في عملية إعداد وضبط التنفيذ المستند إلى كاميرا 2 للكاميرا X. يمكنك الاطّلاع على مزيد من التفاصيل حول كيفية استخدام هذا الإعداد في قسم الكاميرا الأساسية في ملاحظات الإصدار. - تم الآن وضع علامة على إمكانية التشغيل التفاعلي للكاميرا كميزة تجريبية وتم نقلها إلى حزمة منفصلة،
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()
ودائمًا ما تكون "false"، عن السلوك المقصود والموثق. - مشكلة معروفة: جارٍ تطوير مصنع نقطة قياس للاستخدام مع أحداث اللمس في
PreviewView
. في الوقت الحالي، يمكن للتطبيقات التي تربط مساحات عرض مُدارة مخصّصة استخدام مصانع نقاط قياس حصة القراءة المجانية، وإلّا لا تتوفّر أي وظيفة للتركيز على اللمس لدى "PreviewView
".
الكاميرا-الكاميرا2 والكاميرا الأساسية الإصدار 1.0.0-alpha06
9 تشرين الأول (أكتوبر) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha06
وandroidx.camera:camera-core:1.0.0-alpha06
. هذه هي الاجتماعات المدرَجة في "camera-camera2:1.0.0-alpha06
"، وهي الملزَمات المدرَجة في camera-core:1.0.0-alpha06
.
الميزات الجديدة
تغييرات إعداد نِسب العرض إلى الارتفاع:
- تمت إضافة
setTargetAspectRatioMode()
ويقبل وسيطة تعداد. يؤدي ذلك إلى ضبط وضع نسبة العرض إلى الارتفاع باستخدام الخيارَينRATIO_4_3
أوRATIO_16_9
بدلاً من نسبة العرض إلى الارتفاع العشوائية. ويعكس هذا بدقة أكبر حقيقة أن الكاميرا هي التي توفر نِسب عرض إلى ارتفاع معيّنة فقط، بدلاً من أي نسبة عشوائية.- والنسبة المتاحة حاليًا هي 16:9 و4:3 فقط. وفي حال استخدام الكاميرا لجهاز واحد:1، لا تتوفّر هذه الميزة إلا على أجهزة معيّنة، وبعد ذلك بدرجات دقة محدودة فقط. يجب أن تستخدم التطبيقات التي تصمم واجهة أو معالجة بنسبة عرض إلى ارتفاع 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 مع وضع علامة في مربّع الاختيار "فلاش متوفّر" و"واجهات برمجة تطبيقات دوران أداة الاستشعار".
تمت إضافة
CameraInfo
وطريقةgetCameraInfo
، تسمح للتطبيقات بالتحقّق من توفُّر عدسة الكاميرا المواجهة للعدسة ومن توفُّر فلاش على تلك الكاميرا. مثلاً:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }
تمت إضافة
CameraInfo.getSensorRotationDegrees()
. وهي توفّر اتجاه أداة استشعار الكاميرا بالنسبة إلى الاتجاه الطبيعي للجهاز أو للملاءمة مع الاتجاه الموضح من خلال دوران السطح (الذي يصف الاتجاه بالنسبة إلى الاتجاه الطبيعي).
تغييرات واجهة برمجة التطبيقات وإصلاح الأخطاء
- نسب العرض إلى الارتفاع: لكل حالة استخدام، يجب أن تطلب التطبيقات واحدًا فقط من
setTargetResolution()
أوsetTargetAspectRatio()
. يؤدي استدعاء كلتيهما في أداة الإنشاء نفسها إلى عرض خطأ.- بشكل عام، يُنصَح باستخدام
setTargetAspectRatio()
استنادًا إلى تصميم واجهة المستخدم الخاصة بالتطبيق. تستند القرارات المحددة إلى حالة الاستخدام. على سبيل المثال، تكون المعاينة قريبة من درجات دقة الشاشة وتوفر التقاط الصور صورًا ثابتة عالية الدقة. يمكنك الاطّلاع على جدول درجات الدقة التلقائية للحصول على مزيد من المعلومات. - يمكنك استخدام
setTargetResolution()
في حالات أكثر تحديدًا، مثلاً عندما يكون الحد الأدنى (لحفظ العمليات الحسابية) أو الحد الأقصى لدرجات الدقة (لتفاصيل المعالجة) مطلوبًا.
- بشكل عام، يُنصَح باستخدام
- واجهة برمجة التطبيقات التنفيذية: تمت إزالة الطلب
setCallbackHandler()
من واجهات برمجة التطبيقات لإعداد حالة الاستخدام. وبدلاً من ذلك، يمكن للتطبيقات ضبط المنفذ كمَعلمة في واجهات برمجة تطبيقات أخرى مختلفة تضبط استدعاء. - تم تعديل التعليقات التوضيحية الفارغة لدوال مختلفة.
- تم إصلاح مشكلة تسببت في رمي "
java.lang.IllegalStateException at Camera$StateCallback.onError
" عند فتح الكاميرا. - تم إصلاح مشكلة اختيار درجات الدقة التي كانت صغيرة جدًا (أقل من 640 × 480) عندما يطلب التطبيق درجات دقة أكبر أو تلقائية تؤدي إلى ظهور صورة معاينة غير كاملة أو معتمة. يمكن للتطبيقات التي تحتاج إلى درجة دقة أصغر تحديدًا أن تطلبها بشكل صريح.
- تم إصلاح مشكلة ظهور الشاشة السوداء في الكاميرا (تعذُّر تشغيل الكاميرا) بعد العودة من هدف شغّل تطبيق كاميرا آخر.
- تم إصلاح خطأ أدى إلى ظهور الخطأ التالي عند تشغيل التطبيقات أو إيقافها بشكل متكرر؛
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-alpha05
5 أيلول (سبتمبر) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha05
وandroidx.camera:camera-core:1.0.0-alpha05
. في ما يلي الالتزامات المضمَّنة في الكاميرا-camera2:1.0.0-alpha05، وهذه هي الالتزامات التي تتضمّنها الكاميرا الأساسية: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.
تم إصلاح خطأ التعطّل عند التدوير أثناء تحليل الصورة.
تم إصلاح الخطأ الذي يظهر فيه المعاينة باللون الأسود عند البدء (بدون بيانات الكاميرا)، بعد التدوير أو التبديل بين الكاميرا الأمامية والخلفية.
تمت إزالة اختبار حالات استخدام متعددة لتحليل الصور في الوقت نفسه. لضمان التوافق، يجب أن تُرفِق التطبيقات حالة استخدام لتحليل صورة واحدة فقط.
تمت إضافة اختبارات دقة الرقابة الأولية للكاميرا المزيفة في حزمة اختبار الكاميرا (WIP).
تمّت إزالة اختبار تطبيق Camera2Intalizer، لأنّ تغطيته كانت غير واضحة/مضلِّلة.
الكاميرا-الكاميرا2 والكاميرا الأساسية الإصدار 1.0.0-alpha04
7 آب (أغسطس) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha04
وandroidx.camera:camera-core:1.0.0-alpha04
. يحتوي الإصدار 1.0.0-alpha04 على عمليات التنفيذ هذه.
الميزات الجديدة
التغييرات في نسبة العرض إلى الارتفاع واختيار درجة الدقة
يتمثل هدف CameraX في تهيئة جلسة كاميرا بنجاح. ويعني هذا أنّ CameraX تخترق نِسب الدقة/العرض بناءً على إمكانات الجهاز، وذلك لبدء جلسة تسجيل كهدفها الأول، وبالتالي قد لا يتم قبول الطلبات الدقيقة. وقد يرجع ذلك إلى أحد الأسباب التالية:
- الأجهزة التي لا تتوافق مع درجة الدقة المطلوبة
- مشاكل التوافق، مثل مشاكل التوافق، مثل الأجهزة القديمة (LEGACY)، حيث يجب استخدام درجات دقة معيّنة لتعمل بشكل صحيح.
- في بعض الأجهزة، لا تتوفّر تنسيقات معيّنة إلا بنِسب عرض إلى ارتفاع محدَّدة.
- الخيار المفضّل لترميز JPEG أو الفيديو الأقرب الاطّلاع على
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
على الرغم من أن CameraX ينشئ الجلسة ويديرها، يجب عليك دائمًا التحقق أحجام الصور المعروضة في مخرجات حالة الاستخدام في التعليمات البرمجية وضبط وفقًا لذلك.
تم إجراء بعض التغييرات لضبط درجات الدقة ونِسب العرض إلى الارتفاع بهدف توضيح واجهة برمجة التطبيقات بشكل أكبر، منها:
- تُعتبر الآن معاينة حالة الاستخدام لها نسبة عرض إلى ارتفاع تلقائية تبلغ 4:3 في حال عدم ضبط أيّ من الخيارات.
- عندما يراعي تطبيق CameraX داخليًا التغييرات التي تطرأ على درجات الدقة ونِسب العرض إلى الارتفاع المطلوبة استنادًا إلى قدرة الجهاز، يحاول أولاً الحفاظ على نسبة العرض إلى الارتفاع نفسها (على النحو الذي يحدّده أي من طلبات
setTargetAspectRatio
أوsetTargetResolution
). - يُعدّ الإصدار "أقرب mod16" من درجة الدقة نسبة العرض إلى الارتفاع نفسها.
وضع عدم الحظر لتحليل الصور
- لا يؤدي سلوك "
ImageReaderMode.ACQUIRE_LATEST_IMAGE
" إلى الحظر الآن. يلتقط هذا الوضع أحدث صورة في قائمة الانتظار، لكنه يتجاهل الصور غير المستخدمة باستمرار للسماح لمسار الكاميرا بتجنب الحظر. - يمكن للمحلل الاحتفاظ بصورة واحدة إلى أجل غير مسمى دون توقف المسار.
- إذا كان التطبيق يوفر برنامج تنفيذ يحظره بعد ذلك، يتم استخدام حالات استخدام ImageAnalysis.
- يعمل منفذ التنفيذ التلقائي الذي تم ضبطه داخليًا كجهة تنفيذ لا تحظر المحتوى.
إصلاح الأخطاء
- تم إصلاح مشكلات المهلة التي تنتظر تقارب 3 أمبير عند التقاط الصور على أجهزة بدون تركيز تلقائي والتعريض التلقائي وموازنة اللون الأبيض التلقائي
- تم حل مشكلة التقاط الصور بسرعة باستخدام ImageCapture. إصلاحات الخطأ:
java.lang.IllegalStateException: maxImages (2) has already been acquired
- تم إصلاح المشكلة التي حدثت عند عدم استدعاء "
setLensFacing
" لحالة استخدام، ما أدى إلى حدوثjava.lang.IllegalArgumentException: Unable to get camera ID for use case
. - تم حل مشكلة اشتراط أن يكون الجهاز القديم يتطلب نسبة عرض إلى ارتفاع محدَّدة كحد أقصى لدقة JPEG
- تم إصلاح المشكلة التي حدثت عند تشغيل التطبيق في الخلفية أثناء فتح الكاميرا
- تم حل المشكلة على واجهة برمجة التطبيقات < 25، جارٍ إزالة الخطأ
checkAndUpdateEglState: invalid current EGLDisplay
- تم إصلاح المشكلة عند إلغاء ربط المعاينة بعد تفعيل الإضافات وتشغيلها.
- إنشاء عناصر لعرض الكاميرا وإضافات الكاميرا يتم نشرها الآن كإصدارات ألفا
الكاميرا-الكاميرا2 والكاميرا الأساسية الإصدار 1.0.0-alpha03
2 تموز (يوليو) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha03
وandroidx.camera:camera-camera2:1.0.0-alpha03
. يحتوي الإصدار 1.0.0-alpha03 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة توضيح javadoc لـ "target" في طلبات إعداد setTarget
مكوّن الكاميرا الأساسي
- تم إصلاح تعطُّل سطح الإدخال/الإخراج الذي لم يتم ضبطه عند الفتح/الإغلاق/الربط/إلغاء الربط بسرعة.
- الانتقال إلى عمليات تنفيذ العقود الآجلة الجديدة
- اختبار الإصلاحات لإجراء اختبار أكثر فعالية
- يعرض اختبار الدمج الأساسي الآن وقت التقاط الصور.
- تم تطوير فئة متوافقة داخلية للقائمين بالتنفيذ.
- وقت اختبار تطبيق التقاط الصور، ينتظر الصور حتى تكتمل العملية. ثبات محسَّن
الإضافات
- إضافة عمليات التحقّق من تحديد النُسخ
- التغطية التجريبية الإضافية - استدعاءات أحداث الإضافات
- تحسينات للصور والبيانات الوصفية ذات الصلة داخليًا
- إصلاحات في تبديل الوضع في التطبيق التجريبي
الكاميرا-الكاميرا2 والكاميرا الأساسية الإصدار 1.0.0-alpha02
5 حزيران (يونيو) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha02
وandroidx.camera:camera-camera2:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة "التقسيم إلى صفر" عند استخدام المحاكي
- تم إصلاح الخطأ NullPointerException/Surface Desped Deelesed (التخلي عن بعض الأجهزة) عند التقاط الصور بسرعة أثناء إلغاء الربط وإعادة ربط حالات الاستخدام بسرعة.
- تم إصلاح مشكلة داخلية لضمان ظهور تعديلات طلب الالتقاط على كل مساحات العرض بشكل متّسق.
- تم إدخال تحسينات على مستوى الثبات عند إعادة تشغيل حالات الاستخدام في الإصدارات الجديدة من التطبيقات.
- تغييرات البنية الداخلية للاستعداد لدعم الجهات التنفيذية في واجهة برمجة التطبيقات
- توضيحات إضافية Javadoc حول فئة CameraX وإدارة مراحل النشاط
- تمت إضافة اختبار قياس حالة لتطبيق اختبار أداء Antelope
- إزالة الحاجة إلى توقيع " -keeps Signature" ضمن إعدادات Proguard في التطبيق
الكاميرا-الكاميرا2 والكاميرا الأساسية 1.0.0-alpha01
7 أيار (مايو) 2019
androidx.camera:camera-core:1.0.0-alpha01
و
تم طرح androidx.camera:camera-camera2:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على عمليات التنفيذ هذه.
الإصدار 1.0.0-beta11 من دورة حياة الكاميرا
14 تشرين الأول (أكتوبر) 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta11
. يحتوي الإصدار 1.0.0-beta11 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- سيتم عرض
<UseCase>.getTargetRotation()
بقيمةSurface.ROTATION_0
. إذا تم استدعاؤه قبل توصيله بمثيل الكاميرا ما لم تم تعيين targetRotation على Builder أو UseCase. (I80fcd)
الإصدار 1.0.0-beta10 من دورة حياة الكاميرا
23 أيلول (سبتمبر) 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta10
. يحتوي الإصدار 1.0.0-beta10 على عمليات التنفيذ هذه.
إصلاح الأخطاء
- الإصدار المتوافق مع الكاميرا Core 1.0.0-beta10
الإصدار 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 CameraProvider#ConfigurationInstance() قبل الاستدعاء ProcessCameraProvider#getInstance(). يسمح هذا بتخصيص CameraXConfig بدون الحاجة إلى تنفيذ CameraXConfig.Provider في فئة التطبيق. (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-beta01 من دورة حياة الكاميرا
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
التوضيحي إلى طرق BindToLifecycle وإلغاء الربط وإلغاء الربط. (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.
- راجِع الملاحظات في قسم camera-core لمعرفة كيفية إعداد CameraX باستخدام
ProcessCameraProvider
.
إضافات الكاميرا والإصدار 1.0.0 من عرض الكاميرا
الإصدار 1.0.0-alpha32
15 كانون الأول (ديسمبر) 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha32
وandroidx.camera:camera-view:1.0.0-alpha32
. يحتوي الإصدار 1.0.0-alpha32 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تمت إزالة تعليقات
@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 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تمت إضافة التعليق التوضيحي @requiredsApi(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) - تم تحديث فئة RotationReceiver: تم تغيير 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 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تمت الآن إزالة التعليق التوضيحي التجريبي لحزمة الاستخدام التجريبي لواجهات برمجة التطبيقات (API) لم تعُد تجريبية. (I17b85)
- تمت إعادة ضبط RotationListener وإعادة تسميتها إلى RotationProvider. وستستمر في تقديم الميزة نفسها مع واجهة برمجة تطبيقات مختلفة قليلاً. (Idffc5)
- أعد تسمية TAP_TO_FOCUS_UNSuccessFUL إلى TAP_TO_FOCUS_NOT_FOCused وTAP_TO_FOCUS_SuccessFUL إلى TAP_TO_FOCUS_FOCused. تم الحصول على قيمة OutputSize النهائية (I099fa)
إصلاح الأخطاء
- تمت إزالة فئات
<EffectName><UseCase>Extender
المتوقّفة نهائيًا وextensionErrorListener وواجهات برمجة تطبيقات extensionsManager ذات الصلة. (I3b8c3)
الإصدار 1.0.0-alpha27
21 يوليو 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha27
وandroidx.camera:camera-view:1.0.0-alpha27
. يحتوي الإصدار 1.0.0-alpha27 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- تم الترويج لواجهات برمجة التطبيقات الخاصة بإطار العرض خارج مرحلة التجربة. إزالة التعليق التوضيحي التجريبي لواجهة برمجة التطبيقات. (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)
- تضيف فئة جهاز استقبال الدوران تتلقى تغيرات دوران السطح. ويمكن استخدام ذلك لضبط تدوير الهدف عندما يكون الجهاز في الوضع العمودي/الأفقي الثابت. (Ib278f)
- تم عرض واجهات برمجة تطبيقات getEstimateCaptureLatencyRange العامة الجديدة، في فئة extensionsManager. (I6a8ec)
- تم إيقاف الإضافاتErrorListener. يتم حاليًا استخدام هذه الواجهة فقط لمراقبة ما إذا كانت المعاينة أو ImageCapture غير متوفّرة عند تفعيل أوضاع الإضافات. ستضيف تلقائيًا أداة "معاينة" أو "التقاط صور" إضافية لكي تعمل وظائف الإضافة بشكل جيد. وبعد ذلك، لن يتمّ الإبلاغ عن أيّ خطأ من خلال هذه الواجهة. (I47d9e)
- تم الكشف عن واجهات برمجة تطبيقات الإضافات الجديدة 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 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- واجهات برمجة التطبيقات التجريبية لفلتر الكاميرا غير مكتملة الآن وتصبح واجهات برمجة تطبيقات رسمية. ويمكن استخدامها بدون تفعيل الخدمة التي تتضمّن تعليقات توضيحية. (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) - تم إصلاح مشكلة المعاينة الموسّعة على 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. إنّ الاعتماد على طريقة عرض الكاميرا لن يؤثّر في اعتمادية غراد. لترقية نواة الكاميرا وكاميرا الكاميرا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 على عمليات التنفيذ هذه.
التغييرات في واجهة برمجة التطبيقات
- إضافة أداة إرجاع CameraInfo إلى CameraController. (Ib8138، b/178251727)
إصلاح الأخطاء
- تم إصلاح إضافاتErrorListener للإبلاغ عن الأخطاء عند ربط المعاينة أو ImageCapture فقط. (I5ae39)
إضافات الكاميرا عرض الإصدار 1.0.0-alpha21
27 كانون الثاني (يناير) 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha21
وandroidx.camera:camera-view:1.0.0-alpha21
. يحتوي الإصدار 1.0.0-alpha21 على هذه عمليات التنفيذ.
يتم إطلاقهما لإتاحة عناصر مكتبة الكاميرا الأخرى.
إضافات الكاميرا عرض الإصدار 1.0.0-alpha20
16 كانون الأول (ديسمبر) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha20
وandroidx.camera:camera-view:1.0.0-alpha20
. يحتوي الإصدار 1.0.0-alpha20 على هذه عمليات التنفيذ.
يتم إطلاقهما لإتاحة عناصر مكتبة الكاميرا الأخرى.
إضافات الكاميرات الإصدار 1.0.0-alpha19 من عرض الكاميرا
11 تشرين الثاني (نوفمبر) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha19
وandroidx.camera:camera-view:1.0.0-alpha19
. يحتوي الإصدار 1.0.0-alpha19 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- تم إدخال تعليق توضيحي واحد (
@ExperimentalVideo
) في ميزة "عرض الكاميرا". يعرض هذا التعليق التوضيحي واجهات برمجة التطبيقات التي تكشف عن وظائف الفيديو التجريبية والتي قد تخضع للتغيير مع تطوير الميزات بالكامل. أي تقييم يجب أن تستخدم طريقة استخدام واجهات برمجة التطبيقات هذه التعليق التوضيحي@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 من عرض الكاميرا
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 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- الإصدار المتوافق مع الكاميرا Core 1.0.0-beta10
الإصدار 1.0.0-alpha17 من عرض الكاميرا
23 أيلول (سبتمبر) 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha17
. يحتوي الإصدار 1.0.0-alpha17 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- الإصدار المتوافق مع الكاميرا Core 1.0.0-beta10
إصدار إضافات الكاميرا 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)
إصلاح الأخطاء
- تم فرض استخدام PreviewView لاستخدام TextureView في حال تفعيل تأثير الإضافة وكان تنفيذ مكتبة المورِّدين بحاجة إلى إجراء عملية خاصة على سطح الإخراج. (I0c3cc)
- السماح بالتدوير العشوائي للأهداف للمعاينة. يتم احتساب معلومات التحويل وعرضها للمستخدم أثناء التنقل من خلال معاودة اتصال جديدة لتطبيق "
TranformationInfoListener
". (I21470)
المشاكل المعروفة
- في PreviewView، لا يتم استدعاء
OnClickListener#onClick()
عندما ينقر المستخدم على PreviewView. يتم استهلاك حدث اللمس عن طريق الخطأ بواسطة PreviewView#onTouchEvent(). وسيتم إصلاح المشكلة في الإصدار القادم. - قد تكون قيمة MeteringPoint التي تم الحصول عليها من
PreviewView#getMeteringPointFactory()
غير صحيحة في حال استخدام ViewPort مع المعاينة.
إصدار إضافات الكاميرا 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 من عرض الكاميرا
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 يتعطل مع وجود UnknownArgumentException عند الإلزام بحساب مالك النشاط التجاري الذي تنتقل فيه مراحل نشاطه إلى حالة "تم محوها" حالته بعد وقت قصير من الربط. ربط دورات الحياة في الحالة "مدمرة" لن يحاول فتح الكاميرا. (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 من عرض الكاميرا
27 أيار (مايو) 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha11
. يحتوي الإصدار 1.0.0-alpha11 على هذه عمليات التنفيذ.
التغييرات في واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات
PreviewView#getPreviewStreamState
التي يسمح هذا الإعداد للتطبيقات بمراقبة ما إذا كان يتم بث المعاينة أم لا. فعندما وضع المعاينة في وضع TEXTURE_VIEW، وهو حالة البث أيضًا أن تكون صورة المعاينة مرئية. (Ic0906، b/154652477) - تمت إضافة واجهة برمجة التطبيقات
PreviewView#setDeviceRotationForRemoteDisplayMode()
لتوفير إمكانية تدوير الجهاز لأغراض تحويل العمليات الحسابية إذا كان التطبيق يعمل في وضع العرض عن بُعد. (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()
API للسماح بحفظ الصور في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 على هذه عمليات التنفيذ.
إصلاح الأخطاء
- يعمل هذا الإجراء على إصلاح مشكلة معروفة سابقة، وهي عدم عمل عملية تنفيذ مساحة سطح المكتب في
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 من عرض الكاميرا
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 من عرض الكاميرا
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
9 تشرين الأول (أكتوبر) 2019
تم طرح androidx.camera:camera-extensions:1.0.0-alpha03
وandroidx.camera:camera-view:1.0.0-alpha03
. هذه هي الاجتماعات المدرَجة في "camera-extensions:1.0.0-alpha03
"، وهي الملزَمات المدرَجة في camera-view:1.0.0-alpha03
.
الميزات الجديدة
- تمت إضافة أداة إعداد السياق للإضافات. تمت زيادة إصدار الإضافات إلى 1.1.0
إضافات الكاميرا وإصدار عرض الكاميرا 1.0.0-alpha02
5 أيلول (سبتمبر) 2019
androidx.camera:camera-extensions:1.0.0-alpha02
و
تم طرح androidx.camera:camera-view:1.0.0-alpha02
. وهي
يلتزم بملحقات الكاميرا:1.0.0-alpha02
وهذه هي الالتزامات المدرجة
Camera-view:1.0.0-alpha02.
- تمت إضافة اختبارات للتحقّق من تنفيذ
PreviewImageProcessorImpl
بشكل صحيح. الطوابع الزمنية. - إصلاح فشل اختبار
ExtensionTest
على Nexus 5 (المستوى 21 من واجهة برمجة التطبيقات) والتأكد من المعاينة متاح.
إضافات الكاميرا وإصدار عرض الكاميرا 1.0.0-alpha01
7 آب (أغسطس) 2019
androidx.camera:camera-extensions:1.0.0-alpha01
و
تم طرح androidx.camera:camera-view:1.0.0-alpha01
.
وهي
يلبّي الميزات المضمَّنة في إضافات الكاميرا:1.0.0-alpha01
وهذه هي الالتزامات المدرجة
عرض الكاميرا:1.0.0-alpha01
- مكتبة جديدة لإضافات الكاميرا المستقبلية للوصول إلى التأثيرات على الأجهزة المتوافقة هذه المكتبة قيد التطوير.
- صف جديد لاستخدام الكاميرا هذه المكتبة قيد التطوير.