CameraX
يسرد هذا الجدول جميع العناصر في المجموعة androidx.camera
.
العناصر | الإصدار الثابت | إصدار محتمل | الإصدار التجريبي | الإصدار الأوّلي |
---|---|---|---|---|
camera-camera2 | 1.4.2 | - | 1.5.0-beta02 | - |
camera-core | 1.4.2 | - | 1.5.0-beta02 | - |
camera-compose | - | - | 1.5.0-beta02 | - |
camera-effects | 1.4.2 | - | 1.5.0-beta02 | - |
camera-extensions | 1.4.2 | - | 1.5.0-beta02 | - |
camera-feature-combination-query | - | - | - | 1.5.0-alpha06 |
camera-feature-combination-query-play-services | - | - | - | 1.5.0-alpha06 |
camera-lifecycle | 1.4.2 | - | 1.5.0-beta02 | - |
camera-mlkit-vision | 1.4.2 | - | 1.5.0-beta02 | - |
camera-view | 1.4.2 | - | 1.5.0-beta02 | - |
camera-viewfinder | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
camera-video | 1.4.2 | - | 1.5.0-beta02 | - |
اختبار الجهاز
يتم اختبار CameraX على العديد من الأجهزة في مختبرنا. للاطّلاع على قائمة بالأجهزة المتوفّرة حاليًا في المختبر، يُرجى الاطّلاع على الأجهزة التي تم اختبارها في مختبر CameraX.
تعريف التبعيات
لإضافة تبعية إلى CameraX، يجب إضافة مستودع Google Maven إلى مشروعك. يمكنك الاطّلاع على مستودع Maven من Google لمزيد من المعلومات.
أضِف التبعيات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle
لتطبيقك أو وحدتك:
رائع
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.5.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation "androidx.camera:camera-core:${camerax_version}" implementation "androidx.camera:camera-camera2:${camerax_version}" // If you want to additionally use the CameraX Lifecycle library implementation "androidx.camera:camera-lifecycle:${camerax_version}" // If you want to additionally use the CameraX VideoCapture library implementation "androidx.camera:camera-video:${camerax_version}" // If you want to additionally use the CameraX View class implementation "androidx.camera:camera-view:${camerax_version}" // If you want to additionally add CameraX ML Kit Vision Integration implementation "androidx.camera:camera-mlkit-vision:${camerax_version}" // If you want to additionally use the CameraX Extensions library implementation "androidx.camera:camera-extensions:${camerax_version}" }
Kotlin
dependencies { // CameraX core library using the camera2 implementation val camerax_version = "1.5.0-beta02" // The following line is optional, as the core library is included indirectly by camera-camera2 implementation("androidx.camera:camera-core:${camerax_version}") implementation("androidx.camera:camera-camera2:${camerax_version}") // If you want to additionally use the CameraX Lifecycle library implementation("androidx.camera:camera-lifecycle:${camerax_version}") // If you want to additionally use the CameraX VideoCapture library implementation("androidx.camera:camera-video:${camerax_version}") // If you want to additionally use the CameraX View class implementation("androidx.camera:camera-view:${camerax_version}") // If you want to additionally add CameraX ML Kit Vision Integration implementation("androidx.camera:camera-mlkit-vision:${camerax_version}") // If you want to additionally use the CameraX Extensions library implementation("androidx.camera:camera-extensions:${camerax_version}") }
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى الاطّلاع على المشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات Issue Tracker للحصول على مزيد من المعلومات.
الإصدار 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 على عمليات الدمج هذه.
الميزات الجديدة
- مكتبة جديدة تقدّم هذه المكتبة عنصر Viewfinder القابل للإنشاء في Compose، والذي يمكن استخدامه مع CameraX وCamera2. يتوافق تطبيق "عدسة الكاميرا" القابل للإنشاء مع نسب عرض إلى ارتفاع مختلفة، ويتيح التعامل مع أحداث اللمس.
الإصدار 1.4 من تطبيق "عدسة الكاميرا"
الإصدار 1.4.0-alpha07
12 يونيو 2024
تم طرح androidx.camera:camera-viewfinder:1.4.0-alpha07
وandroidx.camera:camera-viewfinder-core:1.4.0-alpha07
. يحتوي الإصدار 1.4.0-alpha07 على عمليات الإيداع هذه.
الإصدار 1.4.0-alpha06
14 مايو 2024
تم طرح androidx.camera:camera-viewfinder:1.4.0-alpha06
وandroidx.camera:camera-viewfinder-core:1.4.0-alpha06
. يحتوي الإصدار 1.4.0-alpha06 على عمليات الدمج هذه.
تغييرات واجهة برمجة التطبيقات
- إعادة تسمية
Viewfinder
ImplementationMode
Enums لتعكس بشكل أفضل عمليات التنفيذ الأساسية، وإضافة ثوابت ثابتة لـTransformationInfo.sourceRotation
(Ic6149) - تمت إضافة
ZoomGestureDetector.ZoomEvent
لتغليف حالات إيماءة التكبير أو التصغير. (I84cdf)
الإصدار 1.5 من تطبيق "الكاميرا"
الإصدار 1.5.0-beta02
16 يوليو 2025
تم طرح androidx.camera:camera-*:1.5.0-beta02
. يحتوي الإصدار 1.5.0-beta02 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة واجهات برمجة تطبيقات جديدة لضبط مجموعات من الميزات العالية الجودة أو طلب البحث عنها بشكل أكثر سهولة ودقة، لأنّه قد لا يتم توفير هذه الميزات كمجموعة على جميع الأجهزة. يحتوي
SessionConfig
الآن على واجهات برمجة تطبيقات جديدة للإشارة إلى مجموعة من الميزات على أنّها مطلوبة أو مفضّلة. تتيح واجهة برمجة التطبيقاتCameraInfo.isFeatureGroupSupported
معرفة ما إذا كانت مجموعة ميزات متوافقة قبل ربطSessionConfig
. تتيحSessionConfig
أيضًا ضبط أداة معالجة لمعرفة الميزات التي تم اختيارها نهائيًا عند ربط إعدادات الجلسة. (Ie4d60) - تمت إضافة واجهتَي برمجة التطبيقات الجديدتَين
SessoinConfig.Builder.setFrameRateRange(Range<Integer>)
وCameraInfo.getSupportedFrameRateRanges(SessionConfig)
، ما يتيح للمطوّرين طلب معدّلات عرض الإطارات المتوافقة والمضمونة والمحدودة بقيمةSessionConfig
معيّنة، ثم تطبيق معدّل عرض الإطارات علىSessionConfig
. (Ieacf7) - تم طرح واجهة برمجة التطبيقات الجديدة
SessionConfig
، والتي تتضمّن تجريدًا أفضل لإعداد حالات الاستخدام ومعلَمات الجلسة وCameraEffect
وViewPort
وما إلى ذلك. يؤدي ربطSessionConfig
بـ LifecycleOwner إلى فتح جلسة الكاميرا وإعدادها باستخدام حالات الاستخدام ومعلَمات الجلسة المحدّدة وتطبيقCameraEffect
وViewPort
المحدّدين. عند تعديلSessionConfig
جديد إلىLifecycleOwner
نفسه، يمكنك ربطSessionconfig
جديد بدون الحاجة إلى استدعاء unbind أوunbindAll
أولاً. (Iedfc3) - تمت إضافة واجهات برمجة تطبيقات جديدة لتسجيل فيديوهات عالية السرعة/بالتصوير البطيء. لمزيد من التفاصيل، يُرجى الاطّلاع على واجهة برمجة التطبيقات
HighSpeedVideoSessionConfig
. (Ia16f3)
إصلاح الأخطاء
- تم إصلاح مشكلة في واجهة برمجة التطبيقات
ImageCaptureCapabilities#getSupportedOutputFormats()
التي تعرض تنسيقات RAW على أنّها متوافقة مع بعض الأجهزة التي لا تتضمّن في الواقع إمكانية استخدام تنسيق RAW. (Ibcadb) - تم إصلاح مشكلة تسرُّب الذاكرة التي تحدث عند استخدام
PreviewView
أو تفعيلCameraEffect
أو ربط 4 حالات استخدام(ميزة "مشاركة الشاشة مع الآخرين") (I87468) - تم إصلاح عُطل في تسجيل الفيديو بسبب
AssertionError
: حالة الصوت الداخلي غير صالحة: IDLING. (I38d4b، b/414259796) - تم إصلاح المشكلة التي تحدث عندما يتم تشغيل التطبيق على شاشة عرض خارجية ويكون الجهاز في الوضع الأفقي، حيث يتم تمديد المعاينة في
PreviewView
أو عرضها بشكل جانبي (Ia917a) - تم إصلاح المشكلة المتمثّلة في عدم تطبيق إعدادات "تثبيت المعاينة" بشكل صحيح عند مشاركة بث الكاميرا بين "المعاينة" وVideoCapture.(I5430e)
- تعمل السمة
CameraXViewfinder
الآن على معالجة استبدال السطح فيViewfinder
الأساسي بشكل صحيح. ويشمل ذلك سيناريوهات مثل عندما يخرجEXTERNAL
معين من الشاشة في المستوى 28 أو أقل من واجهة برمجة التطبيقات أو إذا كانCameraXViewfinder
(مع أيImplementationMode
) جزءًا منmoveableContentOf()
. في الحالات التي لا يمكن فيها إبقاءViewfinderSurfaceSession
الأساسي نشطًا، سيؤديCameraXViewfinder
إلى إبطالSurfaceRequest
الحالي في CameraX، ما يسمح لـ CameraX باستخدامSurface
الجديد. (I79432) - تم إصلاح مشكلة في نظام التشغيل Android 10 أو 11 حيث يمكن أن يظهر
EXTERNAL
CameraXViewfinder
ممدودًا أو غير صحيح بسبب تطبيق عمليات التحويل (مثل تغيير الحجم أو الترجمة) في وقت مبكر جدًا. ينتظر النظام الآن إنشاء Surface قبل تطبيق عمليات التحويل هذه في مرحلة التنسيق، ما يضمن الحصول على الناتج الصحيح. (Icc77c) - تعمل
CameraXViewfinder
القابلة للإنشاء الآن بشكلٍ صحيح معPager
في Compose. يضمن هذا التغيير إمكانية إعادة ضبط Composable بنجاح من خلال تنفيذ معاودة الاتصالonReset
الخاصة بـAndroidView
، ما يتيح استخدام كل من عمليات التنفيذEMBEDDED
وEXTERNAL
. (I0d9be) - تم إصلاح مشكلة تسريب مالك مراحل النشاط التي تحدث عند إلغاء ربط حالات الاستخدام بمالك مراحل النشاط بدون إيقاف موفّر الكاميرا.
الإصدار 1.5.0-beta01
7 مايو 2025
تم طرح androidx.camera:camera-*:1.5.0-beta01
. يحتوي الإصدار 1.5.0-beta01 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تتطلّب المشاريع التي تم إصدارها باستخدام Kotlin 2.0 استخدام الإصدار 2.0.0 أو إصدار أحدث من KGP (Idb6b5)
- يمكن الآن استخدام
ContentScale
و"المحاذاة" في عدسة الكاميرا لتغيير حجم السطح المعروض ووضعه داخل الحاوية، على غرار طريقة عملandroidx.compose.foundation.Image
. (Ibcea3) - يتضمّن
TransformationInfo
الآن قيمًا تلقائية لجميع الوسيطات. سيسمح ذلك بإنشاء أدوات Viewfinder بدون أيTransformationInfo
، وسيتم ضبطها تلقائيًا على تدوير المصدر بمقدار 0، وبدون عكس المصدر، وبدون مستطيل اقتصاص. (I2b1b2) - تمت إضافة
LifecycleCameraProvider
، وهو موفِّر كاميرا يمكن إنشاء مثيل له بإعدادات مختلفة للميزات، مثل الوصول إلى كاميرا جهاز افتراضي من خلال الإعداد باستخدام سياق مخصّص. (Ia2992)
إصلاح الأخطاء
- تم إصلاح مشكلة توقّف المعاينة مؤقتًا عند استخدام
ImageAnalysis
مع بث آخر يستخدمTEMPLATE_RECORD
على جهاز Samsung SM-E556B. (Ic0e62، b/409478042) - تم إصلاح مشكلة توقّف المعاينة مؤقتًا عند استخدام
ImageAnalysis
مع بث آخر يستخدمTEMPLATE_RECORD
على جهاز Samsung SM-M556B. (Ic1a6a، b/395822788) - تم إصلاح مشكلة
AssertError
وضع NIGHT في الإضافات على أجهزة Pixel التي تعمل بنظام التشغيل Android 15 عند إجراء عمليات متعلقة بالتكبير أو التصغير. (I27a5d، b/401460276) - تم إصلاح مشكلة إحداثيات المربّع المحيط غير الصحيحة في أداة تحليل ML Kit عند استخدام
CameraController
. (Iae91b، b/409808510)
الإصدار 1.5.0-alpha06
26 فبراير 2025
تم طرح androidx.camera:camera-*:1.5.0-alpha06
. يحتوي الإصدار 1.5.0-alpha06 على عمليات الدمج هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
CameraInfo.getTorchStrengthLevel
وCameraInfo.getMaxTorchStrengthLevel
وCameraControl.setTorchStrengthLevel
للسماح بتخصيص درجة سطوع المصباح اليدوي (I00878) - تمت إضافة واجهة برمجة تطبيقات جديدة
CameraController#setTapToFocusAutoCancelDuration
ليتمكّن المستخدمون من التحكّم في سلوك الإلغاء التلقائي لأحداثPreviewView
النقر للتركيز. تُلغي CameraX أحداث التركيز تلقائيًا بعد 5 ثوانٍ (أي تتم إعادة ضبط تركيز الكاميرا)، وتتيح واجهة برمجة التطبيقات هذه تعديل هذه المدة أو إيقاف الإلغاء التلقائي تمامًا. (Icf59a) - تمت إعادة تسمية
FLASH_STATE_READY
إلىNOT_FIRED
، وتم تبسيط أسماء الثوابت الأخرىFlashState
لتسهيل قراءتها. (I8771d) - تم إتاحة واجهة برمجة التطبيقات Low Light Boost API. يمكن للأجهزة التي تعمل بالإصدار 15 من نظام التشغيل Android أو إصدار أحدث توفير دعم لميزة "تحسين الإضاءة المنخفضة". يمكن لهذه الميزة ضبط درجة سطوع معاينة الفيديو أو الصورة أو بث تحليل الفيديو تلقائيًا في ظروف الإضاءة المنخفضة. يمكن للتطبيقات استخدام واجهة برمجة التطبيقات الجديدة لإجراء ما يلي: 1. استخدِم
CameraInfo#isLowLightBoostSupported
للتحقّق من توفّر الميزة. 2- استخدِمCameraControl#enableLowLightBoostAsync
لتفعيل الوضع عندما تكون الأجهزة متوافقة معه. 3- استخدِمCameraInfo#getLowLightBoostState
لمراقبة حالة تحسين الإضاءة المنخفضة. (I937ed) - إضافة فئات متوافقة للسماح بإجراء استعلامات أسرع غير مرتبطة بـ Camera2 في camera-feature-combination-query (Ie97ee)
- بالنسبة إلى أحداث
CameraController
النقر للتركيز، تعرض واجهة برمجة تطبيقات جديدةgetTapToFocusInfoState()
الآن موضع النقر المقابل أيضًا من خلال عرضLiveData
من فئةTapToFocusInfo
، بينما تم إيقاف واجهة برمجة التطبيقات السابقةLiveData<Integer>
التي تعرضgetTapToFocusState()
نهائيًا لصالح واجهة برمجة التطبيقات الجديدة. (I238d2)
إصلاح الأخطاء
- تم إصلاح المشكلة التي كانت تتسبب في عدم تطبيق ميزة تثبيت المعاينة عند تفعيلها باستخدام "الإضافات". (I24ad7)
- تم إصلاح مشكلة عدم إعادة ضبط حدث حالة التركيز
CameraController
إلىTAP_TO_FOCUS_NOT_STARTED
عندما تلغي CameraX تلقائيًا حدث تركيز يحدث بعد 5 ثوانٍ تلقائيًا. (I31954) - تم إصلاح مشكلة توقّف المعاينة مؤقتًا عند استخدام ميزة "سرعة الغالق الفائقة" (ZSL) بعد التقاط صور متعددة بسبب عدم توفّر موارد الصور التي لم يتم إصدارها. (Ic3c2a)
- تم إصلاح المشاكل التي تؤدي إلى ظهور فيديوهات بدقة فائقة الوضوح بلون أحمر على بعض الأجهزة عندما تتضمّن عملية المعالجة
OpenGL
. (Idcedc)
الإصدار 1.5.0-alpha05
15 يناير 2025
تم طرح androidx.camera:camera-*:1.5.0-alpha05
. يحتوي الإصدار 1.5.0-alpha05 على عمليات الدمج هذه.
تغييرات واجهة برمجة التطبيقات
- أضِف
VideoCapture.getSelectedQuality()
لمعرفة الجودة المحدّدة استنادًا إلىQualitySelector
. (I70508، b/204288986) - عندما يتم استدعاء عملية التقاط صورة باستخدام واجهة برمجة التطبيقات
ImageCapture.OnImageCapturedCallback
، يمكن الآن استخدام ImageInfo فيImageProxy
الذي تم عرضه لمعرفة ما إذا تم تشغيل الفلاش من خلال واجهة برمجة التطبيقات الجديدةImageInfo.getFlashState()
. (Id2c61، b/380527406) - تمت إضافة إمكانية استخدام تنسيق الإخراج
OUTPUT_IMAGE_FORMAT_NV21
معImageAnalysis
. (I484ab) - إزالة التعليق التوضيحي التجريبي للعنصر
featurecombinationquery
(I4427f) - اضبط نطاق نسبة التكبير/التصغير المسموح به لـ
CameraControl
حسب الخصائص الخاصة بالإضافات عندما يكون وضع الإضافات مفعَّلاً. (I85af1)
إصلاح الأخطاء
- تمت ترقية
compileSdk
إلى 35 لاستخدام واجهة برمجة التطبيقات ذات الصلة بنظام التشغيل Android 15. يجب أيضًا أن تُعدّل التطبيقات التي تستخدم مكتبات CameraX إعداداتcompileSdk
. (Ic80cd) - تستخدم هذه المكتبة الآن تعليقات توضيحية بشأن القيم الخالية في JSpecify، وهي تعليقات توضيحية خاصة بالاستخدام. على مطوّري Kotlin استخدام وسيطة المترجم البرمجي التالية لفرض الاستخدام الصحيح:
-Xjspecify-annotations=strict
(هذه هي القيمة التلقائية بدءًا من الإصدار 2.1.0 من المترجم البرمجي للغة Kotlin). (Idc6c6، b/326456246)
الإصدار 1.5.0-alpha04
11 ديسمبر 2024
تم طرح androidx.camera:camera-*:1.5.0-alpha04
. يحتوي الإصدار 1.5.0-alpha04 على عمليات الدمج هذه.
تغييرات واجهة برمجة التطبيقات
- عرض
ImageCapture.Builder#setOutputFormat
وImageCaptureCapabilities#getSupportedOutputFormats
كواجهات برمجة تطبيقات ثابتة (Ieb04a) - أضِف
VideoCapture.getResolutionInfo()
للحصول على معلومات الدقة عند ربطVideoCapture
بدورة حياة. (Icb478) - تم عرض
PreviewView.getScreenFlash
وPreviewView.setScreenFlashOverlayColor
كواجهات برمجة تطبيقات ثابتة. (I74fee)
إصلاح الأخطاء
- تم إصلاح مشكلة تعذُّر التقاط الصور على جهاز Vivo 1610 عند استخدام الفلاش في الظلام. (I366f4)
- تم إصلاح مشكلة إيقاف المصباح اليدوي بشكل غير متوقّع بعد التقاط صورة في هاتف Redmi Note 6 Pro. (I2e0e8، b/377144569)
- تم إصلاح مشكلة في أجهزة Pixel التي تعمل بنظام التشغيل Android 15، حيث لم يتمكّن "الوضع الليلي" في "الإضافات" من التقاط صور ثابتة إلى أن تركّز الكاميرا على جسم قريب. (I228d4)
- تم إصلاح مشكلة تعذُّر التقاط الصور الثابتة عند تفعيل الإضافات وربط
VideoCapture
معًا. (I5c745) - تم تفعيل إمكانية التقاط صور ثابتة في الإضافات إذا كان الجهاز يتيح ذلك.
UltraHDR
(I48300) - تم إصلاح مشكلة توقيت الفلاش عند التقاط الصور باستخدام الفلاش مع استهداف
CameraEffect
لعمليات التقاط الصور على أجهزة TCL. (I7698c)
الإصدار 1.5.0-alpha03
30 أكتوبر 2024
تم طرح androidx.camera:camera-*:1.5.0-alpha03
. يحتوي الإصدار 1.5.0-alpha03 على عمليات الدمج هذه.
تغييرات واجهة برمجة التطبيقات
- أضِف واجهات برمجة تطبيقات لتنسيق الإخراج RAW وRAW + JPEG
ImageCapture
، ويتم عرض عملية التحقّق من إمكانات الجهاز فيImageCaptureCapabilities#getSupportedOutputFormats
. يُستخدم الرمزOUTPUT_FORMAT_RAW
لالتقاط صورة بتنسيق RAW، وهو تنسيق Adobe DNG، بينما يُستخدم الرمزOUTPUT_FORMAT_RAW_JPEG
لالتقاط صورة بتنسيقَي RAW وJPEG في الوقت نفسه. يتم استخدام واجهة برمجة التطبيقاتImageCapture#takePicture
الجديدة لالتقاط الصور في الوقت نفسه، ويجب أن توفّرOutputFileOptions
، الأولى لصورة بتنسيق RAW والثانية لصورة بتنسيق JPEG. (Ib0f3d)
إصلاح الأخطاء
- تم إصلاح مشكلة نقص التعرض للضوء في المعاينة والفيديو على أجهزة TCL عند تفعيل
VideoCapture
. (Id7a64) - تم إصلاح المشكلة التي لا يتم فيها الحصول على إحداثيات المستشعر الصحيحة عند استدعاء
startFocusMetering
باستخدامPreviewView.getMeteringPointFactory
عندما يكون أحد التأثيرات مفعّلاً أو عندما تكون 4 حالات استخدام مرتبطة (مشاركة البث). (I916c5، b/345993685) - تم إصلاح مشكلة عدم تشغيل حدث
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE
عند تسجيل فيديو وعدم توفّر مساحة تخزين كافية. (I35779، b/356399842)
الإصدار 1.5.0-alpha02
2 أكتوبر 2024
تم طرح androidx.camera:camera-*:1.5.0-alpha02
. يحتوي الإصدار 1.5.0-alpha02 على عمليات الدمج هذه.
الميزات الجديدة
- واجهات برمجة تطبيقات جديدة للاستعلام عن ميزات الكاميرا المتوافقة مع الجهاز على سبيل المثال، التحقّق مما إذا كان يمكن تفعيل HDR و60FPS في الوقت نفسه. يتضمّن عنصرَين: camera-feature-combination-query وcamera-feature-combination-query-play-services.
هذا إصدار متوافق من واجهة برمجة التطبيقات
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported
الخاصة بـ camera2 مع بيانات إضافية تقدّمها "خدمة Google Play".
إصلاح الأخطاء
- تم إصلاح مشكلة
Preview/VideoCapture
عدد اللقطات المستهدَف في الثانية على الأجهزة ذات مستوى الأداء LEGACY. كان يتم دائمًا استبدال معدّل اللقطات المستهدَف الذي تم ضبطه من خلال واجهة برمجة التطبيقاتsetTargetFrameRate
أوCamera2Interop
بالقيمة التي توفّرهاAeFpsRangeLegacyQuirk
. باستخدام هذا الإصلاح، ستلتزم مكتبة CameraX بالقيمة التي تم ضبطها من خلال واجهة برمجة التطبيقاتsetTargetFrameRate
أوCamera2Interop
. (Ie2d32) - تمت إضافة وظائف الفلاش/المصباح/3A لالتقاط الصور باستخدام
CameraEffect
. من المفترض الآن أن تخضع الصور التي يتم التقاطها باستخدامCameraEffect
لعمليات المعالجة نفسها قبل وبعد الالتقاط (مثل تشغيل الفلاش، وتوافق 3A وما إلى ذلك عند الاقتضاء) كما هو الحال عند التقاط الصور بدون استخدامCameraEffect
. (I5ff30) - تم استبعاد أحجام الإخراج التي تتضمّن مشاكل في
ImageAnalysis
على جهاز Samsung SM-A057G. عندما تستخدمImageAnalysis
دقة أكبر من أو تساوي 1920x1440، سيؤدي ذلك إلى حدوث مشكلة في المعاينة السوداء. تم تطبيقExcludedSupportedSizesQuirk
على الجهاز SM-A057G لتجنُّب المشكلة. (I63dfe، b/365877975) - تم حلّ مشكلة
Preview/VideoCapture
عدد اللقطات المستهدَف في الثانية عند تفعيل آلية مشاركة البث داخليًا لمشاركة بث معPreview
وVideoCapture
. (I4fdac) - تم تفعيل الحلّ البديل لإصلاح مشكلة البيانات الوصفية غير الصحيحة لصور JPEG على أجهزة Samsung S10e وS10+. بعد تطبيق الإصلاح، يمكن لـ CameraX حفظ صورة JPEG بنجاح، أو يمكن عرض كائنات Bitmap صحيحة عند استدعاء الدالة
ImageProxy.toBitmap()
على هذه الأجهزة في حال حدوث مشكلة في البيانات الوصفية غير الصحيحة لصورة JPEG. (Iae493، b/356428987) - تم إيقاف الإضافات لكاميرا Samsung A52s الخلفية التي تحمل المعرّف 0، لأنّه قد تحدث أعطال أصلية عند التقاط صور بنطاق عالي الديناميكية وقد يتعذّر إعداد جلسات الالتقاط في الوضعَين BOKEH أو FACE_RETOUCH. (I03ec9، b/364152642)
- تم إصلاح مشكلة عدم تشغيل حدث
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE
عند تسجيل فيديو وعدم توفّر مساحة تخزين كافية. (Ia5b4f، b/356399842) - تم إصلاح المشكلة التي تتسبّب في تعذُّر محاولة تسجيل الفيديو الثانية على هاتف Oppo A5 (CPH1931). (I181d6)
الإصدار 1.5.0-alpha01
4 سبتمبر 2024
تم طرح androidx.camera:camera-*:1.5.0-alpha01
. يحتوي الإصدار 1.5.0-alpha01 على عمليات الدمج هذه.
الميزات الجديدة
- تم إصدار عنصر جديد،
camera-compose
، لبرنامج CameraX Viewfinder Compose Adapter الذي يعرض بثًا للمعاينة من CameraXSurfaceRequest
منcamera-core
. (I8666e) - تمت إضافة عنصر جديد قابل للإنشاء، وهو
CameraXViewfinder
، الذي يعمل كعنصر قابل للإنشاء اصطلاحي يكيّف عناصرSurfaceRequest
في CameraX مع العنصرViewfinder
القابل للإنشاء. (I4770f)
تغييرات واجهة برمجة التطبيقات
- توفير واجهة برمجة تطبيقات لضبط إعدادات التركيب لتسجيل الفيديو باستخدام كاميرتَين متزامنتَين تتضمّن الإعدادات قيمة ألفا للمزج والإزاحة في الإحداثيات 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.2
26 مارس 2025
تم طرح androidx.camera:camera-*:1.4.2
. يحتوي الإصدار 1.4.2 على عمليات الدمج هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة توقّف المعاينة عند استخدام
ImageAnalysis
مع بث آخر يستخدمTEMPLATE_RECORD
على هاتف Samsung Galaxy M55. (Ic1a6a، b/395822788)
الإصدار 1.4.1
11 ديسمبر 2024
تم طرح androidx.camera:camera-*:1.4.1
. يحتوي الإصدار 1.4.1 على عمليات الدمج هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة في أجهزة Pixel التي تعمل بنظام التشغيل Android 15، حيث لم يتمكّن "الوضع الليلي" في "الإضافات" من التقاط صور ثابتة إلى أن تركّز الكاميرا على جسم قريب. (I228d4)
- تم إصلاح مشكلة تعذُّر عمل
ImageCapture#takePicture
عند تفعيل الإضافات وربطVideoCapture
معًا. (I5c745)
الإصدار 1.4.0
30 أكتوبر 2024
تم طرح androidx.camera:camera-*:1.4.0
. يحتوي الإصدار 1.4.0 على عمليات الدمج هذه.
التغييرات المهمة منذ الإصدار 1.3.0
يتضمّن الإصدار 1.4.0 من CameraX تحديثات رائعة. إليك موجز بأهم التفاصيل:
الميزة الرئيسية: فيديو 10 بت بنطاق HDR:
- التقِط صورًا وفيديوهات مذهلة بنطاق عالي الديناميكية (HDR) بسهولة.
- يتوافق مع ترميز HLG وHEVC 10 بت.
- الاستفادة من معاينة فيديو 10 بت بنطاق HDR والاستعلام عن إمكانات الجهاز
- تعمل هذه الميزة مع صور
UltraHDR
وفيديوهات HDR على مجموعة متزايدة من الأجهزة.
ميزات رائعة أخرى:
- إضافات Kotlin: تمت إضافة دالّتَي التعليق
takePicture
وawaitInstance
. - التأثيرات في الوقت الفعلي: يمكنك تطبيق تأثيرات، مثل العلامات المائية وتمييز العناصر.
- CameraController API: عناصر تحكّم جديدة لضبط إعدادات تسجيل الفيديو
- تثبيت المعاينة: الاستعلام عن إمكانات الجهاز وتفعيل التثبيت
- تحسينات VideoCapture: تحكّم أدق في الجودة وإمكانية الوصول إلى درجات دقة أعلى
- دمج إضافات CameraX: دمج سلس مع
VideoCapture
وميزاتImageCapture
الجديدة - واجهة برمجة التطبيقات Shutter Sound API: يمكنك التحقّق بسهولة من متطلبات صوت غالق الكاميرا في المنطقة.
- فلاش الشاشة: تحسين الصور الملتقطة في الإضاءة المنخفضة باستخدام الكاميرات الأمامية
- واجهات برمجة تطبيقات بيانات وصف إضافات الكاميرا: واجهات برمجة تطبيقات مساعدة لضبط قوة الإضافات وتلقّي إشعار بشأن وضع الإضافات الحالي في
ExtensionMode#AUTO
يمكنك العثور على المزيد من إصلاحات الأخطاء في إشعارات الإصدار التجريبي وإصدار المرشّح.
الإصدار 1.4.0-rc04
16 أكتوبر 2024
تم طرح androidx.camera:camera-*:1.4.0-rc04
. يحتوي الإصدار 1.4.0-rc04 على عمليات الدمج هذه.
إصلاح الأخطاء
- تم إصلاح المشكلة التي لا يتم فيها الحصول على إحداثيات المستشعر الصحيحة عند استدعاء
startFocusMetering
باستخدامPreviewView.getMeteringPointFactory
عندما يكون أحد التأثيرات مفعّلاً أو عندما تكون 4 حالات استخدام مرتبطة (مشاركة البث). (I916c5، b/345993685)
الإصدار 1.4.0-rc03
2 أكتوبر 2024
تم طرح androidx.camera:camera-*:1.4.0-rc03
. يحتوي الإصدار 1.4.0-rc03 على عمليات الدمج هذه.
إصلاح الأخطاء
- تمت إضافة وظائف الفلاش/المصباح/3A لالتقاط الصور باستخدام
CameraEffect
. من المفترض الآن أن تخضع الصور التي يتم التقاطها باستخدامCameraEffect
لعمليات المعالجة نفسها قبل وبعد الالتقاط (مثل تشغيل الفلاش، وتوافق 3A وما إلى ذلك عند الاقتضاء) كما هو الحال عند التقاط الصور بدون استخدامCameraEffect
. (I5ff30) - تم تحسين سلاسة التكبير والتصغير بإصبعين في
PreviewView
(I04ffc) - إلغاء ربط ميزة Ultra HDR بإمكانية إخراج 10 بت، لأنّ استخدام ميزة Ultra HDR لم يعُد يتطلّب أن تتوفّر في الأجهزة إمكانية إخراج 10 بت (I96ff2، I0c3b3)
الإصدار 1.4.0-rc02
18 سبتمبر 2024
تم طرح androidx.camera:camera-*:1.4.0-rc02
. يحتوي الإصدار 1.4.0-rc02 على عمليات الدمج هذه.
إصلاح الأخطاء
- تم إصلاح الخطأ الذي كان يؤدي إلى تعطُّل التطبيق عند استدعاء
bindToLifecycle
باستخدامLifecycleOwner
تم إتلافه. (I6e6d8) - تمت إضافة رسم متحرك للظهور في
ScreenFlashView
من أجلScreenFlash#apply
، ما يؤدي أيضًا إلى إصلاح الأخطاء الناتجة عن اكتمال تغيير السطوع بشكل غير متزامن بعد مرور بعض الوقت. (I37cdb) - تحسين سلاسة التكبير والتصغير من خلال تجاهل إعدادات التكبير والتصغير في إطار العمل على الأجهزة المتوافقة
الإصدار 1.4.0-rc01
7 أغسطس 2024
تم طرح androidx.camera:camera-*:1.4.0-rc01
. يحتوي الإصدار 1.4.0-rc01 على عمليات الدمج هذه.
الميزات الجديدة
- تمت إضافة
CameraInfo.getCameraInfo
التجريبي لتوفير معلومات محدّدة عن الكاميرا بدون الحاجة إلى ربط حالات الاستخدام بالكاميرا. (I550d1)
تغييرات واجهة برمجة التطبيقات
- تمت إضافة واجهتَي برمجة التطبيقات
PreviewView.getScreenFlash
وPreviewView.setScreenFlashOverlayColor
للحالات التي لا تتم فيها إضافةScreenFlashView
بشكل صريح. (I43945)
إصلاح الأخطاء
- تم إصلاح المشاكل المتعلّقة بالتعرّض للضوء وتدرّج الألوان عند التقاط صورة مع تفعيل الفلاش في ظروف الإضاءة المنخفضة باستخدام حالة استخدام VideoCapture. (Ic9814)
- تم إصلاح المشكلة التي تؤدي إلى تعذُّر الحصول على نتيجة عند مقاطعة طلب
takePicture
مع تفعيل الإضافات، كما تم إصلاح المشكلة التي تؤدي إلى توقّف طلبtakePicture
التالي عن العمل. (Iae78f) - تم إصلاح مشكلة تسريب الذاكرة التي تحدث عند تفعيل الإضافات. (Iab276)
- تم إصلاح عطل في إضافات CameraX على أجهزة، مثل Pixel 7 وPixel 8 وسلسلة هواتف Samsung Galaxy S24. ظهرت المشكلة، التي تنشأ عن مشكلة في تحويل
Camera2OutputConfigImpl
في وضع الإصدار، بعد ترقية "مكوّن Android الإضافي في Gradle" إلى الإصدار 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. عندما يتيح الجهاز دقة Ultra HDR ويتم ضبط تنسيق الإخراج علىOUTPUT_FORMAT_JPEG_ULTRA_HDR
، ستلتقط CameraX صورًا مضغوطة بدقة Ultra HDR باستخدام تنسيق الصور JPEG/R. يتوافق التنسيق مع تنسيق JPEG العادي، ويتيح عرض المحتوى بتقنية HDR. وهذا يعني أنّه على التطبيقات أو الأجهزة القديمة، تظهر الصور بسلاسة بتنسيق JPEG العادي، بينما تظهر الصور بتنسيق HDR على التطبيقات والأجهزة التي تم تعديلها لتتوافق مع التنسيق بالكامل. (I5de50) - إضافة
PhysicalCameraInfo
فيCameraInfo
للاستعلام عن معلومات الكاميرا المادية وإضافة دالة ضبط/الحصول على معرّف الكاميرا المادية فيCameraSelector
(Ic5b90) - استبدِل
CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED
بـImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED
. تبقى قيمة الثابت كما هي. يتم ذلك لدمج جميع الثوابت في مكان واحد. (I890bb) - تتيح واجهة برمجة التطبيقات الجديدة
RetryPolicy
للمطوّرين تخصيص سلوك إعادة المحاولة عند إعداد CameraX. (I36dd2) - تفعيل إنشاء عنصر
ImageCaptureLatencyEstimate
للمساعدة في إمكانية الاختبار (Iaba99) - أضِف
ImageAnalysis#COORDINATE_SYSTEM_SENSOR
. عند استخدام هذا الخيار، تعرض السمةMlKitAnalyzer
إحداثيات في نظام إحداثيات مستشعر الكاميرا. (I3ec61) - واجهة برمجة تطبيقات مكشوفة للبيانات الوصفية للإضافات تسمح واجهتا
CameraExtensionsInfo
وCameraExtensionsControl
الجديدتان للتطبيقات بمراقبة إعدادات قوة الإضافة وتعديلها. يمكن للتطبيقات الحصول على مثيلCameraExtensionsInfo
أوCameraExtensionsControl
من خلال الطريقتَينExtensionsManager#getCameraExtensionsInfo()
أوExtensionsManager#getCameraExtensionsControl()
اللتَين تمت إضافتهما حديثًا. (I28e1a) - تمت إضافة
ProcessCameraProvider.awaitInstance
وهو إصدار معلّق منProcessCameraProvider.getInstance
(Ib22b9) - أضِف واجهة برمجة تطبيقات
PreviewView#getSensorToViewTransform()
. تمثّل المصفوفة عملية التحويل من إحداثيات أداة الاستشعار في الكاميرا إلى إحداثياتPreviewView
. ويمكن استخدامها لتحويل الإحداثيات منUseCase
إلى آخر. على سبيل المثال، تحويل إحداثيات الأجسام التي تم رصدها فيImageAnalysis
إلى تراكبPreviewView
(I947ab) - اجعل واجهة برمجة التطبيقات
camera-viewfinder-core
أكثر عمومية حتى يمكن استخدامها من قِبلcamera-viewfinder
وcamera-viewfinder-compose
. (I1e295) - أضِف الدالة
getSurface
إلىViewfinderSurfaceRequest
. (I781a0) - استخدِم
camera-viewfinder-core
فيcamera-viewfinder
وأوقِفViewfinderSurfaceRequest
وCameraViewfinder
نهائيًا. (I6198c) - تمت إضافة
ZoomGestureDetector
يفسّر إيماءات تغيير الحجم التي تم ضبطها خصيصًا لنشاط التكبير والتصغير. (Ifafbf)
إصلاح الأخطاء
- تم إصلاح مشكلة اختيار الدقة
ImageAnalysis
المتعلقة بإعداد الدقة التلقائية المستهدَفة لأداة التحليل: تم الاحتفاظ بالدقة المستهدَفة بشكل غير صحيح على 640x480 حتى إذا كانت التطبيقات قد ضبطت إعدادًا مختلفًا للدقة التلقائية لأداة التحليل. إذا واجهت التطبيقات هذه المشكلة (1.3.0 ~ 1.3.2) وتعذّر عليها الترقية لاستخدام الإصدارات الأحدث التي تتضمّن الحلّ، يمكن حلّ هذه المشكلة من خلال ضبطResolutionSelector
مباشرةً بالدقة المفضّلة وAspectRatioStrategy
مطابق لـImageAnalysis
UseCase
. (I81f72، b/330091012) - تم إصلاح مشكلة قد تؤدي إلى تعذُّر تنفيذ طلب
takePicture
في قائمة الانتظار إذا تعذّر تنفيذ الطلب الحالي. (Ie0801) - تطبيق عملية التحقّق من صحة بيانات JPEG غير الصالحة على أجهزة Vivo X60 وX60 Pro يمكن أن يؤدي ذلك إلى حلّ مشكلة الصور الكبيرة بشكل غير طبيعي على هذه الأجهزة. (I82247، b/288828159)
- تم إصلاح مشكلة البيانات الوصفية غير الصحيحة لصور JPEG على أجهزة Samsung A24. بعد تطبيق هذا الحلّ، يمكن لمكتبة CameraX حفظ صورة JPEG بنجاح، أو يمكن عرض عناصر Bitmap الصحيحة عند استدعاء الدالة
ImageProxy.toBitmap()
على أجهزة Samsung A24. (I8d6eb، b/309005680) - تفعيل عملية التحقّق من صحة بيانات JPEG غير الصالحة على جميع أجهزة Samsung إذا كانت الصورة الملتقطة أكبر من 10 ميغابايت يمكن أن يؤدي ذلك إلى حلّ مشكلة الصور الكبيرة بشكل غير طبيعي على أجهزة Samsung. (Ic2a65، b/288828159)
- تمت إزالة دعم
ImageAnalysis
في CameraX Extensions لأنّ العديد من عمليات تنفيذ Extensions من الشركات المصنّعة للمعدات الأصلية لا تعمل بشكل جيد معImageAnalysis
وقد تتسبّب في حدوث مشاكل غير متسقة. (I2d926)
الإصدار 1.4.0-alpha04
24 يناير 2024
تم طرح androidx.camera:camera-*:1.4.0-alpha04
. يحتوي الإصدار 1.4.0-alpha04 على عمليات الإيداع هذه.
الميزات الجديدة
- عنصر جديد: camera-effects: مكتبة لتطبيق تأثيرات في الوقت الفعلي على مخرجات CameraX، بما في ذلك
Preview
و/أوVideoCapture
و/أوImageCapture
. يحتوي هذا العنصر على عمليات تنفيذ OpenGL لواجهة برمجة التطبيقاتCameraEffect
التي تعالج ناتج الكاميرا بكفاءة. -
OverlayEffect
: لرسم التراكبات باستخدام واجهة برمجة التطبيقات Canvas API في Android يسمح هذا الإذن للتطبيق بتطبيق علامة مائية أو تمييز العناصر التي تم رصدها في مخرجات الكاميرا. DynamicRange
واجهات برمجة التطبيقات الخاصة بحالة الاستخدام "المعاينة": يمكن الآن ضبط النطاق الديناميكي في حالة الاستخدام "المعاينة" بشكل مستقل عن حالة الاستخدام "الفيديو". يتيح ذلك نطاقات HDR الديناميكية، مثل HLG10، للمعاينة فقط. تتوفّر أيضًا واجهات برمجة تطبيقات جديدة فيCameraInfo
للاستعلام عن النطاقات الديناميكية التي تتوافق معها كل كاميرا.
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية
ScreenFlashUiCompleter
إلىScreenFlashListener
ونقلScreenFlashUiCompleter#getExpirationTimeMillis
إلى المَعلمةexpirationTimeMillis
فيScreenFlash#apply
. (I13944) - تمت إضافة واجهات برمجة تطبيقات جديدة للسماح بضبط النطاق الديناميكي في حالة استخدام "المعاينة"، وللاستعلام عن النطاقات الديناميكية التي تتيحها كل كاميرا. يتيح ذلك استخدام النطاقات الديناميكية العالية الدقة (HDR)، مثل 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) - تمت إضافة ميزة "وميض الشاشة" في CameraX لالتقاط الصور بالكاميرا الأمامية. ستتولّى CameraX معالجة واجهة برمجة التطبيقات من جهة إطار العمل ومزامنة التوقيت مع تغييرات واجهة المستخدم للتطبيق حسب الحاجة (مثل تشغيل عملية الالتقاط المسبق للتعرّض التلقائي بعد تغيير لون/سطوع شاشة التطبيق). ما على التطبيقات سوى إضافة عمليات التنفيذ من جهة واجهة المستخدم في واجهة
ScreenFlashUiControl
التي يتم توفيرها إلى CameraX. (I8ae84) - تمت إضافة إمكانية تنفيذ ميزة "وميض الشاشة" من جهة واجهة المستخدم في CameraX. ستتمكّن التطبيقات من الحصول على تنفيذ أساسي لـ
ImageCapture.ScreenFlashUiControl
منPreviewView
أوScreenFlashView
الذي تمت إضافته حديثًا، ما سيؤدي إلى إضافة عرض تراكُب أحادي اللون وزيادة سطوع الشاشة إلى أقصى حد أثناء التقاط الصور باستخدام وميض الشاشة. (I1810e)
تغييرات واجهة برمجة التطبيقات
- إتاحة ميزات جديدة في "الإضافات" (عملية المعاينة بعد الالتقاط وتتبُّع تقدُّم عملية الالتقاط): تمت إضافة واجهات برمجة تطبيقات
ImageCapture#getImageCaptureCapabilities()
لتتمكّن التطبيقات من طلب البحث عن إمكانات معاينة ما بعد الالتقاط وتتبُّع تقدُّم عملية الالتقاط. يمكن للتطبيقات تفعيل ميزة "العرض بعد انتهاء المكالمة" باستخدامImageCapture.Builder#setPostviewEnabled()
. يمكن اختيار حجم العرض بعد النشر باستخدامImageCapture.Builder#setPostviewResolutionSelector()
. عند استدعاءtakePicture()
، يمكن تنفيذonPostviewBitmapAvailable
وonCaptureProcessProgressed
فيOnImageSavedCallback
أوOnImageCapturedCallback
للحصول على إشعار ما بعد العرض ومعالجة حالة التقدّم إذا كان ذلك متاحًا. (I5cd88) - واجهات برمجة التطبيقات لحساب تحويل الإحداثيات من جهاز الاستشعار إلى المخزن المؤقت الحالي، مع علامة تشير إلى ما إذا كان Surface يحتوي على معلومات اتجاه الكاميرا (I59096)
- عرض واجهة برمجة التطبيقات للاستعلام عن
PreviewCapabitlity
في الإصدار التجريبيUseCase
(Ie5b6c) - تمت إضافة واجهات برمجة تطبيقات لتوفير المزيد من السمات الخاصة بـ
VideoCapture
. يمكن استخدامRecorder.Builder#setVideoCapabilitiesSource(int)
معVIDEO_CAPABILITIES_SOURCE_CODEC_CAPABILITIES
لإنشاء مثيلRecorder
يتوافق مع المزيد من الخصائص مقارنةً بـVIDEO_CAPABILITIES_SOURCE_CAMCORDER_PROFILE
. من حالات الاستخدام الشائعة أن يسعى التطبيق إلى تسجيل فيديو بدقة فائقة كلما أمكن ذلك، ولكنCamcorderProfile
للجهاز لا يتضمّن إعدادات الدقة الفائقة، على الرغم من أنّ برنامج الترميز قادر على تسجيل فيديو بدقة فائقة. (Iedbe2، b/263961771) - أضِف دالة جلب/ضبط تنسيق الإخراج
ImageAnalysis
إلىCameraController
. (I9a96c، b/308240643)
إصلاح الأخطاء
- من الكاميرا
1.3.1
: تم تحسين أداءProcessCameraProvider#bindToLifecycle()
. التغيير الرئيسي هو تحسين عملية تحديد مجموعات الأحجام الأنسب لـUseCases
. تختلف النتائج المثالية استنادًا إلى مجموعاتUseCase
المحدّدة وعدد أحجام الإخراج المتوافقة مع الأجهزة المستهدَفة. (I454f2) - السماح باستخدام
VideoCapture
عندما تكون "الإضافات" مفعَّلة (I91f32) - تم إصلاح مشكلة ظهور صور JPEG كبيرة تم التقاطها على أجهزة Samsung من السلسلتين A71 وM51. تحتوي صور JPEG التي تم التقاطها على بيانات حشو مكرّرة من الأصفار في جزء بيانات JFIF المضغوطة. ويؤدي ذلك إلى أن يكون حجم ملف الصور الملتقطة كبيرًا جدًا. ستتم إزالة بيانات الحشو المتكررة التي تتضمّن أصفارًا لجعل أحجام ملفات الصور الملتقطة عادية. (I01afc، b/288828159)
- أوقِف دعم
ImageAnalysis
على هواتف Pixel لتجنُّب الخطأ الذي يظهر على هواتف Pixel والذي يعرض عن طريق الخطأ أحجامImageAnalysis
غير فارغة. (I7ec31) - تم إصلاح مشكلة الأداء التي تؤدي إلى زيادة الحمل على وحدة المعالجة المركزية واستهلاك الطاقة عند تفعيل الإضافات. (Ibdccb)
- تمت إضافة Snapdragon 480 إلى
CameraUseInconsistentTimebaseQuirk
. يحلّ هذا التحديث مشكلة في الإصدار 12 من نظام التشغيل Android على الأجهزة التي تستخدم مجموعة الشرائح هذه، حيث يتم إزاحة الصوت في التسجيلات بمقدار الوقت الذي يكون فيه الجهاز في حالة تعليق. (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 عند تفعيل ميزة "تأثير البوكيه" أو "تجميل الوجه" في "الإضافات" مع تفعيل
ImageAnalysis
على الكاميرا الخلفية. (I2e8b1) - تم إصلاح المشاكل المتعلّقة بالمعاينة الثابتة و
VideoCapture
على هاتف Moto E5 Play. (73dce2)
الإصدار 1.4.0-alpha01
20 سبتمبر 2023
تم طرح androidx.camera:camera-*:1.4.0-alpha01
. يحتوي الإصدار 1.4.0-alpha01 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات جديدة للوصول إلى معلومات سعة الصوت أثناء التسجيل (Id4925)
إصلاح الأخطاء
- تحسين ثبات الإضافات من خلال التأكّد من تفعيل أحداث التهيئة وإلغاء التهيئة بالترتيب الصحيح (Ib3b8e)
- تم إصلاح مشكلة تعذُّر ضبط إعدادات جلسة الالتقاط بسبب تجاوز عدد الأسطح المتوافقة نتيجة إضافة سطح متكرّر إضافي داخليًا. (Id718c)
- تم إصلاح مشكلة صورة JPEG كبيرة تم التقاطها على جهاز Vivo S16. تحتوي صور JPEG التي تم التقاطها على بيانات حشو مكرّرة من الأصفار في جزء بيانات JFIF المضغوطة. ويؤدي ذلك إلى أن يكون حجم ملف الصور الملتقطة كبيرًا. ستتم إزالة بيانات الحشو المتكررة التي تتضمّن أصفارًا لجعل أحجام ملفات الصور الملتقطة عادية. (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
المتعلقة بإعداد الدقة التلقائية المستهدَفة لأداة التحليل: تم الاحتفاظ بالدقة المستهدَفة بشكل غير صحيح على 640x480 حتى إذا كانت التطبيقات قد ضبطت إعدادًا مختلفًا للدقة التلقائية لأداة التحليل. إذا واجهت التطبيقات هذه المشكلة (1.3.0 إلى 1.3.2) ولم تتمكّن من الترقية لاستخدام الإصدارات الأحدث التي تتضمّن الحلّ، يمكن حلّ هذه المشكلة مباشرةً من خلال ضبطResolutionSelector
بالدقة المفضّلة وAspectRatioStrategy
مطابق لـImageAnalysis
UseCase. (I81f72، b/330091012)
الإصدار 1.3.2
6 مارس 2024
تم طرح androidx.camera:camera-*:1.3.2
. يحتوي الإصدار 1.3.2 على عمليات الدمج هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة في البيانات الوصفية لملفات JPEG على أجهزة Samsung A24. يحفظ CameraX الآن الصور بدقة، وتعرض الدالة
ImageProxy.toBitmap()
كائنات Bitmap صحيحة. (I8d6eb، b/309005680) - تمت إزالة خيار درجة الدقة 9280x6944 على أجهزة Redmi Note 9 Pro بسبب حدوث مشاكل. (Ia23da)
الإصدار 1.3.1
13 كانون الأول (ديسمبر) 2023
تم طرح androidx.camera:camera-*:1.3.1
. يحتوي الإصدار 1.3.1 على عمليات الإيداع هذه.
إصلاح الأخطاء
تم تحسين ProcessCameraProvider#bindToLifecycle()
الأداء. التغيير الرئيسي هو تحسين عملية تحديد مجموعات الأحجام الأنسب لـ UseCases
. تختلف النتائج المثالية استنادًا إلى مجموعات UseCase
المحدّدة وعدد أحجام الإخراج المتوافقة مع الأجهزة المستهدَفة. (I454f2)
في ما يلي بعض النتائج المرجعية لسيناريوهات مختلفة:
أربعة
UseCases
:Preview
+ImageCapture
+ImageAnalysis
+VideoCapture
- Google Pixel 7: من 430 ملي ثانية إلى 60 ملي ثانية تقريبًا
- Samsung Galaxy S23 Ultra: من 540 ملي ثانية إلى 45 ملي ثانية تقريبًا
- Samsung A53 5G: من 115 ملي ثانية إلى 70 ملي ثانية تقريبًا
ثلاثة
UseCases
:Preview
+ImageCapture
+ImageAnalysis
- Google Pixel 7: من 9 ملي ثانية إلى 7 ملي ثانية تقريبًا
- Samsung Galaxy S23 Ultra: من 6 إلى 5 ملي ثانية تقريبًا
- Samsung A53 5G: من 32 ملي ثانية إلى 12 ملي ثانية تقريبًا
تمت إضافة Snapdragon 480 إلى
CameraUseInconsistentTimebaseQuirk
. يحلّ هذا التحديث مشكلة في الإصدار 12 من نظام التشغيل Android على الأجهزة التي تستخدم مجموعة الشرائح هذه، حيث يتم إزاحة الصوت في التسجيلات بمقدار الوقت الذي يكون فيه الجهاز في حالة تعليق. (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 التي تم التقاطها على بيانات حشو مكرّرة من الأصفار في جزء بيانات JFIF المضغوطة. ويؤدي ذلك إلى أن يكون حجم ملف الصور الملتقطة كبيرًا. ستتم إزالة بيانات الحشو المتكررة التي تتضمّن أصفارًا لجعل أحجام ملفات الصور الملتقطة عادية. (I407b0، b/288828159)
- تم إصلاح مشكلة صورة JPEG كبيرة تم التقاطها على أجهزة Samsung S22 (SM-S901B وSM-S901B/DS) وسلسلة S22+ (SM-S906B). تحتوي صور JPEG التي تم التقاطها على بيانات حشو مكرّرة من الأصفار في جزء بيانات JFIF المضغوطة. يؤدي ذلك إلى أن يكون حجم ملف الصور الملتقطة كبيرًا ويبلغ حوالي 13 ميغابايت على جهاز S22 SM-S901B/DS. ستتم إزالة بيانات الحشو المتكررة التي تتضمّن أصفارًا لجعل أحجام ملفات الصور الملتقطة عادية. (I73be9، b/288828159)
- تم إصلاح مشكلة صور JPEG الكبيرة التي يتم التقاطها على أجهزة Samsung من السلسلة A5 وA52 وA70 وA72. تحتوي صور JPEG التي تم التقاطها على بيانات حشو مكرّرة من الأصفار في جزء بيانات JFIF المضغوطة. يؤدي ذلك إلى أن يكون حجم ملفات الصور الملتقطة كبيرًا جدًا (على سبيل المثال، حوالي 32 ميغابايت أو حتى 96 ميغابايت). ستتم إزالة بيانات الحشو المتكررة التي تتضمّن أصفارًا لجعل أحجام ملفات الصور التي تم التقاطها عادية. (I97c4d، b/288828159)
- تم إصلاح الخطأ الأصلي الذي يحدث عند التقاط الصور مع تفعيل الإضافات (I698f5)
الإصدار 1.3.0-beta02
26 يوليو 2023
تم طرح androidx.camera:camera-*:1.3.0-beta02
. يحتوي الإصدار 1.3.0-beta02 على عمليات الإيداع هذه.
إصلاح الأخطاء
- استخدام مصباح يدوي كفلاش في هواتف Pixel 4 و5 لتحسين جودة الالتقاط في الإضاءة المنخفضة (I56ff5، b/280221967)
- تم إصلاح مشكلة صور JPEG الكبيرة التي يتم التقاطها على أجهزة سلسلة Samsung A5 (2017). تحتوي صور JPEG التي تم التقاطها على بيانات حشو مكرّرة من الأصفار في جزء بيانات JFIF المضغوطة. ويؤدي ذلك إلى أن يبلغ حجم ملف الصور الملتقطة حوالي 32 ميغابايت. ستتم إزالة بيانات الحشو المتكررة التي تتضمّن أصفارًا لجعل أحجام ملفات الصور التي تم التقاطها عادية. (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
النطاق الديناميكي للصور. يمكن استخدام هذا الخيار لاختيار تنسيقات النطاق العالي الديناميكية (HDR) كنتيجة من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)
إصلاح الأخطاء
- استخدام الكشاف كفلاش في هواتف Samsung SM-A320 لتحسين السرعة وجودة الصورة الملتقطة في الإضاءة المنخفضة (I6a022، b/286190938)
- أضِفنا إمكانية استخدام تنسيق
ImageFormat.JPEG
فيImageProxy.toBitmap()
. إذا تعذّر فك ترميز مصفوفة بايت JPEG، سيتم عرضUnsupportedOperationException
. (I81958، b/282057603)
الإصدار 1.3.0-alpha07
24 مايو 2023
تم طرح androidx.camera:camera-*:1.3.0-alpha07
. يحتوي الإصدار 1.3.0-alpha07 على عمليات الإيداع هذه.
الميزات الجديدة
- تسمح واجهة برمجة التطبيقات الجديدة
VideoCapture.Builder# setTargetFrameRate(Range)
بتسجيل الفيديوهات بمعدلات لقطات أخرى غير معدل اللقطات التلقائي للجهاز. يمكن طلب معدّلات عرض اللقطات المتاحة للتسجيلات من خلال واجهة برمجة التطبيقات الجديدةCameraInfo#getSupportedFrameRates()
.
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية الثوابت
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
إلىALLOWED_RESOLUTIONS_NORMAL
/SLOW
، كما تمت إعادة تسمية اسم الدالة الإنشائيةsetHighResolutionEnabledFlag
إلىsetAllowedResolutionMode
. (Iae817) - تعرض الدالة
CameraInfo#getSupportedFrameRateRanges()
الآنSet
بدلاً منList
للإشارة بشكل أفضل إلى أنّ النطاقات غير مرتّبة. (I02f43) - إضافة أداة معالجة الأخطاء إلى
CameraEffect
للتعامل مع الأخطاء غير القابلة للاسترداد (Ice471) - إضافة أداة إنشاء عامة في
ResolutionInfo
لتحسين إمكانية الاختبار (If6d1c) - تم توفير واجهة برمجة تطبيقات
UseCase.snapToSurfaceRotation(int)
لاستبدال استخدامsetTargetRotationDegrees
وإيقاف واجهات برمجة التطبيقاتImageAnalysis.setTargetRotationDegrees(int)
وImageCapture.setTargetRotationDegrees(int)
وVideoCapture.setTargetRotationDegrees(int)
نهائيًا. (Ia9010) - تمت إضافة واجهتَي برمجة التطبيقات الجديدتَين
Preview#getTargetFrameRate
وPreview.Builder#setTargetFrameRate
لإتاحة إمكانية ضبط عدد اللقطات المستهدَف في الثانية واسترداده لحالة استخدام "المعاينة" (If4f22) - سيكتمل
VideoRecordEvent.Finalize
الآن برمز الخطأERROR_RECORDING_GARBAGE_COLLECTED
عند إيقاف العنصرRecording
بسبب جمع البيانات غير الضرورية. (Iba974)
إصلاح الأخطاء
- تم إصلاح الخطأ
NullPointerException
عندما تكون أحجام الإخراج المخزّنة مؤقتًا فيStreamConfigurationMapCompat
فارغة. (Idf124، b/282025204) - تم إصلاح المشكلة التي تمنع
Preview.setSurfaceProvider(null)
من إيقاف المعاينة مؤقتًا في الإضافات (Ia903e) - تم إصلاح المشكلة التي كانت تؤدي إلى ظهور الخطأ
ConcurrentModificationException
أثناء فتح الكاميرا عند ربطVideoCapture
. (Ic8ac4)
الإصدار 1.3.0-alpha06
19 أبريل 2023
تم طرح androidx.camera:camera-*:1.3.0-alpha06
. يحتوي الإصدار 1.3.0-alpha06 على عمليات الإيداع هذه.
الميزات الجديدة
- "الكاميرا المتزامنة" هي ميزة جديدة تم طرحها في نظام التشغيل Android 11، وتتيح البث المتزامن من أجهزة الكاميرا، على سبيل المثال، تسمح بتشغيل الكاميرتَين الأمامية والخلفية في الجهاز في الوقت نفسه. لا تتوافق CameraX حاليًا إلا مع الكاميرات المزدوجة المتزامنة، ما يسمح بتشغيل كاميرتَين في الوقت نفسه، مع ربط ما يصل إلى اثنتَين من فئات {@link UseCase} لكل كاميرا. تبلغ درجة الدقة القصوى 720p أو 1440p، ويمكنك الاطّلاع على مزيد من التفاصيل في الرابط التالي: CameraManager#getConcurrentCameraIds()
- نقدّم لك واجهة برمجة التطبيقات الجديدة
ResolutionSelector
التي تشمل الميزات التالية:- يمكن للتطبيقات تحديد استراتيجيات نسبة العرض إلى الارتفاع والدقة لاختيار أفضل دقة تناسب احتياجاتها.
- يتم التعبير عن جميع مَعلمات الحجم ونسبة العرض إلى الارتفاع بإحداثيات أداة الاستشعار في جهاز الكاميرا.
- يمكن للتطبيقات تنفيذ فلتر دقة مخصّص لترتيب الأحجام المتوافقة بالترتيب المطلوب.
- يمكن للتطبيقات أيضًا تفعيل ميزة التقاط الصور بدقة عالية للحصول على صور أعلى دقة. ومع ذلك، يُرجى العِلم أنّ استخدام درجة دقة عالية قد يؤدي إلى إبطاء أوقات الالتقاط.
- تمت إضافة واجهات برمجة التطبيقات الخاصة بميزة "
VideoCapture
". لا يتم عكس الفيديوهات المسجّلة باستخدامVideoCapture
تلقائيًا. ومع ذلك، يتم تلقائيًا عكس معاينة الكاميرا على الكاميرا الأمامية. تتيح واجهات برمجة التطبيقات الخاصة بميزة "VideoCapture
" إمكانية محاذاة معاينة الكاميرا عند استخدام الكاميرا الأمامية. هناك أربع فئات:MirrorMode
وOFF
وON
وON_FRONT_ONLY
. للمحاذاة مع معاينة الكاميرا، يُنصح باستخدامON_FRONT_ONLY
، ما يعني أنّ ميزة "انعكاس الصورة" غير مفعَّلة للكاميرا الخلفية ولكنّها مفعَّلة للكاميرا الأمامية.
تغييرات واجهة برمجة التطبيقات
- تم عرض واجهة برمجة التطبيقات الجديدة
ResolutionSelector
. يمكن للتطبيقات تحديد استراتيجيات نسبة العرض إلى الارتفاع والدقة باستخدام قواعد احتياطية أو فلتر دقة مخصّص للحصول على النتائج المطلوبة. يمكن للتطبيقات تحديد علامة لتفعيل إمكانية تسجيل المحتوى بدقة عالية. سيسمح ذلك لـ CameraX باختيار درجات دقة أعلى عند التقاط الصور أو تسجيل الفيديوهات. ومع ذلك، يُرجى العِلم أنّ استخدام درجة دقة عالية قد يؤدي إلى إبطاء أوقات الالتقاط. (Ibed95) - يمكن الآن طلب نطاقات عدد اللقطات في الثانية المتوافقة مع خوارزمية AE من خلال
CameraInfo#getSupportedFrameRateRanges()
. (Iaa67f) - دمج أسماء جميع طرق معدّل عرض اللقطات في طريقة واحدة باستخدام FrameRate. تصحيح خطأ javadoc في
VideoCapture#getTargetFrameRate()
(I83304) - تم إيقاف واجهتَي برمجة التطبيقات القديمتَين
setTargetAspectRatio
وsetTargetResolution
نهائيًا. يُرجى استخدام واجهة برمجة التطبيقات الجديدةResolutionSelector
بدلاً من ذلك. (I542c3) - تمت إضافة واجهات برمجة تطبيقات عامة للكاميرا المزدوجة المتزامنة، بما في ذلك
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
-
boolean isConcurrentCameraModeOn()
وConcurrentCameraConfig
وSingleCameraConfig
وConcurrentCamera
(Iab1c1)
- Make
ImageProcessor.Response#getOutputImage
NonNull (Ib9c60) - تمت إضافة واجهات برمجة تطبيقات لعكس الشاشة، بما في ذلك
VideoCapture.Builder.setMirrorMode(int)
وVideoCapture.getMirrorMode()
.VideoCapture
تكون واجهات برمجة التطبيقات مفيدة للتطبيقات التي تتطلّب أن يكون تسجيل الفيديو متوافقًا مع السلوك الشائع لمعاينة الكاميرا، أي أنّ معاينة الكاميرا الخلفية لا يتم عكسها، ولكن يتم عكس معاينة الكاميرا الأمامية. (I713b6، b/194634656) - إضافة واجهة برمجة التطبيقات
setTargetFrameRate()
فيVideoCapture.Builder
وواجهة برمجة التطبيقاتgetTargetFramerate()
فيVideoCapture
(I109d4) - اجعل
SurfaceOutput
يوسّع Closable وأخفِ الدالة الإنشائية العامة لـ SurfaceOutput.Event
. (I60ea8) - تمت إضافة
Recording.mute
لكتم صوت التسجيل الجاري معالجته أو إلغاء كتمه بشكل ديناميكي. سيحتويRecordingStats
علىAudioStats.AUDIO_STATE_MUTED
عندما يتم كتم صوت التسجيل الذي تتم معالجته بشكلٍ صريح. (Ie17fc) - تم جعل المَعلمة
#setEffects()
غير فارغة. أضِفنا واجهة برمجة تطبيقات#clearEffects()
لمحو التأثيرات. يجب أن يستدعي التطبيق#clearEffects()
لإزالة التأثيرات. (I4b4d9) - إضافة أداة إنشاء ثانية للفئة
ViewfinderSurfaceRequest.Builder
لتلقّي أداة إنشاء لأداة إنشاء النسخ (I621a7)
إصلاح الأخطاء
- تم إصلاح المشكلة التي كانت تؤدي إلى تعطُّل التطبيقات التي تستخدم واجهة برمجة التطبيقات Extensions API عند إغلاق الكاميرا (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.Builder.setTargetRotation(int)
وVideoCapture.setTargetRotation(int)
وVideoCapture.setTargetRotationDegrees(int)
وVideoCapture.getTargetRotation()
.VideoCapture
تكون واجهات برمجة التطبيقات مفيدة للتطبيقات التي تقفل اتجاه الجهاز. تتم أيضًا إضافةImageCapture.setTargetRotationDegrees(int)
وImageAnalysis.setTargetRotationDegrees(int)
. (Id3ffe، b/205242781) - السماح باستخدام
VIDEO_CAPTURE
وPREVIEW|VIDEO_CAPTURE
كهدف للتأثيرات سيتم تطبيق التأثيرات التي تستهدفVIDEO_CAPTURE
على UseCaseVideoCapture
، وسيتم تطبيق التأثيرات التي تستهدفPREVIEW|VIDEO_CAPTURE
على بث مشترك قبل نسخه إلى معاينة وبثVideoCapture
. (Iee6f3)
إصلاح الأخطاء
- من الكاميرا
1.2.2
: تم إصلاح المشكلة التي كانت تؤدي إلى عدم عمل "إضافات CameraX" بشكل صحيح عند تفعيل أداة Proguard على بعض الأجهزة، مثل Pixel (I90aa2) - تم إصلاح الخطأ
PreviewView
الذي قد يؤدي إلى تشوّه المعاينة عند تدوير الشاشة إذا كان التطبيق يتعامل مع اتجاه الشاشة بنفسه. يحدث ذلك على أجهزة معيّنة فقط. يمكن إعادة إنتاجه على هواتف Pixel 4a وPixel 5 وPixel 6a. (I14340، b/223488673)
الإصدار 1.3.0-alpha04
22 فبراير 2023
تم طرح androidx.camera:camera-*:1.3.0-alpha04
. يحتوي الإصدار 1.3.0-alpha04 على عمليات الإيداع هذه.
الميزات الجديدة
ميزة جديدة تتيح مشاركة بث واحد مع حالات استخدام متعددة، ما يتيح استخدام مجموعات Surface لم تكن متاحة سابقًا.
- في السابق، عند ربط "المعاينة وVideoCapture وImageAnalysis" على مستوى FULL أو أقل من أجهزة الكاميرا، أو ربط "المعاينة وVideoCapture وImageCapture" على مستوى LEGACY، تعرض CameraX الخطأ
IllegalArgumentException
. - السلوك الجديد هو أنّ عمليات الربط ستعمل بدون عرض استثناءات. بدلاً من ذلك، تستخدم CameraX واجهة برمجة التطبيقات OpenGL لنسخ بث مشترك إلى كل من Preview و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
. يمكن لمزوّد Surface إرسال إشعار بأنّ Surface المقدَّم سابقًا لم يعُد صالحًا. (Idc649) - أضِف واجهة برمجة تطبيقات
ImageProcessor
. تُستخدَم هذه الواجهة لإضافة تأثيرات ما بعد المعالجة إلى مسارImageCapture
. (I575c6) - تمت إضافة واجهة برمجة التطبيقات
Recorder.Builder.setAspectRatio()
التي يمكن دمجها معQualitySelector
لتوفير المزيد من درجات دقة الفيديو. (I8a082) - تمت إضافة
Recorder.Builder#setTargetVideoEncodingBitRate
لضبط Target Video EncodingBitRate
وRecorder#getTargetVideoEncodingBitRate
للحصول على Target Video Encoding BitRate. (I5984d)
إصلاح الأخطاء
- تم إصلاح الخطأ
ImageCapture
الذي يحدث عند عدم توفّر وحدة فلاش وتفعيل وضع الفلاش. (I9e8b4، b/263391112) - تم إصلاح مشكلة تلف صور JPEG عند كتابة بيانات الموقع الجغرافي Exif على بعض أجهزة Samsung التي تعمل بالإصدار 12 من نظام التشغيل Android. (Ib7086 وb/263747161 وb/263289024)
- عند ضبط مصباح يدوي/تكبير/تصغير قبل اكتمال عملية تهيئة الكاميرا، مثلاً عند طلب
CameraController#enableTorch
، يتم تخزين الإجراء المعلّق مؤقتًا وإرساله بعد اكتمال عملية التهيئة. (I11e92، b/264157663)
الإصدار 1.3.0-alpha02
7 كانون الأول (ديسمبر) 2022
تم طرح androidx.camera:camera-*:1.3.0-alpha02
. يحتوي الإصدار 1.3.0-alpha02 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- إضافة واجهة برمجة تطبيقات جديدة لتطبيق تأثير ما بعد المعالجة على ناتج "المعاينة" (Ic17d5)
- تمت إعادة تسمية "
OutputOptions.getDurationLimit
" إلى "OutputOptions.getDurationLimitMillis
" و"OutputOptions.setDurationLimit
" إلى "OutputOptions.setDurationLimitMillis
". (I91f0c) - أضِف فئة
AudioConfig
للتعامل مع الإعدادات ذات الصلة بالصوت أثناء تسجيل الفيديو. تم نقل التعليق التوضيحي@RequiresPermission
من الدوالstartRecording
إلىAudioConfig
لتجنُّب طلبات الأذونات غير الضرورية في الحالات التي لا تكون فيها هناك حاجة إلى الصوت. (I28755) - إزالة الفئات Metadata و
OnVideoSavedCallback
وOutputFileOptions
وOutputFileResults
التي لم يعُد يتم استخدامها بعد تطبيق واجهة برمجة التطبيقات الجديدة لالتقاط الفيديو (I38cd8) - تطبيق واجهة برمجة التطبيقات الجديدة لتصوير الفيديو تم استبدال الطريقتَين
getVideoCaptureTargetSize
وsetVideoCaptureTargetSize
بالطريقتَينgetVideoCaptureTargetQuality
وsetVideoCaptureTargetQuality
على التوالي، لأنّsetTargetResolution
لم يعُد متاحًا. (I2a1d5)
إصلاح الأخطاء
- إزالة واجهة برمجة التطبيقات
core.VideoCapture
المتوقّفة نهائيًا (I531e0) - تم إصلاح المشكلة التي لم يتم فيها استدعاء
onError
عند التقاط صور بدون إذن الوصول إلى مساحة التخزين.(I936db، b/244807669) - تحسين جودة وموثوقية إضافات الكاميرا تم إيقاف إضافات الكاميرا على أجهزة Motorola التي تستخدم الإصدار 1.1.0 من "إضافات الكاميرا" والإصدارات الأقدم بسبب مشاكل في توافق تأثيرات البوكيه والتقاط الصور وعدم استئناف المعاينة. (Id3ce3)
- تم إصلاح عُطل في التطبيق عند تفعيل ميزة اقتصاص الفيديو من خلال
ViewPort
على الأجهزة القديمة. (I16b8a، b/251357665)
الإصدار 1.3.0-alpha01
9 نوفمبر 2022
تم طرح androidx.camera:camera-*:1.3.0-alpha01
. يحتوي الإصدار 1.3.0-alpha01 على عمليات الإيداع هذه.
الميزات الجديدة
- تم نشر
Camera-viewfinder
رسميًا. توفّرCamera-viewfinder
أداة أساسية للبحث المرئي يمكنها عرض خلاصة الكاميرا في Camera2. يُرجى الاطّلاع على نموذج الرمز للحصول على مثال.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
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
كواجهات برمجة تطبيقات جديدة. - واجهة برمجة تطبيقات تجريبية جديدة لتأخير الغالق الصفري تحسين مسار التقاط الصور للحصول على زمن انتقال أفضل مع الحفاظ على جودة الصورة الجيدة عند ضبط وضع الالتقاط على
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 وعندما يبدّل المستخدم الكاميرات.
- تم إصلاح مشكلة
Preview/VideoCapture
التمدّد في هاتفَي Samsung J7 Prime (SM-G610M) وJ7 (SM-J710MN) على الأجهزة التي تعمل بالإصدار 27 من واجهة برمجة التطبيقات. - تم إيقاف الحلّ البديل لقلب منطقة التركيز التلقائي أفقيًا في الكاميرات الأمامية على أجهزة Samsung Android T بعد إصلاح المشكلة
الإصدار 1.2.0-rc01
24 أكتوبر 2022
تم طرح androidx.camera:camera-*:1.2.0-rc01
. يحتوي الإصدار 1.2.0-rc01 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- أضِف واجهة برمجة التطبيقات
setStreamUseCase
لـOutputConfiguration
. يمكن للمستخدم تحديد حالة استخدام البث لجلسة البث، وتجاوز المنطق الداخلي في CameraX لاختيار حالة استخدام البث من أجل التحسين وفقًا لاحتياجاته. (Ib1a95)
إصلاح الأخطاء
- تم إصلاح مشكلة
Preview/VideoCapture
التمدّد في هاتفَي Samsung J7 Prime (SM-G610M) وJ7 (SM-J710MN) على الأجهزة التي تعمل بالإصدار 27 من واجهة برمجة التطبيقات. تؤدي درجة الدقة 1920x1080 إلى تمديد صورPreview/VideoCapture
. تمت إضافة حلّ بديل لعدم اختيار درجة الدقة 1920x1080 لـ "المعاينة" أوVideoCapture
لتجنُّب مشكلة تمديد الصورة. (I0e04e) - تم إصلاح مشكلة انخفاض عدد اللقطات في الثانية عند استخدام
VideoCapture
وحالات استخدام "المعاينة" مع نسبة عرض إلى ارتفاع 16:9 على بعض أجهزة Huawei. (If8c88، b/223643510) - تم إصلاح مشكلة تعذُّر فتح الكاميرا عندما لا يكون
SurfaceProvider
في "المعاينة" مضبوطًا. في إطار هذا الإصلاح، لن يتم الآن ضبط ميزة "المعاينة" بدون ضبطSurfaceProvider
في جلسة التقاط الصور بالكاميرا. (I99681)
الإصدار 1.2.0-beta02
21 سبتمبر 2022
تم طرح androidx.camera:camera-*:1.2.0-beta02
. يحتوي الإصدار 1.2.0-beta02 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- إضافة متطلبات مستوى واجهة برمجة التطبيقات للإصدار
setOutputImageRotationEnabled
(I26e3e، b/240993561)
إصلاح الأخطاء
- تم إيقاف الحلّ البديل لقلب منطقة التركيز التلقائي أفقيًا في الكاميرات الأمامية على أجهزة 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-Shutter Lag API التجريبية الجديدة تحسين مسار التقاط الصور للحصول على زمن انتقال أفضل مع الحفاظ على جودة الصورة الجيدة عند ضبط وضع الالتقاط على 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
false إذا لم يتم إلغاء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 على عمليات الإيداع هذه.
الميزات الجديدة
- إتاحة واجهة برمجة التطبيقات Zero-Shutter Lag API في CameraX كواجهة تجريبية
تغييرات واجهة برمجة التطبيقات
- أضِف وضع الالتقاط الجديد
CAPTURE_MODE_ZERO_SHUTTER_LAG
فيImageCapture
وأضِفisZslSupported
فيCameraInfo
للاستعلام عن إمكانات الجهاز. يهدف الوضعCAPTURE_MODE_ZERO_SHUTTER_LAG
إلى توفير الحدّ الأدنى من وقت الاستجابة لإجراء عملية الالتقاط الفوري. يتم تنفيذها استنادًا إلى مخزن مؤقت حلقي يخزّن نتائج الالتقاط المؤقتة لإعادة معالجتها لاحقًا عندما يضغط المستخدم على الأزرار لالتقاط الصور. سيتم إيقاف هذا الوضع تلقائيًا في حال ربط {@link VideoCapture} أو إذا لم يكن وضع الفلاش OFF أو إذا كانت "إضافة الشركة المصنّعة للجهاز الأصلي" مفعّلة. (I9ae74) - إضافة طريقة الدفع
ImageAnalysis.getBackgroundExecutor()
(Icc945)
إصلاح الأخطاء
- تم إصلاح الخطأ الذي كان يؤدي إلى إيقاف المصباح في الأجهزة التي تم الإبلاغ عنها عند استخدام طريقة
ImageCapture
takePicture. (Ib5eb5، b/228272227) - تم إصلاح الخطأ الذي كان يؤدي إلى عدم التعامل مع
AssertionError
عند الحصول على السمةCONTROL_ZOOM_RATIO_RANGE
.(/Ia248a، b/231701345)
الإصدار 1.2.0-alpha01
18 مايو 2022
تم طرح androidx.camera:camera-*:1.2.0-alpha01
. يحتوي الإصدار 1.2.0-alpha01 على عمليات الإيداع هذه.
الميزات الجديدة
- تم إطلاق مكتبة camera-mlkit-vision الجديدة
إصلاح الأخطاء
- تعذُّر تسجيل فيديو بدقة UHD عند تفعيل استراتيجية احتياطية
QualitySelector
تحدث المشكلة عندما يكونVideoCapture
مرتبطًا بـImageCapture
و"المعاينة" على جهاز كاميرا بمستوى أجهزة FULL أو أعلى. تتسبّب استراتيجية احتياطية بقيمةQualitySelector
في حصولVideoCapture
بشكلٍ غير صحيح على دقة FHD. درجة الدقة الفائقة الوضوح متاحة في الواقع لمجموعة حالات الاستخدام هذه ويجب اعتمادها. (I0e788، b/230651237) - تم حلّ المشكلة
NullPointerException
في ImageCapture.takePicture()
. (I92366 وb/230454568 وb/229766155) - إصلاح سلوك الإيقاف المؤقت غير المتزامن في
androidx.camera.video.Recorder
(Ia8ce8)
Camera-Camera2 وCamera-Core وCamera-Lifecycle وCamera-Video الإصدار 1.1.0
الإصدار 1.1.0
29 يونيو 2022
تم طرح androidx.camera:camera-*:1.1.0
. يحتوي الإصدار 1.1.0 على عمليات الإيداع هذه.
التغييرات المهمة منذ الإصدار 1.0.0
- مكتبات Landed View وExtension وVideo Capture كأول إصدار تجريبي لها بدءًا من الإصدار 1.1.0-beta01، ستتضمّن جميع مكتبات CameraX رقم الإصدار نفسه. سيساعد ذلك المطوّرين في تتبُّع الإصدارات بسهولة أكبر وتقليل تعقيد مصفوفات توافق الإصدارات الكبيرة.
- قدّمنا واجهات برمجة تطبيقات وميزات عامة جديدة، بما في ذلك:
- أضِف مكتبة الكاميرا والفيديو الرسمية لدعم حالات استخدام تسجيل الفيديو.
- إمكانية تحويل YUV إلى RGB وتدوير الصورة (
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
الخاصة بـ camera-core وcamera-lifecycle وcamera-video. تمت إضافةViewPort#getLayoutDirection
وViewPort.Builder#setLayoutDirection
وViewPort.Builder#setScaleType
لتخصيص إطار العرض. - تمت ترقية
ExperimentalUseCaseGroupLifecycle
إلى واجهات برمجة تطبيقات عامة رسمية. - التغييرات على واجهات برمجة التطبيقات الحالية
Renamed MediaStoreOutputOptions.getCollection
إلىMediaStoreOutputOptions.getCollectionUri
.- تمت إعادة تسمية "
ActiveRecording
" إلى "تسجيل" لتقليل الإسهاب. - تغيير واجهة برمجة التطبيقات الخاصة بصنّاع المحتوى
QualitySelector
إلى واجهة برمجة تطبيقات مستندة إلى القوائم
إصلاح الأخطاء
- تم إصلاح مشكلة
YuvToJpegProcessor
EOFException
عند تفعيل وضع الإضافة وضبط وضعImageCapture#CAPTURE_MODE_MAX_QUALITY
. - تعذّر إصلاح إعدادات برنامج الترميز بسبب إغلاق تسجيل الفيديو
- تم إصلاح نسبة العرض إلى الارتفاع المشوّهة للمعاينات/الفيديوهات عند التسجيل بدقة FHD
- تم إصلاح مشكلة عدم مزامنة الصوت والفيديو بعد الإيقاف المؤقت والاستئناف على بعض الأجهزة
- تم إصلاح المشكلة التي يتم فيها تشغيل الفلاش أثناء النقر للتركيز (
startFocusAndMetering
) عندما يكون وضع الفلاش تلقائيًا أو always_on في بيئة منخفضة الإضاءة.
الإصدار 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 على عمليات الإيداع هذه.
الميزات الجديدة
- إصدار أول إصدار تجريبي من قناة الإصدارات التجريبية لـ camera-video وcamera-view وcamera-extension
إصلاح الأخطاء
- تم إصلاح مشكلة عدم إتاحة ترميز الفيديو عند إلغاء ربط
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)
المساهمة الخارجية
- تم تعديل واجهة برمجة التطبيقات updated :compose:ui:ui-test (updateApi) بسبب نقل test-coroutines-lib (I3366d)
الإصدار 1.1.0-beta02
23 فبراير 2022
تم طرح androidx.camera:camera-*:1.1.0-beta02
. يحتوي الإصدار 1.1.0-beta02 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- إضافة إمكانية تحديد رقم تعريف الكاميرا المادية من خلال Camera2Interop (I5aed8)
إصلاح الأخطاء
- تم إصلاح مشكلة المعاينة الممدّدة على هاتف Oppo Find N (I7d004)
- تم إصلاح مشكلة في هاتف Galaxy J7 Prime تؤدي إلى تشوّه المعاينة. (I4c500)
- استخدام معدّل بت متوافق للعثور على برنامج ترميز الفيديو (d969052)
الإصدار 1.1.0-beta01
26 يناير 2022
تم طرح androidx.camera:camera-*:1.1.0-beta01
. يحتوي الإصدار 1.1.0-beta01 على عمليات الإيداع هذه.
الميزات الجديدة
- بدءًا من الإصدار 1.1.0-beta01، ستتضمّن جميع مكتبات CameraX رقم الإصدار نفسه. سيساعد ذلك المطوّرين في تتبُّع الإصدارات بسهولة أكبر وتقليل تعقيد مصفوفة توافق الإصدارات الكبيرة.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة
Camera2CameraControl.clearCaptureRequestOptions
لإزالة خيارات طلب الالتقاط الحالية. (Ifa07d)
إصلاح الأخطاء
- تم إصلاح العُطل الذي كان يحدث عند تسجيل الفيديو على بعض الأجهزة التي تعمل بإصدارات Android الأقدم من الإصدار O(المستوى 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 إلى واجهة برمجة التطبيقات العامة لتصفية قائمة CameraInfo استنادًا إلى CameraSelector. (I105d0)
إضافة واجهة برمجة التطبيقات setOutputImageRotationEnabled لإعداد ImageAnalysis يمكن للمستخدم تفعيل التدوير لمخزن مؤقت لصور YUV/RGB. درجة التدوير هي تدوير نسبي يتم احتسابه استنادًا إلى تدوير المستشعر والتدوير المستهدف للحفاظ على ظهور الصورة في المقدّمة.
إضافة واجهة برمجة التطبيقات setOutputImageRotationEnabled لإعداد ImageAnalysis يمكن للمستخدم تفعيل التدوير لمخزن مؤقت لصور YUV/RGB. درجة التدوير هي تدوير نسبي يتم احتسابه استنادًا إلى تدوير المستشعر والتدوير المستهدف للحفاظ على ظهور الصورة في المقدّمة.
إضافة واجهة برمجة التطبيقات
getSensorToBufferTransformMatrix
في ImageInfo المصفوفة المعروضة هي عملية ربط من إحداثيات المستشعر إلى إحداثيات المخزن المؤقت، أي من قيمةCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
إلى(0, 0, image.getWidth, image.getHeight)
. يمكن استخدام المصفوفة لربط الإحداثيات من {UseCase} إلى آخر. على سبيل المثال، ربط إحداثيات الوجه الذي تم رصده باستخدام ImageAnalysis بالمعاينة. (I9ff1e)تمت إضافة واجهة برمجة تطبيقات جديدة ImageCapture.Builder#setJpegQuality للسماح بتغيير جودة ضغط صورة JPEG الناتجة عند التقاط صورة. (I8dcf4)
تمت إعادة تسمية MediaStoreOutputOptions.getCollection إلى MediaStoreOutputOptions.getCollectionUri. (I16639)
إصلاح الأخطاء
- تم إصلاح المشكلة التي كانت تؤدي إلى تشغيل الفلاش أثناء النقر للتركيز (startFocusAndMetering) عندما يكون وضع الفلاش تلقائيًا أو always_on في بيئة منخفضة الإضاءة. (Id4c11)
- تم إيقاف تقنية HDR+ على هاتفَي Pixel 2 XL وPixel 3 XL في وضع MINIMIZE_LATENCY لتقليل وقت الاستجابة. (Ib6270، b/203505523)
المساهمة الخارجية
الإصدار 1.1.0-alpha10
13 أكتوبر 2021
تم طرح androidx.camera:camera-*:1.1.0-alpha10
. يحتوي الإصدار 1.1.0-alpha10 على عمليات الإيداع هذه.
الميزات الجديدة
- تم إصدار
androidx.camera:camera-video:1.1.0-alpha10
كأول إصدار أولي من "الفيديو" رسميًا. هناك عدة مشاكل معروفة سيتم إصلاحها في الإصدارات اللاحقة.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة التعليق التوضيحي
@RequiresApi(21)
إلى جميع فئات CameraX وتمت إزالة minSdkVersion من ملف AndroidManifest.xml. سيسمح ذلك بدمج camera-core بسهولة في التطبيقات التي تتضمّن الإصدار 21 من حزمة minSdkVersion أو الإصدارات الأقل، ولكنها تريد استخدام مسارات الرموز البرمجية بشكل مشروط التي تعتمد على الإصدار 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 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي ExperimentalUseCaseGroup الآن بعد أن لم تعُد واجهات برمجة التطبيقات تجريبية. (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 لإعداد تحليل الصور. يمكن للمستخدم اختيار ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 أو ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. سيتم تلقائيًا اختيار ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888. (I7902d)
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي ExperimentalUseCaseGroupLifecycle بعد أن لم تعُد واجهات برمجة التطبيقات تجريبية. (I17b85)
إصلاح الأخطاء
- تم إصلاح مشكلة سطوع شاشة "المعاينة الثابتة" بشكل مفرط على هاتف Huawei P20 Lite. لا تحدث هذه المشكلة إلا عند استخدام دقة معاينة خاصة مع قيمة تكبير كبيرة. (Idefce، b/192129158)
- تم إصلاح مشكلة عدم عمل الفلاش على بعض الأجهزة عند ضبط وضع الفلاش على FLASH_MODE_ON ثم التقاط الصور بعد فترة وجيزة. (Ieb49b)
- تم إصلاح المشكلة التي تؤدي إلى توقّف المعاينة لفترة من الوقت عند التقاط الصور في حال ربط VideoCapture وImageCapture وPreview. (I56197، b/193864120)
- تسمح هذه السمة لـ ImageAnalysis باختيار درجة دقة أكبر من 1080p. يمكن لجهاز بمستوى LIMITED أو أعلى أن يتيح دقة RECORD في ImageAnalysis عند ربطه مع Preview وImageCapture. المقايضة هي أنّ درجة الدقة المحدّدة لـ ImageCapture يجب أن تكون أيضًا درجة دقة بحجم RECORD. لاختيار دقة حجم RECORD بنجاح في ImageAnalysis، يجب ضبط دقة حجم RECORD المستهدَفة في كلّ من ImageCapture وImageAnalysis. يشير ذلك إلى أنّ التطبيق يفهم بوضوح المفاضلة ويفضّل أن تكون دقة ImageAnalysis أكبر من دقة ImageCapture القصوى. للاطّلاع على تعريفات RECORD وMAXIMUM sizes والمزيد من التفاصيل، يُرجى الانتقال إلى https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. يشير حجم RECORD إلى الحد الأقصى لدقة التسجيل المتوافقة مع جهاز الكاميرا، كما هو محدّد بواسطة CamcorderProfile. يشير الحجم الأقصى إلى الحد الأقصى لدقة الإخراج لجهاز الكاميرا لهذا التنسيق أو الهدف من StreamConfigurationMap.getOutputSizes(int). (I1ee97، b/192911449)
- أضِف معلومات Exif إلى الصورة التي تم التقاطها. (I01ff0، b/193342619)
- في ImageCapture، يمكنك عرض معرّف الموارد المنتظم (URI) للصورة المحفوظة إذا كان موقع الحفظ هو "ملف". (Ib5b49، b/149241379)
- تم إصلاح مشكلة ظهور الصور التي تم التقاطها باستخدام الفلاش باللون الداكن على العديد من الأجهزة. (I4e510)
الإصدار 1.1.0-alpha07
21 تموز (يوليو) 2021
تم إصدار androidx.camera:camera-camera2:1.1.0-alpha07
وandroidx.camera:camera-core:1.1.0-alpha07
وandroidx.camera:camera-lifecycle:1.1.0-alpha07
. يحتوي الإصدار 1.1.0-alpha07 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة في هاتف Samsung Galaxy Note 5 حيث تتوقف الكاميرا عن العمل بعد التقاط صور باستخدام الفلاش في بيئة مظلمة (If6871)
- تم إصلاح مشكلة
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 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- الترويج لواجهات برمجة التطبيقات التجريبية لتعويض التعرض للضوء في camera-core (I08ee8)
- تمت إضافة واجهة برمجة التطبيقات isFocusMeteringSupported إلى CameraInfo، ما يتيح للتطبيقات التحقّق مما إذا كان FocusMeteringAction المحدّد متاحًا على الكاميرا الحالية أم لا. (Ib45ae، b/188606490)
- تم إتاحة واجهة برمجة التطبيقات getResolutionInfo لتوفير معلومات الدقة لكلّ من "المعاينة" وImageCapture وImageAnalysis. (I2b613، b/188600718)
- تمت ترقية واجهات برمجة التطبيقات التجريبية التالية إلى واجهات برمجة تطبيقات رسمية: CameraXConfig.Builder#setAvailableCamerasLimiter() و CameraXConfig.Builder#setMinimumLoggingLevel() و CameraXconfig.Builder#setSchedulerHandler() و CameraXConfig#getAvailableCamerasLimiter() و CameraXConfig#getMinimumLoggingLevel() و CameraXConfig#getCameraExecutor() و CameraXConfig#getSchedulerHandler(). (I2ade2)
- تم عرض واجهة CameraProvider لتوفير إمكانية الوصول إلى مجموعة من الكاميرات. (I1a7b1)
- الترويج لواجهة برمجة التطبيقات التجريبية UseCaseGroup الخاصة بمكتبات camera-core وcamera-lifecycle وcamera-video تمت إضافة
ViewPort#getLayoutDirection
وViewPort.Builder#setLayoutDirection
وViewPort.Builder#setScaleType
لتخصيص إطار العرض. (I7cee8)
الإصدار 1.1.0-alpha05
2 حزيران (يونيو) 2021
تم إصدار androidx.camera:camera-camera2:1.1.0-alpha05
وandroidx.camera:camera-core:1.1.0-alpha05
وandroidx.camera:camera-lifecycle:1.1.0-alpha05
. يحتوي الإصدار 1.1.0-alpha05 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة الصف
Camera2CameraFilter
. اقترح اختيار الكاميرا من خلال CameraFilter واسترداد CameraCharacteristics أو معلومات أخرى ذات صلة بـ Camera2 من خلال Camera2CameraInfo إذا لزم الأمر. (Ib887c) - أصبحت واجهات
ExperimentalCameraFilter
API الآن خارج المرحلة التجريبية وأصبحت واجهات رسمية. ويمكن استخدامها بدون موافقة مشروحة. (I4bc94) - تمت إضافة واجهة برمجة تطبيقات لحالة الكاميرا يتم عرضها من خلال
CameraInfo#getCameraState()
. (Ia86b4) - تمت إضافة واجهة برمجة تطبيقات تجريبية
CameraInfo#getCameraSelector()
تعرض CameraSelector فريدًا للكاميرا (I77f9f)
إصلاح الأخطاء
- تم إصلاح المشكلة التي تسبّبت في عدم إكمال ListenableFuture الذي تم عرضه في setZoomRatio وsetLinearZoom على بعض أجهزة Android 11 (I716d7)
- تسريع عملية التبديل بين الكاميرات وتقليل معدّل حدوث الخطأ في جهاز الكاميرا (I34c99)
- تم استبدال ExperimentalUseCaseGroupLifecycle بـ ExperimentalUseCaseGroup. (I3b2ef، b/159033688)
الإصدار 1.1.0-alpha04
21 أبريل 2021
تم إصدار androidx.camera:camera-camera2:1.1.0-alpha04
وandroidx.camera:camera-core:1.1.0-alpha04
وandroidx.camera:camera-lifecycle:1.1.0-alpha04
. يحتوي الإصدار 1.1.0-alpha04 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح تسرب الذاكرة الناتج عن وصول سلاسل محادثات متعددة إلى المجموعة نفسها في الوقت نفسه. قد يؤدي تسرُّب الذاكرة إلى احتفاظ مثيل Preview بـ Activity أو Fragment. (I7b4b8)
- تم استبدال التعليق التوضيحي
@Experimental
بالتعليق التوضيحي@RequiresOptIn
لواجهات برمجة التطبيقات التجريبية. لاستدعاء واجهات برمجة التطبيقات التجريبية، استخدِمandroidx.annotation.OptIn
بدلاً منandroidx.annotation.experimental.UseExperimental
المتوقّفة نهائيًا. (Iff226) - تم إصلاح مشكلة ImageCapture التي تؤدي إلى ظهور صور باهتة عند تفعيل الفلاش أو ضبطه على "تلقائي" على هاتف Samsung Galaxy S7. (I30001)
- تمت إضافة واجهة برمجة تطبيقات CameraState سيتم عرضها من خلال CameraInfo. (I75392)
الإصدار 1.1.0-alpha03
24 مارس 2021
تم إصدار androidx.camera:camera-camera2:1.1.0-alpha03
وandroidx.camera:camera-core:1.1.0-alpha03
وandroidx.camera:camera-lifecycle:1.1.0-alpha03
. يحتوي الإصدار 1.1.0-alpha03 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إخراج تنسيق JPEG لـ
ImageCapture#OnImageCapturedCallback
عندما تكون "أوضاع الإضافات" مفعّلة (I0d7b1) - تم إصلاح مشكلة تعذُّر بدء التشغيل على أجهزة UMIDIGI BISON (I57d9e، b/180818665)
- تم إصلاح مشكلة معاينة Samsung A3 الممدّدة في PreviewView. (Iacb30، b/180121821)
الإصدار 1.1.0-alpha02
24 شباط (فبراير) 2021
تم إصدار androidx.camera:camera-camera2:1.1.0-alpha02
وandroidx.camera:camera-core:1.1.0-alpha02
وandroidx.camera:camera-lifecycle:1.1.0-alpha02
. يحتوي الإصدار 1.1.0-alpha02 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة واجهة برمجة تطبيقات
ProcessCameraProvider.getAvailableCameraInfos()
لاسترداد المعلومات مباشرةً عن الكاميرات المتاحة، والتي تكون إما جميع كاميرات الجهاز أو الكاميرات التي يختارهاCameraSelector
المقدَّم فيCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)
. (Ieac08)
إصلاح الأخطاء
- تحاول CameraX الآن فرض فتح الكاميرا في المحاولة الأولى، وقد يؤدي ذلك إلى أن تستولي CameraX على الكاميرا من برامج أخرى تستخدمها عندما يكون لتطبيقها أولوية أعلى. (Iab069، b/175820568)
- تم إصلاح مشكلة تعذُّر اختبار Robolectric عند استخدام setAvailableCamerasLimiter في CameraXConfig. (Ice307)
- يؤدي هذا التغيير إلى رصد الاستثناء عندما يبلغ الحد الأقصى لطابور الصور في ImageAnalysis. لذلك، بدلاً من التعطُّل، قد تلاحظ تجمّد حالات استخدام أخرى أو بطئها، مثل تجمّد المعاينة أو بطئها. (Ic12da، b/175851631)
- تم إصلاح ExtensionsErrorListener للإبلاغ عن الأخطاء عند ربط Preview أو ImageCapture فقط. (I5ae39)
- تم إصلاح مشكلة انخفاض أداء ImageCapture من خلال إزالة عملية التحقّق من الموقع الجغرافي المحفوظ للصورة قبل التقاطها. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق الحصول على ردّ الخطأ وقتًا أطول لأنّه سيحاول حفظ الصورة بعد التقاطها. (I1fd4e، b/177061560)
- تم إصلاح مشكلة انخفاض أداء ImageCapture عند استخدام OutputFileOptions من النوع "File". (I5164a، b/177061560)
- تم تعديل المستندات لتوضيح عدم إمكانية استخدام
ProcessCameraProvider.configureInstance(...)
من رمز المكتبة. (Ib8a9f)
الإصدار 1.1.0-alpha01
27 يناير 2021
تم إصدار androidx.camera:camera-camera2:1.1.0-alpha01
وandroidx.camera:camera-core:1.1.0-alpha01
وandroidx.camera:camera-lifecycle:1.1.0-alpha01
. يحتوي الإصدار 1.1.0-alpha01 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم تضمين حلّ بديل لبيانات الصور التالفة بشكل متقطّع في ملفات JPEG على الكاميرا الخلفية للهاتف SM-G930T. (I52001، b/159831206)
- تم إصلاح المشكلة
IllegalArgumentException
التي كانت تحدث عندما تكون جميع الأحجام المتوافقة مع المعاينة أصغر من 640x480 ويكون حجم العرض أكبر من 640x480. (I2a63c، b/150506192) - أصبحت الموارد في المكتبات التي لا تتضمّن موارد عامة معرَّفة بوضوح (مثل public.xml) خاصة بشكل تلقائي. (Ia1dcc، b/170882230)
إصدار 1.0.2 من Camera-Camera2 وCamera-Core وCamera-Lifecycle
الإصدار 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)
الإصدار 1.0.1 من Camera-Camera2 وCamera-Core وCamera-Lifecycle
الإصدار 1.0.1
21 تموز (يوليو) 2021
تم إصدار androidx.camera:camera-camera2:1.0.1
وandroidx.camera:camera-core:1.0.1
وandroidx.camera:camera-lifecycle:1.0.1
. يحتوي الإصدار 1.0.1 على عمليات الإيداع هذه.
إصلاح الأخطاء
تم إصلاح المشكلة التي تسبّبت في عدم إكمال
ListenableFuture
فيsetZoomRatio
وsetLinearZoom
على بعض أجهزة Android 11 (I716d7)تم إصلاح المشكلة التي تتسبب في تعذُّر إغلاق الكاميرا على بعض الأجهزة وظهور معاينة سوداء. (I34c99)
الإصدار 1.0.0 من Camera-Camera2 وCamera-Core وCamera-Lifecycle
الإصدار 1.0.0
5 أيار (مايو) 2021
تم إصدار androidx.camera:camera-camera2:1.0.0
وandroidx.camera:camera-core:1.0.0
وandroidx.camera:camera-lifecycle:1.0.0
. يتضمّن الإصدار 1.0.0 عمليات الدمج هذه.
الميزات الرئيسية في الإصدار 1.0.0
- تتوافق CameraX مع Preview وImageCapture وAnalysis
- تتولّى CameraX إدارة دورة حياة الكاميرا ضمن واجهة برمجة تطبيقات سهلة الاستخدام
- تهدف CameraX إلى توفير طبقة توافق تعمل على إصلاح العديد من المشاكل في منظومة Android المتكاملة للكاميرا
المشاكل المعروفة
- الاطّلاع على قائمة المشاكل المعروفة
الإصدار 1.0.0-rc05
21 أبريل 2021
تم إصدار androidx.camera:camera-camera2:1.0.0-rc05
وandroidx.camera:camera-core:1.0.0-rc05
وandroidx.camera:camera-lifecycle:1.0.0-rc05
. يحتوي الإصدار 1.0.0-rc05 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة ImageCapture التي تؤدي إلى ظهور صور باهتة عند تفعيل الفلاش أو ضبطه على "تلقائي" على هاتف Samsung Galaxy S7. (I30001)
الإصدار 1.0.0-rc04
24 مارس 2021
تم إصدار androidx.camera:camera-camera2:1.0.0-rc04
وandroidx.camera:camera-core:1.0.0-rc04
وandroidx.camera:camera-lifecycle:1.0.0-rc04
. يتضمّن الإصدار 1.0.0-rc04 عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة تعذُّر بدء التشغيل على أجهزة UMIDIGI BISON (I57d9e، b/180818665)
الإصدار 1.0.0-rc03
24 شباط (فبراير) 2021
تم إصدار androidx.camera:camera-camera2:1.0.0-rc03
وandroidx.camera:camera-core:1.0.0-rc03
وandroidx.camera:camera-lifecycle:1.0.0-rc03
. يتضمّن الإصدار 1.0.0-rc03 عمليات الإيداع هذه.
إصلاح الأخطاء
- إصلاح خطأ التنسيق في مستند
ProcessCameraProvider#getInstance
- تم إصلاح تعذُّر اختبار Robolectric عند استخدام setAvailableCamerasLimiter في CameraXConfig.
- تم إصلاح مشكلة انخفاض أداء ImageCapture من خلال إزالة عملية التحقّق من الموقع الجغرافي المحفوظ للصورة قبل التقاطها. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق الحصول على ردّ الخطأ وقتًا أطول لأنّه سيحاول حفظ الصورة بعد التقاطها.
- يؤدي هذا التغيير إلى رصد الاستثناء عندما يبلغ الحد الأقصى لطابور الصور في ImageAnalysis. لذلك، بدلاً من التعطُّل، قد تلاحظ تجمّد حالات استخدام أخرى أو بطئها، مثل تجمّد المعاينة أو بطئها.
- تم تضمين حلّ بديل لبيانات الصور التالفة بشكل متقطّع في ملفات JPEG على الكاميرا الخلفية للهاتف SM-G930T. (I52001، b/159831206)
- يؤدي هذا التغيير إلى رصد الاستثناء عندما يبلغ الحد الأقصى لطابور الصور في ImageAnalysis. لذلك، بدلاً من التعطُّل، قد تلاحظ تجمّد حالات استخدام أخرى أو بطئها، مثل تجمّد المعاينة أو بطئها. (Ic12da، b/175851631)
- تم إصلاح مشكلة تعذُّر اختبار Robolectric عند استخدام setAvailableCamerasLimiter في CameraXConfig. (Ice307)
- تم إصلاح مشكلة انخفاض أداء ImageCapture من خلال إزالة عملية التحقّق من الموقع الجغرافي المحفوظ للصورة قبل التقاطها. بعد إجراء هذا التغيير، إذا كانت وجهة الحفظ غير صالحة، سيستغرق الحصول على ردّ الخطأ وقتًا أطول لأنّه سيحاول حفظ الصورة بعد التقاطها. (I1fd4e، b/177061560)
- تم إصلاح مشكلة انخفاض أداء ImageCapture عند استخدام OutputFileOptions من النوع "File". (I5164a، b/177061560)
الإصدار 1.0.0-rc02
27 يناير 2021
تم إصدار androidx.camera:camera-camera2:1.0.0-rc02
وandroidx.camera:camera-core:1.0.0-rc02
وandroidx.camera:camera-lifecycle:1.0.0-rc02
. يحتوي الإصدار 1.0.0-rc02 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة IllegalArgumentException التي تحدث عندما تكون جميع الأحجام المتوافقة مع المعاينة أصغر من 640x480 ويكون حجم الشاشة أكبر من 640x480. (b/150506192)
الحدّ من عدد محاولات إعادة فتح الكاميرا أثناء محاولة حلّ بعض المشاكل عند فتح الكاميرا، لن تحاول CameraX إعادة فتح الكاميرا إلى أجل غير مسمى، بل ستتوقف بعد إعادة المحاولة لمدة 10 ثوانٍ.I435d2
تم إصلاح المشكلة
IllegalArgumentException
التي كانت تحدث عندما تكون جميع الأحجام المتوافقة مع المعاينة أصغر من 640x480 ويكون حجم العرض أكبر من 640x480. (I2a63c، b/150506192)
الإصدار 1.0.0-rc01
16 كانون الأول (ديسمبر) 2020
تم إصدار androidx.camera:camera-camera2:1.0.0-rc01
وandroidx.camera:camera-core:1.0.0-rc01
وandroidx.camera:camera-lifecycle:1.0.0-rc01
. يحتوي الإصدار 1.0.0-rc01 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تم تغيير CameraFilter وCamera2Filter لتضمين CameraInfo. (I6883d)
- تمت إضافة فئة تجريبية Camera2CameraControl للسماح بالتوافق مع واجهات برمجة التطبيقات Camera2 API ديناميكيًا. (I45cf3)
- تمت إعادة تسمية Camera2CameraInfo#fromCameraInfo إلى #from. (Ia2bd6)
- تمت إضافة واجهة برمجة التطبيقات التجريبية setAvailableCamerasLimiter إلى CameraXConfig للسماح للتطبيقات بتحسين وقت استجابة الإعداد من خلال تجنُّب إعداد الكاميرات غير المستخدَمة. (I6cf88)
- تمت إضافة طريقة تجريبية
CameraXConfig.Builder#setMinimumLoggingLevel()
للسماح بضبط الحد الأدنى لمستوى التسجيل في سجلّات CameraX. في حال عدم ضبطها، يتم ضبطها تلقائيًا علىLog#DEBUG
. (Ic3245)
إصلاح الأخطاء
- تم تضمين حلّ بديل لمشكلة تلف بيانات الصور بشكل متقطّع في ملفات JPEG على الكاميرا الخلفية للهاتف SM-G930V. (I5aca5، b/159831206)
- تم إصلاح المشكلة التي لا يتم فيها تلقّي نتائج عند التقاط الصور عندما يكون الفلاش دائمًا/مفعّلاً والبيئة مظلمة على أجهزة Samsung SM-A716. (If98b2، b/172036589)
- تم إصلاح المشكلة التي لا يمكن فيها إيقاف المعاينة من خلال الاتصال بالرقم
Preview.setSurfaceProvider(null)
. (I3ac18) - تم إصلاح مشكلة الاتجاه عند التقاط صور بنسبة عرض إلى ارتفاع 4:3 على بعض الأجهزة. (I0e3fb، b/171492111)
الإصدار 1.0.0-beta12 من Camera Camera2 وCore وLifecycle
11 نوفمبر 2020
تم إصدار androidx.camera:camera-camera2:1.0.0-beta12
وandroidx.camera:camera-core:1.0.0-beta12
وandroidx.camera:camera-lifecycle:1.0.0-beta12
. يحتوي الإصدار 1.0.0-beta12 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إيقاف ميزة "الفلاش التلقائي" على أجهزة Samsung A3 لإصلاح عُطل يحدث عند التقاط صورة باستخدام وضع "التعرّض التلقائي للفلاش" على أجهزة Samsung A3. (Ia5fe3، b/157535165)
- تم إصلاح المشكلة التي كانت تؤدي إلى تمديد المعاينة على أجهزة Nexus 4 التي تعمل بالإصدار Android L (المستويان 21 و22 من واجهة برمجة التطبيقات). (I4d407، b/158749159)
- لم يعُد تنفيذ الفئة الأساسية
OnImageCapturedCallback#onCaptureSuccess
يغلق الصورة. يهدف ذلك إلى منع حدوث سلوك غير متوقّع للمطوّرين. يجب ألّا يعتمد المطوّرون على super.onCaptureSuccess لإغلاق الصورة. (Ifbf9c) - تم إيقاف الإصدار androidx من التعليق التوضيحي Experimental نهائيًا ليتوافق مع Kotlin. تم استبدالها بالتعليق التوضيحي RequiresOptIn، وتم تعديل أداة التدقيق اللغوي المتوافقة مع Java لتتوافق مع التعليق التوضيحي الجديد في Kotlin وإصدار androidx الجديد. (I52495، b/151331381)
Camera-Camera2 الإصدار 1.0.0-beta11
14 أكتوبر 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta11
. يتضمّن الإصدار 1.0.0-beta11 عمليات الدمج هذه.
الميزات الجديدة
- يتوافق مع واجهة برمجة التطبيقات
CONTROL_ZOOM_RATIO
لنظام التشغيل Android 11 على أجهزة Android 11 أو الإصدارات الأحدث التي تحتوي علىCONTROL_ZOOM_RATIO_RANGE
صالح. (I62cc6)
إصلاح الأخطاء
- تم إصلاح مشكلة NumberFormatException التي تحدث عندما يكون معرّف الكاميرا غير عدد صحيح. (Ib2228)
- تم تحسين وقت استجابة عملية تهيئة CameraX وbindToLifecycle (I61dc5).
- لا يتطلّب إنشاء UseCases إعداد CameraX
لإكمال العملية. يتم ضبط جميع الإعدادات الخاصة بالتنفيذ على UseCase بعد ربطها بمثيل Camera، وهو
ProcessCameraProvider.bindToLifecycle()
في واجهة برمجة التطبيقات العامة. (Ia5411) - ستعرض
<UseCase>.getTargetRotation()
القيمةSurface.ROTATION_0
إذا تم استدعاؤها قبل ربطها بمثيل Camera، إلا إذا تم ضبط targetRotation على Builder أو UseCase. (I80fcd)
إصدار Camera-Core 1.0.0-beta11
14 أكتوبر 2020
تم طرح androidx.camera:camera-core:1.0.0-beta11
. يتضمّن الإصدار 1.0.0-beta11 عمليات الدمج هذه.
الميزات الجديدة
- تتوافق مع واجهة برمجة التطبيقات CONTROL_ZOOM_RATIO
لنظام التشغيل Android 11 لتكبير الشاشة على أجهزة Android 11 أو الإصدارات الأحدث التي تحتوي على CONTROL_ZOOM_RATIO_RANGE
صالح. (I62cc6)
إصلاح الأخطاء
- تم إصلاح مشكلة NumberFormatException التي تحدث عندما يكون معرّف الكاميرا غير عدد صحيح. (Ib2228)
- لا يتطلّب إنشاء UseCases إعداد CameraX
لإكمال العملية. يتم ضبط جميع الإعدادات الخاصة بالتنفيذ على UseCase بعد ربطها بمثيل Camera، وهو
ProcessCameraProvider.bindToLifecycle()
في واجهة برمجة التطبيقات العامة. (Ia5411) - ستعرض
<UseCase>.getTargetRotation()
القيمةSurface.ROTATION_0
إذا تم استدعاؤها قبل ربطها بمثيل Camera، إلا إذا تم ضبط targetRotation على Builder أو UseCase. (I80fcd)
إصدار Camera-Core 1.0.0-beta10
23 سبتمبر 2020
تم طرح androidx.camera:camera-core:1.0.0-beta10
. يحتوي الإصدار 1.0.0-beta10 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إصلاح خطأ في التحقّق من صحة وجهة حفظ الملفات عند التقاط الصور (I8c565، b/167697553)
Camera-Camera2 الإصدار 1.0.0-beta10
23 سبتمبر 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta10
. يحتوي الإصدار 1.0.0-beta10 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إصدار متوافق مع Camera-Core 1.0.0-beta10
Camera-Camera2 Version 1.0.0-beta09
16 سبتمبر 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta09
. يحتوي الإصدار 1.0.0-beta09 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- بدلاً من توفير طرق ثابتة، تستقبل Camera2CameraInfo مثيلاً من CameraInfo عند إنشائه لاسترداد المعلومات ذات الصلة بـ Camera2. (I5b844)
إصلاح الأخطاء
- تم إصلاح مشكلة نسبة العرض إلى الارتفاع المستهدَفة على الأجهزة اللوحية. يجب اختيار حجم 16:9 عند ضبط نسبة العرض إلى الارتفاع المستهدَفة على
AspectRatio.RATIO_16_9
. (Ib7fcf، b/151969438) - اطرح
InitializationException
لكي يتمكّن التطبيق من التعامل مع AssertionError الذي حدث عند إنشاء CameraCharacteristics. (I89c8c، b/160524721) - تمت إضافة واجهات تجريبية لـ ExposureCompensation (If96c7)
Camera-Core الإصدار 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) - فرض استخدام TextureView في PreviewView إذا كانت ميزة المؤثرات الخارجية مفعّلة وكان تنفيذ مكتبة المورّد يتطلّب إجراء عملية خاصة على مساحة العرض. (I0c3cc)
- تم إصلاح مشكلة تسريب النشاط/الجزء عند تمرير سياق نشاط/جزء إلى
ProcessCameraProvider.getInstance(Context)
.
المشاكل المعروفة
- عند ضبط ViewPort، قد يكون مستطيل الاقتصاص في ImageCapture غير صحيح على الأجهزة التي تدور فيها مخزن الصور المؤقت في HAL. سيتم حلّ هذه المشكلة في الإصدار التالي.
Camera-Camera2 الإصدار 1.0.0-beta08
19 آب (أغسطس) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta08
. يحتوي الإصدار 1.0.0-beta08 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم تحسين bindToLifecycle لتنفيذه بسرعة في سلسلة المحادثات الرئيسية. (I1d57e)
- تتلقّى DisplayOrientedMeteringPointFactory مثيلاً من CameraInfo بدلاً من CameraSelector، لذا هناك ربط مباشر بالكاميرا التي ستنشئ المصنع نقاطًا لها. تتلقّى جميع الفئات التي تستخدم DisplayOrientedMeteringPointFactory أيضًا مثيلاً من CameraInfo بدلاً من CameraSelector. (I400c1)
- تم إصلاح مشكلة تجميع أحجام نسبة العرض إلى الارتفاع للدقة التلقائية، والتي يتم فيها اختيار حجم 16:9 mod16 (864x480) عندما يكون إعداد الدقة المستهدَفة 2016x1080 ويتوفّر حجم آخر 1920x1080 16:9 متوافق. (I53167، b/159363774)
- حلّ مشكلة CameraControl التي لا يمكنها العمل بسبب حالة سباق (I2279f وb/152333890 وb/160714166)
Camera-Core الإصدار 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 لا يعرض عنصر Application من
Context.getApplicationContext()
. (I3d3c9، b/160817073)
Camera-Camera2 Version 1.0.0-beta07
22 تموز (يوليو) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta07
. يحتوي الإصدار 1.0.0-beta07 على عمليات الدمج هذه.
إصلاح الأخطاء
- تم إصلاح المشكلة التي تتسبّب في تمديد المعاينة على جهاز قديم يعمل بالإصدار 5.0 من Android. (I0c03a)
- تم استبعاد بعض الأحجام المتوافقة مع JPEG والتي ستتسبّب في حدوث مشكلة WYSIWYG على بعض الأجهزة. (Ib5128)
الإصدار 1.0.0-beta07 من Camera-Core
22 تموز (يوليو) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta07
. يحتوي الإصدار 1.0.0-beta07 على عمليات الدمج هذه.
تغييرات واجهة برمجة التطبيقات
- دمج نمط اللياقة البدنية
FIT_CENTER
وFIT_START
وFIT_END
معFIT
FIT
تعني أنّ مستطيل الاقتصاص الذي تم عرضه سيكون أكبر مستطيل ممكن للمستشعر. (Ia73c3) - يتم ضبط مستطيل الاقتصاص الخاص بالمعاينة حسب إطار العرض. يجب أن يظهر للمستخدمين النهائيين فقط الجزء الذي يغطّيه مستطيل الاقتصاص. (I142a4)
إصلاح الأخطاء
- تم إصلاح المشكلة التي تتسبّب في تمديد المعاينة على جهاز قديم يعمل بالإصدار 5.0 من Android. (I0c03a)
- تم إصلاح الخطأ
ConcurrentModificationException
عند إلغاء ربط حالات الاستخدام. (I371c0)
Camera-Camera2 الإصدار 1.0.0-beta06
24 يونيو 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta06
. يحتوي الإصدار 1.0.0-beta06 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة واجهات تجريبية لفلترة الكاميرات حسب معرّف الكاميرا وCameraCharacteristics. (I28f61)
إصلاح الأخطاء
- تم إصلاح المشكلة المتمثّلة في تعذُّر تركيز الكاميرا بنجاح باستخدام طريقة startFocusAndMetering على هاتف Samsung Galaxy S7. (If3be7، b/159039233)
- تم إصلاح مشكلة عدم إمكانية إغلاق الكاميرا بعد الخروج من التطبيق. (I7a7b3)
- إصلاح مشكلة تكرار تبديل الكاميرا التي تؤدي إلى توقّف المعاينة عند استخدام تنفيذ SurfaceView لـ PreviewView (I920ce)
- سيتعذّر تنفيذ
CameraControl#startFocusAndMetering
إذا لم يتمكّن أي من MeteringPoint المحدّدة من إنشاء مستطيلات قياس صالحة. (Id53ce)
الإصدار 1.0.0-beta06 من Camera-Core
24 يونيو 2020
تم طرح androidx.camera:camera-core:1.0.0-beta06
. يحتوي الإصدار 1.0.0-beta06 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة واجهات تجريبية لفلترة الكاميرات حسب معرّف الكاميرا وCameraCharacteristics. (I28f61)
إصلاح الأخطاء
- يمكن الآن ضبط CameraX باستخدام
ProcessCameraProvider#configureInstance()
قبل استدعاءProcessCameraProvider#getInstance()
. يتيح ذلك تخصيصCameraXConfig
بدون الحاجة إلى تنفيذCameraXConfig.Provider
في فئة التطبيق. (Ia1a8d) - سيتعذّر تنفيذ
CameraControl#startFocusAndMetering
إذا لم يتمكّن أي من MeteringPoint المحدّدة من إنشاء مستطيلات قياس صالحة. (Id53ce)
Camera-Camera2 Version 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 من Camera-Core
10 يونيو 2020
تم طرح androidx.camera:camera-core:1.0.0-beta05
. يحتوي الإصدار 1.0.0-beta05 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- إصلاح الخطأ الذي يؤدي إلى تعطُّل التطبيق عند بدء تشغيله أثناء تهيئة CameraX عندما يكون الهاتف في وضع "عدم الإزعاج" سيتم ضبط
InitializationException
الذي يحتوي علىCameraUnavailableException
علىListenableFuture
لنتيجة عملية التهيئة بدلاً من إيقاف التطبيق. (I9909a، b/149413835)
إصلاح الأخطاء
- تم تعديل مستندات Javadoc الخاصة بـ
setTargetResolution
وsetTargetRotation
. (Iae16f)
Camera-Camera2 الإصدار 1.0.0-beta04
27 مايو 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta04
. يحتوي الإصدار 1.0.0-beta04 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم السماح للتطبيقات بضبط أي مَعلمات لطلب الالتقاط في camera2 من خلال
Camera2Interop
بدون حدوث عُطل. يُرجى العِلم أنّه قد تحدث مشاكل نتيجة إلغاء المعلَمات. لا يمكن ضمان الثبات والسلوك عند إلغاء المعلمات باستخدام Camera2Interop. (Ibe5a1، b/149103700) - تم إصلاح مشكلة بدء التشغيل التلقائي عند استخدام تطبيق على جهاز يستخدِم لغة زائفة. (I3bef3، b/154767663)
- تم تحويل سجلّ الأخطاء المرتبط بحالة الاستخدام المنفصل إلى سجلّ تصحيح الأخطاء في Camera2CameraImpl. (I1a565، b/154422490)
- تم إصلاح المشكلة التي تؤدي أحيانًا إلى ظهور الصورة التي تم التقاطها داكنة جدًا على الرغم من تفعيل الفلاش. (I5d9fa، b/149729613)
- إصلاح الخطأ الذي كان يؤدي إلى عدم إعادة اللف إلى الوراء في المخزن المؤقت في
ImageProxy
منImageCapture
(I0c455، b/153249512) - تم إصلاح المشاكل التي يحدث فيها ربط ImageCapture فقط: (1) تعذّر التقاط الصور باستخدام MAX_QUALITY، (2) تم إنشاء صور بجودة رديئة لأنّ ميزة "التعرّض التلقائي للضوء" لا تعمل. (I17782، b/145326998)
- تحسين موثوقية إعادة فتح الكاميرا عند قطع اتصال CameraX بسبب عملية أخرى أو مسار رمز آخر يستولي على الكاميرا (I1fbc3، b/153714651)
الإصدار 1.0.0-beta04 من Camera-Core
27 مايو 2020
تم طرح androidx.camera:camera-core:1.0.0-beta04
. يحتوي الإصدار 1.0.0-beta04 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تضيف هذه السمة واجهة برمجة تطبيقات تجريبية،
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
حيث كانت طلبات متعددة لضبط/محو أداة التحليل تؤدي إلى عدم تلقّي أداة التحليل للصور المطلوب تحليلها. (I6169f، b/151605317، b/153514544) - إصلاح الخطأ الذي كان يؤدي إلى عدم إعادة اللف إلى الوراء في المخزن المؤقت في
ImageProxy
منImageCapture
(I0c455، b/153249512) - تم إصلاح المشكلة المتمثّلة في عدم اختيار الكاميرا الأولى في القائمة المتوافقة من
CameraManager
دائمًا لاستخدامها. (I4c624، b/153418028) - تم إصلاح عُطل متقطّع ناتج عن عدم إيقاف الإعداد
Preview.SurfaceProvider
للسطح المطلوب سابقًا.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”
(I8e4e7، b/155936225)
Camera-Camera2 الإصدار 1.0.0-beta03
نيسان (أبريل) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta03
. يحتوي الإصدار 1.0.0-beta03 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إصلاحات لإتاحة إصدار
camera-core
الإصدار 1.0.0-beta03 من Camera-Core
نيسان (أبريل) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta03
. يحتوي الإصدار 1.0.0-beta03 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة في الإصدار التجريبي 03 حيث كان استدعاء
bindToLifecycle()
مع عدم توفّر أيUseCase
يؤدي إلى حدوث استثناء. وقد أدّى ذلك إلى منع استردادCamera
بدون ربطUseCase
.
Camera-Camera2 الإصدار 1.0.0-beta02
1 نيسان (أبريل) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta02
. يحتوي الإصدار 1.0.0-beta02 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح
ImageInfo.getRotationDegrees()
منImageProxy
الذي تم إنشاؤه بواسطةImageCapture
ليتطابق مع قيمة الدوران في اتجاه EXIF. (Id4281، b/150802561) - لم يعُد من الضروري ترتيب تبعيات CameraX بشكل صريح ضمن
build.gradle
لاستخدام عملية التنفيذ التلقائية في CameraX/Camera2. في الحالات التي يكون فيها تحديد التبعيات الدقيقة مطلوبًا، يمكن الآن تضمين جميع تبعيات CameraX في ملف الإصدار. (I46e88) - تم إصلاح المشكلة
IllegalArgumentException
التي تحدث على الأجهزة التي يكون فيها حجم العرض أصغر من 640x480. (Ife3f2، b/150506192) - تم إصلاح الخطأ
bindToLifecycle
لكي لا يعدّل UseCase إلا إذا تم ربطه بنجاح. في السابق، عند الاتصال بـbindToLifecycle
لإجراء عمليات حسابية متعلقة بدقة الوضوح، يتم تعديل UseCase. لم يعُد من الضروري تعديل UseCase لإجراء العمليات الحسابية (I78d9e)
الإصدار 1.0.0-beta02 من Camera-Core
1 نيسان (أبريل) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta02
. يحتوي الإصدار 1.0.0-beta02 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح
ImageInfo.getRotationDegrees()
منImageProxy
الذي تم إنشاؤه بواسطةImageCapture
ليتطابق مع قيمة الدوران في اتجاه EXIF. (Id4281، b/150802561) - تم إصلاح الخطأ
bindToLifecycle
لكي لا يعدّل UseCase إلا إذا تم ربطه بنجاح. في السابق، عند الاتصال بـbindToLifecycle
لإجراء عمليات حسابية متعلقة بدقة الوضوح، يتم تعديل UseCase. لم يعُد من الضروري تعديل UseCase لإجراء العمليات الحسابية (I78d9e) - تم إصلاح المشكلة المتمثّلة في عدم تعديل جلسة الالتقاط
Preview
الخاصة بحالة الاستخدام عند تغيير مساحة العرض المسبق بعد استدعاءPreview.setSurfaceProvider()
أكثر من مرة.
Camera-Camera2 الإصدار 1.0.0-beta01
26 شباط (فبراير) 2020
تم طرح androidx.camera:camera-camera2:1.0.0-beta01
. يحتوي الإصدار 1.0.0-beta01 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تمت إعادة تسمية
SurfaceRequest.setSurface(Surface)
إلىSurfaceRequest.provideSurface(Surface)
، وSurfaceRequest.setWillNotComplete()
إلىSurfaceRequest.willNotProvideSurface()
. (I224fe) - تم إصلاح مشكلة عدم صحة نسبة العرض إلى الارتفاع للصورة المحفوظة بعد تغيير قيمة التدوير المستهدَفة باستخدام
ImageCapture.setTargetRotation()
. (I474ea، b/148763432) - تم إصلاح عملية تهيئة صيغ التطبيق مع تفعيل ProGuard من خلال الاحتفاظ بالعلامة التي تضبط موفّر
CameraXConfig
التلقائي. (I2d6c1)
الإصدار 1.0.0-beta01 من Camera-Core
26 شباط (فبراير) 2020
تم طرح androidx.camera:camera-core:1.0.0-beta01
. يحتوي الإصدار 1.0.0-beta01 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تم استبدال
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
s لمدة الاستخدام فقط من خلال Camera2 (I9dac2) - تم إصلاح مشكلة المعاينة غير الواضحة على الأجهزة القديمة من خلال تعديل
CONTROL_AE_TARGET_FPS_RANGE
بشكلٍ صحيح. (1224638)
Camera-Core الإصدار 1.0.0-alpha10
10 شباط (فبراير) 2020
تم طرح androidx.camera:camera-core:1.0.0-alpha10
. يحتوي الإصدار 1.0.0-alpha10 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تم تعديل
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)
الإصدار 1.0.0-alpha09 من Camera-Camera2
22 يناير 2020
تم طرح androidx.camera:camera-camera2:1.0.0-alpha09
. يحتوي الإصدار 1.0.0-alpha09 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
إضافة مسار التشغيل التفاعلي camera2 لاستخراج رقم تعريف كاميرا Camera2 يمكنك استخراج معرّف الكاميرا من
CameraInfo
باستخدامCamera2CameraInfo.extractCameraId()
. يوضّح نموذج الرمز البرمجي التالي كيفية استخدام ذلك:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
يتطلّب الصف
Camera2CameraInfo
السمةExperimentalCamera2Interop
markerClass.
إصدار Camera-Core 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
كان من المحتمل أن يحدث عند استخدام واجهات برمجة التطبيقات الخاصة بالمصباح اليدوي والتكبير/التصغير. - تم إصلاح مشكلة عدم إمكانية اختيار درجات دقة أقرب إلى درجة الدقة المطلوبة عند توفّر حجم أبعاد mod16.
- تعمل واجهتا برمجة التطبيقات
startFocusMetering
وcancelFocusMetering
الآن كما هو موثّق، مع توقيت صحيح، وقد تعرضان أخطاء عند حدوثها. - تم إصلاح المشكلة التي كانت تحدث عند طلب درجة دقة مستهدَفة معيّنة مع نسبة عرض إلى ارتفاع مقصوصة على جهاز لا يتيح هذه الأحجام. سيتم الآن اختيار حجم غير مقصوص بدقة كافية لتلبية الطلب الأصلي عند توفّره.
Camera-Camera2 الإصدار 1.0.0-alpha08
18 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha08
. يحتوي الإصدار 1.0.0-alpha08 على عمليات الإيداع التالية.
المشاكل المعروفة
- لا تعمل جميع خيارات طلب الالتقاط في Camera2 عند استخدام Camera2 interop. إذا كان الخيار المطلوب غير متاح، يتعذّر بدء الجلسة وقد يحدث خطأ مثل هذا:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
إصلاح الأخطاء
- تم إصلاح مشكلة ظهور شاشة معاينة سوداء بعد تدوير الكاميرا أو تبديلها في مستويَي واجهة برمجة التطبيقات 21 و22.
تغييرات واجهة برمجة التطبيقات
- تجريبي: تمت إضافة مسار قابلية التشغيل التفاعلي camera2 لاستخراج رقم تعريف الكاميرا.
Camera-Core الإصدار 1.0.0-alpha08
18 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha08
. يحتوي الإصدار 1.0.0-alpha08 على عمليات الإيداع التالية.
المشاكل المعروفة
- قد تعرض التطبيقات التي تستخدم
PreviewView
أوCameraView
معاينة بنسبة عرض إلى ارتفاع غير صحيحة. يحدث ذلك بعد الإيقاف المؤقت أو الاستئناف على بعض الأجهزة التي تعمل بنظام التشغيل Android الكامل، مثل Pixel 2.
إصلاح الأخطاء
- تم تعديل المستندات الخاصة بـ
FocusMeteringAction
وCameraControl
. - تم تنفيذ
TorchControl
لـenableTorch()
وgetTorchState()
.
تغييرات واجهة برمجة التطبيقات
- تم إخفاء IntDefs ونقل ثوابت IntDef خارج تعريف IntDef.
- تم نقل
rotationDegrees
من الصفOnImageCaptureCallback
إلىImageInfo
. - تم نقل
rotationDegrees
من الصفAnalyzer
إلىImageInfo
.
Camera-Camera2 الإصدار 1.0.0-alpha07
4 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha07
. يحتوي الإصدار 1.0.0-alpha07 من camera-camera2 على عمليات الدمج هذه
- يتوفّر
Camera2Config
الآن للاستخدام مع إعداد وتنفيذ CameraX المستند إلى Camera2. يمكنك الاطّلاع على مزيد من التفاصيل حول كيفية استخدام هذا الخيار في عملية الإعداد في قسم camera-core من ملاحظات الإصدار. - تم الآن تصنيف وظيفة التشغيل التفاعلي camera2 على أنّها تجريبية ونقلها إلى حزمة منفصلة،
androidx.camera.camera2.interop.
Camera-Core الإصدار 1.0.0-alpha07
4 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha07
. يحتوي الإصدار 1.0.0-alpha07 من camera-core على عمليات الإكمال هذه
يُرجى العِلم أنّه تم إجراء بعض التغييرات المهمة في هذا الإصدار الأوّلي أثناء الاستعداد للإصدار التجريبي. ننصحك بمراجعة التغييرات ومشاركة أي ملاحظات لديك في مجموعة CameraX على Google. بالنسبة إلى المطوّرين الذين يستخدمون 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
Analyzer الرمز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
.
Camera-Camera2 وCamera-Core الإصدار 1.0.0-alpha06
9 أكتوبر 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha06
وandroidx.camera:camera-core:1.0.0-alpha06
. هذه هي عمليات الإيداع المضمّنة في camera-camera2:1.0.0-alpha06
، وهذه هي عمليات الإيداع المضمّنة في camera-core:1.0.0-alpha06
.
الميزات الجديدة
التغييرات التي طرأت على إعدادات نسب العرض إلى الارتفاع:
- تمت إضافة
setTargetAspectRatioMode()
وتقبل وسيطًا من النوع enum. يضبط هذا الخيار "وضع نسبة العرض إلى الارتفاع" مع الخيارَينRATIO_4_3
أوRATIO_16_9
بدلاً من نسبة عرض إلى ارتفاع عشوائية. يعكس هذا التعديل بشكل أفضل حقيقة أنّه يتم توفير نسب عرض إلى ارتفاع معيّنة فقط من الكاميرا، وليس أي نسبة عشوائية.- لا تتوفّر حاليًا سوى نسبتَي العرض إلى الارتفاع 16:9 و4:3. في حال استخدام نسبة العرض إلى الارتفاع 1:1، تتوفّر هذه الميزة من الكاميرا على أجهزة معيّنة فقط وبدرجات دقة محدودة. يجب أن تستخدم التطبيقات التي تصمّم واجهة أو معالجة بنسبة عرض إلى ارتفاع 1:1 الخيارات الأكثر مرونة 16:9 أو 4:3 وأن تقص العرض أو تعالج منطقة فرعية.
- تم تصميم نسب العرض إلى الارتفاع هذه لاستخدام الحد الأقصى لمساحة المستشعر.
- تمت إضافة
getTargetAspectRatio()
إلى واجهات برمجة التطبيقات الخاصة بإعداد حالات الاستخدام، ما يؤدي إلى عرض نسبة العرض إلى الارتفاع التي يستهدفها ناتج حالة الاستخدام. - تم تغيير الطريقة
setTargetAspectRatio(Rational aspectRatio)
في ImageCapture إلىsetTargetAspectRatioCustom(Rational aspectRatio)
. عند ضبط هذه السمة، يتم اقتصاص ناتج ImageCapture وفقًا لذلك.
واجهات برمجة التطبيقات الخاصة بالمنفّذ
- تقبل الدوال التالية مَعلمة منفِّذ، ما يسمح للتطبيق بالتحكّم في المنفِّذ الذي يتم تشغيل الدالة عليه.
Preview.setOnPreviewOutputUpdateListener()
API إذا لم يكن المنفّذ متاحًا لهذه الدالة، سيتم تنفيذها على سلسلة التعليمات الرئيسية.Preview.setOnPreviewOutputUpdateListener
FocusMeteringAction.Builder.setAutoFocusCallback
ImageAnalysis.setAnalyzer
ImageCapture.takePicture
CameraView.takePicture
CameraView.startRecording
VideoCapture.startRecording
تمت إضافة CameraInfo مع واجهات برمجة التطبيقات check Flash Available وSensor Rotation
تمت إضافة
CameraInfo
وطريقةgetCameraInfo
، ما يتيح للتطبيقات التحقّق مما إذا كانت العدسة المواجهة لـ CameraInfo متاحة وما إذا كان الفلاش متاحًا على تلك الكاميرا. مثلاً:try { CameraInfo cameraInfo = CameraX.getCameraInfo(currentCameraLensFacing); LiveData<Boolean> isFlashAvailable = cameraInfo.isFlashAvailable(); flashToggle.setVisibility(isFlashAvailable.getValue() ? View.VISIBLE : View.INVISIBLE); } catch (CameraInfoUnavailableException e) { Log.w(TAG, "Cannot get flash available information", e); flashToggle.setVisibility(View.VISIBLE); }
تمت إضافة
CameraInfo.getSensorRotationDegrees()
. توفّر هذه السمة اتجاه جهاز استشعار الكاميرا بالنسبة إلى الاتجاه الطبيعي للجهاز، أو بالنسبة إلى الاتجاه الموصوف بدوران Surface (الذي يصف الاتجاه بالنسبة إلى الاتجاه الطبيعي).
التغييرات في واجهة برمجة التطبيقات وإصلاحات الأخطاء
- نسب العرض إلى الارتفاع: لكل حالة استخدام، يجب أن تستدعي التطبيقات إحدى القيمتين
setTargetResolution()
أوsetTargetAspectRatio()
فقط. سيؤدي طلب كليهما على أداة الإنشاء نفسها إلى عرض خطأ.- ننصح بشكل عام باستخدام
setTargetAspectRatio()
استنادًا إلى تصميم واجهة مستخدم التطبيق. تستند الدقة المحدّدة إلى حالة الاستخدام. على سبيل المثال، تكون المعاينة قريبة من درجات دقة الشاشة، وتوفّر ميزة "التقاط الصور" صورًا ثابتة عالية الدقة. يمكنك الاطّلاع على جدول الدقّات التلقائية للحصول على مزيد من المعلومات. - استخدِم
setTargetResolution()
للحالات الأكثر تحديدًا، مثل عندما يكون الحد الأدنى (لتوفير الحساب) أو الحد الأقصى للدقة (لمعالجة التفاصيل) مطلوبًا.
- ننصح بشكل عام باستخدام
- Executor API: تمت إزالة طلب
setCallbackHandler()
من واجهات برمجة التطبيقات الخاصة بإعداد حالات الاستخدام. بدلاً من ذلك، يمكن للتطبيقات ضبط المنفّذ كمعلَمة في واجهات برمجة تطبيقات أخرى مختلفة تضبط دالة ردّ الاتصال. - تم تعديل التعليقات التوضيحية الفارغة لوظائف مختلفة.
- تم إصلاح مشكلة كانت تؤدي إلى ظهور الخطأ
java.lang.IllegalStateException at Camera$StateCallback.onError
عند فتح الكاميرا. - تم إصلاح مشكلة اختيار درجات دقة صغيرة جدًا (أقل من 640x480) عندما يطلب التطبيق درجات دقة أكبر أو تلقائية، ما يؤدي إلى ظهور صورة معاينة مقطّعة أو غير واضحة. يمكن للتطبيقات التي تحتاج تحديدًا إلى دقة عرض أصغر أن تطلبها بشكل صريح.
- تم إصلاح مشكلة ظهور شاشة سوداء في الكاميرا (تعذّر بدء تشغيل الكاميرا) بعد الرجوع من هدف أطلق تطبيق كاميرا آخر.
- تم إصلاح الخطأ الذي كان يظهر عند بدء التطبيقات أو إيقافها بشكل متكرر:
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
- تم إصلاح الخطأ التالي الذي يحدث عند إيقاف ImageAnalysis:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
- تمت إضافة اختبارات إضافية لمسار فصل الكاميرا.
- تحسين متانة نظام الاختبار عند إجراء اختبارات متتالية للكاميرا
Camera-Camera2 وCamera-Core الإصدار 1.0.0-alpha05
5 أيلول (سبتمبر) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha05
وandroidx.camera:camera-core:1.0.0-alpha05
. هذه هي عمليات الإيداع المُضمّنة في camera-camera2:1.0.0-alpha05، وهذه هي عمليات الإيداع المُضمّنة في camera-core:1.0.0-alpha05.
تغيير في واجهة برمجة التطبيقات: تمت إعادة تسمية متغيرات خطأ حالة الاستخدام:
- تمت إعادة تسمية
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()
تقبل إعدادات الضبط المختلفة الآن مَعلمات فارغة، وقد تعرض دوال الجلب المقابلة قيمة فارغة.
تم إصلاح مشكلة عند الاختبار على المحاكيات التي لا تتوافق مع إعدادات التركيز التلقائي/التعرّض التلقائي/توازن اللون الأبيض التلقائي.
تم إصلاح الخطأ الذي يؤدي إلى تعطُّل التطبيق عند تدوير الشاشة أثناء تحليل الصورة.
تم إصلاح الخطأ الذي يظهر فيه المعاينة باللون الأسود عند البدء (بدون بيانات الكاميرا)، أو بعد التدوير أو التبديل بين الكاميرا الأمامية والخلفية.
تمت إزالة اختبار حالات استخدام متعددة ومتزامنة لتحليل الصور. لضمان التوافق، يجب أن تربط التطبيقات حالة استخدام واحدة فقط لتحليل الصور.
تمت إضافة اختبارات robolectric الأولية للكاميرا الوهمية في حزمة اختبار الكاميرا (قيد التنفيذ).
تمت إزالة اختبار Camera2Inititalizer لأنّ تغطيته كانت غير واضحة أو مضلّلة.
Camera-Camera2 وCamera-Core الإصدار 1.0.0-alpha04
7 آب (أغسطس) 2019
تم طرح androidx.camera:camera-camera2:1.0.0-alpha04
وandroidx.camera:camera-core:1.0.0-alpha04
. يحتوي الإصدار 1.0.0-alpha04 على عمليات الإيداع هذه.
الميزات الجديدة
تغييرات في خيارات نسبة العرض إلى الارتفاع ودرجة الدقة
تهدف CameraX إلى إعداد جلسة كاميرا بنجاح. وهذا يعني أنّ CameraX تتنازل عن الدقة/نسب العرض إلى الارتفاع استنادًا إلى إمكانات الجهاز، وذلك من أجل بدء جلسة تسجيل كهدف أول، وبالتالي قد لا تتم الاستجابة للطلبات الدقيقة. قد يرجع ذلك إلى الأسباب التالية:
- الأجهزة التي لا تتوافق مع درجة الدقة المطلوبة
- مشاكل التوافق، مثل الأجهزة القديمة التي يجب استخدام دقة عرض معيّنة فيها لتعمل بشكل صحيح
- على بعض الأجهزة، لا تتوفّر بعض التنسيقات إلا بنسب عرض إلى ارتفاع معيّنة
- تفضيل استخدام "أقرب mod16" لترميز JPEG أو الفيديو الاطّلاع على
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
على الرغم من أنّ CameraX تنشئ الجلسة وتديرها، عليك دائمًا التحقّق من أحجام الصور التي تم عرضها في ناتج حالة الاستخدام في الرمز البرمجي وتعديلها وفقًا لذلك.
تم إجراء بعض التغييرات على إعدادات دقة الشاشة ونِسب العرض إلى الارتفاع، وذلك بهدف توضيح واجهة برمجة التطبيقات بشكل أكبر:
- يُعدّ الآن أنّ حالة استخدام المعاينة تتضمّن نسبة عرض إلى ارتفاع تلقائية تبلغ 4:3 في حال عدم ضبط أي نسبة.
- عندما تأخذ CameraX في الاعتبار داخليًا التغييرات في الدقة ونسب العرض إلى الارتفاع المطلوبة استنادًا إلى إمكانات الجهاز، تحاول أولاً الحفاظ على نسبة العرض إلى الارتفاع نفسها (كما هو محدّد من خلال أي من طلبات
setTargetAspectRatio
أوsetTargetResolution
). - يُعدّ إصدار "Nearest mod16" من درجة الدقة هو نسبة العرض إلى الارتفاع نفسها.
وضع "تحليل الصور" غير الحظر
- أصبح سلوك
ImageReaderMode.ACQUIRE_LATEST_IMAGE
الآن غير حاصِر. يحصل على أحدث صورة في قائمة الانتظار، ولكنّه يتجاهل الصور غير المستخدَمة باستمرار للسماح لخط أنابيب الكاميرا بتجنُّب الحظر. - يمكن أن تحتفظ أداة التحليل بصورة واحدة إلى أجل غير مسمى بدون إيقاف عملية المعالجة.
- إذا كان التطبيق يوفّر منفّذًا يحظر بعد ذلك، سيتم حظر حالة استخدام ImageAnalysis.
- يتصرف المنفّذ التلقائي الذي تم ضبطه داخليًا كمنفّذ غير حظر.
إصلاح الأخطاء
- تم إصلاح مشاكل انتهاء المهلة أثناء انتظار اكتمال عملية 3A عند التقاط الصور على الأجهزة التي لا تتضمّن ميزات التركيز التلقائي والتعرّض التلقائي للضوء وتوازن اللون الأبيض التلقائي
- تم إصلاح مشكلة تحدث عند التقاط الصور بسرعة باستخدام ImageCapture. إصلاح الخطأ:
java.lang.IllegalStateException: maxImages (2) has already been acquired
- تم إصلاح المشكلة التي لم يتم فيها استدعاء
setLensFacing
لحالة استخدام، ما أدّى إلى ظهورjava.lang.IllegalArgumentException: Unable to get camera ID for use case
. - تم إصلاح مشكلة تتطلّب فيها الأجهزة القديمة نسبة عرض إلى ارتفاع معيّنة كحدّ أقصى لدقة JPEG
- تم إصلاح المشكلة التي تحدث عند تشغيل التطبيق في الخلفية أثناء فتح الكاميرا
- تم إصلاح المشكلة في الإصدارات الأقدم من 25 من واجهة برمجة التطبيقات، وإزالة الخطأ
checkAndUpdateEglState: invalid current EGLDisplay
- تم إصلاح مشكلة إلغاء ربط المعاينة بعد تفعيل الإضافات وبدء استخدامها
- تم الآن نشر عناصر إنشاء الكاميرا وعناصر إنشاء إضافات الكاميرا كإصدارات أوّلية
Camera-Camera2 وCamera-Core الإصدار 1.0.0-alpha03
2 تموز (يوليو) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha03
وandroidx.camera:camera-camera2:1.0.0-alpha03
. يحتوي الإصدار 1.0.0-alpha03 على عمليات الإيداع التالية.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة توضيح javadoc بشأن "الهدف" في طلبات ضبط setTarget
Camera-Core
- تم إصلاح عُطل "سطح الإدخال/الإخراج" غير المضبوط عند الفتح/الإغلاق السريع أو الربط/إلغاء الربط
- الانتقال إلى عمليات تنفيذ جديدة للعقود الآجلة
- إصلاحات الاختبارات لإجراء اختبارات أكثر فعالية
- يعرض اختبار الدمج الأساسي الآن وقت التقاط الصور
- تطوير فئة توافق داخلية لـ Executors
- تنتظر ميزة "التقاط الصور في تطبيق اختبار التوقيت" اكتمال العملية السابقة، كما تم تحسين ثباتها.
الإضافات
- تمت إضافة عمليات التحقّق من الإصدار
- تغطية اختبارية إضافية - طلبات معاودة الاتصال بأحداث الإضافات
- تحسينات على الصور والبيانات الوصفية المتطابقة داخليًا
- إصلاحات للتبديل بين الأوضاع في تطبيق الاختبار
Camera-Camera2 وCamera-Core الإصدار 1.0.0-alpha02
5 يونيو 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha02
وandroidx.camera:camera-camera2:1.0.0-alpha02
. يحتوي الإصدار 1.0.0-alpha02 على عمليات الإيداع التالية.
إصلاح الأخطاء
- تم إصلاح مشكلة القسمة على صفر عند استخدام المحاكي
- تم إصلاح الخطأ NullPointerException/Surface Abandoned الذي يحدث على بعض الأجهزة عند التقاط الصور بسرعة أثناء إلغاء ربط حالات الاستخدام وإعادة ربطها بسرعة.
- تم إصلاح مشكلة داخلية لضمان أن تؤثر تعديلات طلب الالتقاط في جميع المساحات بشكلٍ متسق
- تحسينات على الثبات عند إعادة تشغيل حالات الاستخدام في مثيلات جديدة للتطبيق
- تغييرات في البنية الداخلية للاستعداد لإتاحة استخدام المنفّذين في واجهة برمجة التطبيقات
- توضيحات إضافية حول Javadoc بشأن فئة CameraX وإدارة مراحل النشاط
- تمت إضافة اختبارات قياس حالة التطبيق لتطبيق اختبار الأداء Antelope
- إزالة الحاجة إلى -keepattributes Signature في إعدادات Proguard للتطبيق
Camera-Camera2 وCamera-Core 1.0.0-alpha01
7 أيار (مايو) 2019
تم طرح androidx.camera:camera-core:1.0.0-alpha01
وandroidx.camera:camera-camera2:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 على عمليات الإيداع هذه.
Camera-Lifecycle Version 1.0.0-beta11
14 أكتوبر 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta11
. يتضمّن الإصدار 1.0.0-beta11 عمليات الدمج هذه.
إصلاح الأخطاء
- ستعرض
<UseCase>.getTargetRotation()
القيمةSurface.ROTATION_0
إذا تم استدعاؤها قبل ربطها بمثيل Camera، إلا إذا تم ضبط targetRotation على Builder أو UseCase. (I80fcd)
Camera-Lifecycle الإصدار 1.0.0-beta10
23 سبتمبر 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta10
. يحتوي الإصدار 1.0.0-beta10 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إصدار متوافق مع Camera-Core 1.0.0-beta10
Camera-Lifecycle Version 1.0.0-beta09
16 سبتمبر 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta09
. يحتوي الإصدار 1.0.0-beta09 على عمليات الإيداع هذه.
Camera-Lifecycle الإصدار 1.0.0-beta08
19 آب (أغسطس) 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta08
. يحتوي الإصدار 1.0.0-beta08 على عمليات الإيداع هذه.
إصلاح الأخطاء
- من المفترض ألا يحدث بعد ذلك عطل عند بدء التشغيل عند استخدام Context لا يعرض عنصر Application من
Context.getApplicationContext()
. (I3d3c9، b/160817073)
Camera-Lifecycle الإصدار 1.0.0-beta07
22 تموز (يوليو) 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta07
. يحتوي الإصدار 1.0.0-beta07 على عمليات الدمج هذه.
Camera-Lifecycle الإصدار 1.0.0-beta06
24 يونيو 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta06
. يحتوي الإصدار 1.0.0-beta06 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- يمكن الآن ضبط CameraX باستخدام ProcessCameraProvider#configureInstance() قبل استدعاء ProcessCameraProvider#getInstance(). يتيح ذلك تخصيص CameraXConfig بدون الحاجة إلى تنفيذ CameraXConfig.Provider في فئة التطبيق. (Ia1a8d)
Camera-Lifecycle الإصدار 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)
Camera-Lifecycle Version 1.0.0-beta04
27 مايو 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta04
. يحتوي الإصدار 1.0.0-beta04 على عمليات الإيداع هذه.
Camera-Lifecycle الإصدار 1.0.0-beta03
نيسان (أبريل) 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta03
. يحتوي الإصدار 1.0.0-beta03 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة في الإصدار التجريبي 03 حيث كان استدعاء
bindToLifecycle()
مع عدم توفّر أيUseCase
يؤدي إلى حدوث استثناء. وقد أدّى ذلك إلى منع استردادCamera
بدون ربطUseCase
. - إصلاحات لإتاحة إصدار
camera-core
Camera-Lifecycle الإصدار 1.0.0-beta01
26 شباط (فبراير) 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-beta01
. يحتوي الإصدار 1.0.0-beta01 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم تعديل المستندات للإشارة إلى أنّه عند الحصول على
ProcessCameraProvider
أثناء عملية التهيئة، يتم استخدام إعدادات تلقائية، وأنّ توسيعApplication
هو أمر اختياري. (I5e395)
Camera-Lifecycle الإصدار 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
.
Camera-Lifecycle Version 1.0.0-alpha10
10 شباط (فبراير) 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-alpha10
. يحتوي الإصدار 1.0.0-alpha10 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة التعليق التوضيحي
@MainThread
إلى طرق BindToLifecycle وunbind وunbindAll. (I990d2)
Camera-Lifecycle الإصدار 1.0.0-alpha03
22 يناير 2020
تم طرح androidx.camera:camera-lifecycle:1.0.0-alpha03
. يحتوي الإصدار 1.0.0-alpha03 على عمليات الإيداع التالية.
آخر الأخبار
- إصلاحات وتحديثات مختلفة لدعم التغييرات في Camera Core وCamera2
Camera-Lifecycle الإصدار 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
.
Camera-Lifecycle الإصدار 1.0.0-alpha01
4 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-lifecycle:1.0.0-alpha01
. يحتوي الإصدار 1.0.0-alpha01 من camera-lifecycle على عمليات الإكمال هذه
ملاحظات حول واجهة برمجة التطبيقات
- تمت إضافة العنصر Camera-lifecycle، ما يوفّر واجهة
LifeCycleCameraProvider
وتنفيذًا باسمProcessCameraProvider
يوفّر العديد من وظائف فئة CameraX السابقة في الحزمة الأساسية ويمكن الحصول عليه من خلال طريقةgetInstance()
. - يجب أن تتضمّن التطبيقات مكتبة دورة حياة الكاميرا لاستخدام CameraX.
- راجِع الملاحظات في قسم camera-core لمعرفة كيفية تنفيذ عملية تهيئة CameraX باستخدام
ProcessCameraProvider
.
Camera-Extensions وCamera-View الإصدار 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) - تعديل ملفات واجهة برمجة التطبيقات الخاصة بعنصر camera-extensions (If683a، b/161377155)
إصلاح الأخطاء
- عدم السماح للتطبيق بتفعيل أوضاع الإضافة عند ربط
VideoCapture
لا تتوافق "إضافات CameraX" إلا معImageCapture
وPreview
. لا يمكن استخدامVideoCapture
بعد. إذا كان التطبيق يربطVideoCapture
ويفعّل أي وضع من أوضاع الإضافة، سيتم عرضIllegalArgumentException
. (I0d87b) - لم يعُد
CameraSelector#filter
يعرض الخطأIllegalArgumentException
عندما تكون مجموعة النتائج فارغة. (I27804) - تمت إعادة تسمية واجهة برمجة التطبيقات
ExtensionsManager#getInstance
إلىgetInstanceAsync
لأنّها تعرضListenableFuture
. يمكن أن يوضّح اللاحقة Async في اسم الدالة أنّها دالة غير متزامنة. (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 إلى واجهة برمجة التطبيقات العامة لتصفية قائمة CameraInfo استنادًا إلى CameraSelector. (I105d0)
إصلاح الأخطاء
- تم إصلاح عُطل يحدث عند التبديل بين وضعَي الإضافات بسرعة على أجهزة معيّنة. (Iebbef)
الإصدار 1.0.0-alpha30
13 أكتوبر 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha30
وandroidx.camera:camera-view:1.0.0-alpha30
. يحتوي الإصدار 1.0.0-alpha30 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إضافة التعليق التوضيحي @RequiresApi(21) إلى جميع فئات CameraX وتمت إزالة minSdkVersion من ملف AndroidManifest.xml. سيسمح ذلك بدمج camera-core بسهولة في التطبيقات التي تتضمّن الإصدار 21 من حزمة minSdkVersion أو الإصدارات الأقل، ولكنها تريد استخدام مسارات الرموز البرمجية بشكل مشروط التي تعتمد على الإصدار 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 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي ExperimentalUseCaseGroup الآن بعد أن لم تعُد واجهات برمجة التطبيقات تجريبية. (I01ef5)
- إزالة
RotationProvider#removeAllListeners()
يُرجى استخدامRotationProvider#removeListener(...)
بدلاً منها. (Id9d4a) - تم تعديل فئة RotationReceiver: تم تغيير set/clear Listener إلى add/remove/removeAll، وإزالة صيغة setListener التي تستخدم سلسلة التعليمات الرئيسية تلقائيًا، وإضافة تعليق توضيحي للطُرق. (Ib1669)
إصلاح الأخطاء
- تمت إعادة تسمية ExtensionMode#BEAUTY إلى FACE_RETOUCH لعرض ما يتم تنفيذه من خلال وضع الإضافة بشكلٍ صحيح. (I61f54، b/198515274)
- تم إصلاح المشكلة التي تؤدي إلى إغلاق الكاميرا بشكل غير متوقّع عند استخدام عدة عناصر CameraController وPreviewView في نشاط واحد. (Ibfd18، b/197539358)
الإصدار 1.0.0-alpha28
18 أغسطس 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha28
وandroidx.camera:camera-view:1.0.0-alpha28
. يتضمّن الإصدار 1.0.0-alpha28 عمليات الدمج هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة التعليق التوضيحي ExperimentalUseCaseGroupLifecycle بعد أن لم تعُد واجهات برمجة التطبيقات تجريبية. (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
وExtensionsErrorListener وواجهات برمجة التطبيقات ذات الصلة في 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) - إضافة المزيد من ميزات Camera-core إلى CameraController: دوال الحصول على القيمة وتعيينها لنسبة العرض إلى الارتفاع المستهدَفة والدقة المستهدَفة ووضع الالتقاط وCameraControl والمنفّذين المخصّصين (Iea8f2)
- أضِف فئة RotationReceiver تتلقّى تغييرات دوران Surface. يمكن استخدام هذه السمة لضبط اتجاه الدوران المستهدف عندما يكون الجهاز في الوضع العمودي أو الأفقي الثابت. (Ib278f)
- تم عرض واجهات برمجة تطبيقات عامة جديدة getEstimatedCaptureLatencyRange في فئة ExtensionsManager. (I6a8ec)
- Deprecated ExtensionsErrorListener. في الوقت الحالي، تُستخدَم هذه الواجهة فقط لمراقبة ما إذا كانت هناك معاينة أو ImageCapture غير متوفّرة عند تفعيل أوضاع الإضافة. ستضيف CameraX تلقائيًا معاينة أو ImageCapture إضافية لتعمل وظائف الإضافة بشكل جيد. بعد ذلك، لن يتم الإبلاغ عن أي خطأ من خلال هذه الواجهة. (I47d9e)
- تم عرض واجهات برمجة التطبيقات العامة الجديدة ExtensionsManager getInstance وisExtensionAvailable وgetExtensionEnabledCameraSelector وإيقاف الفئات القديمة
<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 عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- أصبحت واجهات برمجة التطبيقات ExperimentalCameraFilter خارج مرحلة التجربة وأصبحت واجهات برمجة تطبيقات رسمية. ويمكن استخدامها بدون موافقة مشروحة. (I4bc94)
- أضِف أداة مساعدة تحوّل الإحداثيات بين حالات الاستخدام. مثال على الاستخدام: تحويل الإحداثيات التي تم رصدها في حالة استخدام ImageAnalysis وتسليط الضوء على العنصر الذي تم رصده في المعاينة (I63ab1، b/137515129)
- تمت إزالة
CameraView
. تم استبدال "CameraView
" بـ "CameraController
". يُرجى الاطّلاع على دليل نقل البيانات لمعرفة كيفية نقل البيانات. (Id5005)
إصلاح الأخطاء
- تم استبدال "
ExperimentalUseCaseGroupLifecycle
" بـ "ExperimentalUseCaseGroup
". (I3b2ef، b/159033688)
الإصدار 1.0.0-alpha24
21 أبريل 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha24
وandroidx.camera:camera-view:1.0.0-alpha24
. يحتوي الإصدار 1.0.0-alpha24 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم استبدال التعليق التوضيحي
@Experimental
بالتعليق التوضيحي@RequiresOptIn
لواجهات برمجة التطبيقات التجريبية. لاستدعاء واجهات برمجة التطبيقات التجريبية، استخدِمandroidx.annotation.OptIn
بدلاً منandroidx.annotation.experimental.UseExperimental
المتوقّفة نهائيًا. (Iff226) - تم إصلاح مشكلة تمديد PreviewView على هاتف Samsung J5 Prime (Ib10b6)
إضافات الكاميرا وإصدار العرض 1.0.0-alpha23
24 مارس 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha23
وandroidx.camera:camera-view:1.0.0-alpha23
. يحتوي الإصدار 1.0.0-alpha23 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- سيتم إيقاف CameraView نهائيًا. يُرجى استخدام
LifecycleCameraController
بدلاً منها. راجِع دليل نقل البيانات (Idac2c). - تمت إضافة التعليق التوضيحي FloatRange إلى setLinearZoom() (I69971)
إصلاح الأخطاء
- تم تثبيت إصدارات تابعة لعرض الكاميرا للاعتماد على عناصر الإصدار 1.0.0. لن يؤدي الاعتماد على Camera-view بعد الآن إلى ترقية Gradle تلقائيًا لعمليات تحليل التبعيات إلى أحدث إصدار من حِزم camera-core وcamera-camera2 وcamera-lifecycle، أي الإصدار 1.1.0، على الرغم من أنّ Camera-view لا يزال متوافقًا مع هذه الحِزم إذا تم ضبطها صراحةً لاستخدام الإصدار 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 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- إضافة دالة getter إلى CameraInfo في CameraController (Ib8138، b/178251727)
إصلاح الأخطاء
- تم إصلاح ExtensionsErrorListener للإبلاغ عن الأخطاء عند ربط Preview أو ImageCapture فقط. (I5ae39)
إضافات الكاميرا والإصدار 1.0.0-alpha21 من "عرض"
27 يناير 2021
تم طرح androidx.camera:camera-extensions:1.0.0-alpha21
وandroidx.camera:camera-view:1.0.0-alpha21
. يحتوي الإصدار 1.0.0-alpha21 على عمليات الإيداع هذه.
إصدار لدعم عناصر مكتبة الكاميرا الأخرى
إضافات الكاميرا وإصدار العرض 1.0.0-alpha20
16 كانون الأول (ديسمبر) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha20
وandroidx.camera:camera-view:1.0.0-alpha20
. يحتوي الإصدار 1.0.0-alpha20 على عمليات الإيداع هذه.
إصدار لدعم عناصر مكتبة الكاميرا الأخرى
Camera-Extensions & Camera-View Version 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)
Camera-Extensions Version 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
إذا تم استدعاؤها قبل ربطها بمثيل Camera، إلا إذا تم ضبط targetRotation على Builder أو UseCase. (I80fcd)
الإصدار 1.0.0-alpha18 من Camera-View
14 أكتوبر 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha18
. يتضمّن الإصدار 1.0.0-alpha18 عمليات الإيداع هذه.
إصدار لدعم عناصر مكتبة الكاميرا الأخرى
إصدار Camera-Extensions 1.0.0-alpha17
23 سبتمبر 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha17
. يحتوي الإصدار 1.0.0-alpha17 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إصدار متوافق مع Camera-Core 1.0.0-beta10
الإصدار 1.0.0-alpha17 من Camera-View
23 سبتمبر 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha17
. يحتوي الإصدار 1.0.0-alpha17 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إصدار متوافق مع Camera-Core 1.0.0-beta10
الإصدار 1.0.0-alpha16 من Camera-Extensions
16 سبتمبر 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha16
. يحتوي الإصدار 1.0.0-alpha16 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تمت إضافة طريقة في
ExtensionsManager
للحصول على عنصرExtensions
يُستخدَم لتفعيل الإضافات والاستعلام عنها في مثيلات الكاميرا (I4fb7e)
الإصدار 1.0.0-alpha16 من Camera-View
16 سبتمبر 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha16
. يحتوي الإصدار 1.0.0-alpha16 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- تمت إزالة
PreviewView#setDeviceRotationForRemoteDisplayMode()
وPreviewView#getDeviceRotationForRemoteDisplayMode()
. الطريقتان مخصّصتان لتخصيص تدوير المعاينة، عندما لا يكون التدوير المطلوب هو تدوير الشاشة، مثل شاشة العرض عن بُعد. للتعامل مع تدوير المعاينة غير المعروضة الآن، اضبط التدوير المطلوب باستخدامPreview#setTargetRotation()
وPreviewView#getViewPort(targetRotation)
الذي تمت إضافته حديثًا. (Ib62cc) - تمت إعادة تسمية "
createSurfaceProvider()
" إلى "getSurfaceProvider()
". ستعرض الطريقة دائمًا مثيلاً واحدًا من Preview.SurfaceProvider. (Iff83c)
إصلاح الأخطاء
- فرض استخدام TextureView في PreviewView إذا كانت ميزة المؤثرات الخارجية مفعّلة وكان تنفيذ مكتبة المورّد يتطلّب إجراء عملية خاصة على مساحة العرض. (I0c3cc)
- السماح بتدوير الهدف بشكل عشوائي في "المعاينة" يتم احتساب معلومات التحويل وإرجاعها إلى المستخدم في الوقت الفعلي من خلال وظيفة ردّ الاتصال الجديدة
TranformationInfoListener
. (I21470)
المشاكل المعروفة
- في PreviewView، لا يتم استدعاء
OnClickListener#onClick()
عندما ينقر المستخدم النهائي على PreviewView. يتم استهلاك حدث اللمس عن طريق الخطأ من خلال PreviewView#onTouchEvent(). سيتم حلّ المشكلة في الإصدار التالي. - قد تكون قيمة MeteringPoint التي تم الحصول عليها من
PreviewView#getMeteringPointFactory()
غير صحيحة إذا تم استخدام ViewPort مع PreviewView.
الإصدار 1.0.0-alpha15 من Camera-Extensions
19 آب (أغسطس) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha15
. يحتوي الإصدار 1.0.0-alpha15 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تتلقّى الطريقة
ExtensionsManager.init()
الآن Context كمَعلمة بدلاً من عدم تلقّي أي وسيطات. (Ife754) من المفترض ألا يحدث بعد ذلك عطل عند بدء التشغيل عند استخدام Context الذي لا يعرض عنصر Application من
Context.getApplicationContext()
. (I3d3c9، b/160817073)الإصدار 1.0.0-alpha15 من Camera-View
19 آب (أغسطس) 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha15
. يحتوي الإصدار 1.0.0-alpha15 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تتلقّى
DisplayOrientedMeteringPointFactory
مثيلاً منCameraInfo
بدلاً منCameraSelector
، لذا هناك ربط مباشر بالكاميرا التي سينشئ المصنع نقاطًا لها. تتلقّى جميع الفئات التي تستخدمDisplayOrientedMeteringPointFactory
أيضًا مثيلاً منCameraInfo
بدلاً منCameraSelector
. (I400c1) - تمت إزالة
TextureViewMeteringPointFactory
. توفّرPreviewView
واجهة برمجة تطبيقات عامة (createMeteringPointFactory()
) لإنشاء مصنع لنقاط القياس بغض النظر عمّا إذا كان يستخدمTextureView
أوSurfaceView
. (Ide693) - إعادة تسمية أوضاع التنفيذ
SURFACE_VIEW
/TEXTURE_VIEW
في PreviewView إلىPERFORMANCE
/COMPATIBLE
، حيث يمثّلPERFORMANCE
الوضع القديمSURFACE_VIEW
، ويمثّلCOMPATIBLE
الوضع القديمTEXTURE_VIEW
(I0edc2) - لالتقاط الصور، يجب استبدال علامة "قلب الصورة أفقيًا" في البيانات الوصفية استنادًا إلى اتجاه الكاميرا. (I28499)
الإصدار 1.0.0-alpha14 من Camera-Extensions
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 من Camera-Extensions
24 يونيو 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha13
. يحتوي الإصدار 1.0.0-alpha13 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تمت إضافة واجهات تجريبية لفلترة الكاميرات حسب معرّف الكاميرا وCameraCharacteristics. (I28f61)
الإصدار 1.0.0-alpha13 من Camera-View
24 يونيو 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha13
. يحتوي الإصدار 1.0.0-alpha13 على عمليات الإيداع هذه.
إصلاح الأخطاء
- لم يعُد تطبيق CameraView يتعطّل بسبب حدوث IllegalArgumentException عند الربط بـ LifecycleOwner الذي ينتقل Lifecycle الخاص به إلى حالة DESTROYED بعد فترة قصيرة من الربط. لن تتم محاولة فتح الكاميرا عند ربط دورات الحياة بحالة DESTROYED. (I7c2b8)
- أصبح PreviewView StreamState متاحًا الآن من خلال CameraView.getPreviewStreamState() (I21a2b)
Camera-Extensions Version 1.0.0-alpha12
10 يونيو 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha12
. يحتوي الإصدار 1.0.0-alpha12 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إصلاح الخطأ الذي يؤدي إلى تعطُّل التطبيق عند بدء تشغيله أثناء تهيئة CameraX عندما يكون الهاتف في وضع "عدم الإزعاج" سيتم ضبط
InitializationException
الذي يحتوي علىCameraUnavailableException
علىListenableFuture
لنتيجة عملية التهيئة بدلاً من إيقاف التطبيق. (I9909a، b/149413835)
الإصدار 1.0.0-alpha12 من Camera-View
10 يونيو 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha12
. يحتوي الإصدار 1.0.0-alpha12 على عمليات الإيداع هذه.
إصلاح الأخطاء
- أضِف واجهة برمجة التطبيقات
PreviewView#getBitmap()
التي تعرض تمثيلاً بتنسيق Bitmap للمحتوى المعروض على مساحة المعاينة. (I9b500 وb/157659818)
Camera-Extensions Version 1.0.0-alpha11
27 مايو 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha11
. يحتوي الإصدار 1.0.0-alpha11 على عمليات الإيداع هذه.
الإصدار 1.0.0-alpha12 من Camera-View
10 يونيو 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha12
. يحتوي الإصدار 1.0.0-alpha12 على عمليات الإيداع هذه.
الميزات الجديدة
تغييرات واجهة برمجة التطبيقات
إصلاح الأخطاء
- أضِف واجهة برمجة التطبيقات
PreviewView#getBitmap()
التي تعرض تمثيلاً بتنسيق Bitmap للمحتوى المعروض على مساحة المعاينة. (I9b500 وb/157659818)
Camera-View الإصدار 1.0.0-alpha11
27 مايو 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha11
. يحتوي الإصدار 1.0.0-alpha11 على عمليات الإيداع هذه.
تغييرات واجهة برمجة التطبيقات
- أضِف واجهة برمجة التطبيقات
PreviewView#getPreviewStreamState
التي تتيح للتطبيقات معرفة ما إذا كان يتم بث المعاينة أم لا. عندما يكون العنصر PreviewView في وضع TEXTURE_VIEW، تضمن حالة STREAMING أيضًا أن تكون صورة المعاينة مرئية. (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()
للسماح بحفظ الصور فيUri
وOutputStream
عدِّل تطبيق الاختبار لاستخدامUri
كمثال أساسي. (Ia2459، b/153607583) - يمكنك ضبط نوع مقياس PreviewView من تنسيق XML عن طريق ضبط السمة
ScaleType
. (I08565، b/153015659) - تمت إزالة
CameraView.ScaleType
. بدلاً من ذلك، استخدِمPreviewView.ScaleType
لضبط نوع المقياس أو الحصول عليه باستخدام CameraView. (Ia8974، b/153014831) - امنح
PreviewView
لون خلفية تلقائيًا إذا لم يكن لديه لون خلفية. يمنع ذلك ظهور المحتوى الذي يقع خلفه قبل بدء بث المعاينة. (I09fad)
Camera-Extensions الإصدار 1.0.0-alpha10
نيسان (أبريل) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha10
. يحتوي الإصدار 1.0.0-alpha10 على عمليات الإيداع هذه.
إصلاح الأخطاء
- إصلاحات لدعم إصدار Camera-Core
Camera-View الإصدار 1.0.0-alpha10
نيسان (أبريل) 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha010
. يحتوي الإصدار 1.0.0-alpha010 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم إصلاح مشكلة معروفة سابقة كانت تتسبب في عدم عمل تنفيذ
PreviewView
surfaceView بشكل جيد على أجهزة معيّنة، ما يؤدي إلى تعطُّل التطبيق بعد استئناف المعاينة. (I5ed6b)
الإصدار 1.0.0-alpha09 من Camera-Extensions
1 نيسان (أبريل) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha09
. يحتوي الإصدار 1.0.0-alpha09 على عمليات الإيداع هذه.
إصلاح الأخطاء
- تم تعديلها لتتوافق مع إصلاحات الأخطاء في عناصر
camera-camera2:1.0.0-beta02
وcamera-core:1.0.0-beta02
وcamera-lifecycle:1.0.0-beta02
الإصدار 1.0.0-alpha09 من Camera-View
تم إصدار التحديث في 1 نيسان (أبريل) 2020
androidx.camera:camera-view:1.0.0-alpha09
. يحتوي الإصدار 1.0.0-alpha09 على عمليات الإيداع هذه.
المشاكل المعروفة
- قد لا يعمل استخدام
ImplementationMode.SURFACE_VIEW
معPreviewView
بشكل جيد على بعض الأجهزة، وذلك لأنّSurfaceView
المستخدَم للمعاينة يبطل سطحه عند إيقاف دورة حياة النافذة التي يظهر فيها، وعند إعادة تشغيلها، تتم إعادة فتح الكاميرا وقد تحاول استئناف المعاينة قبل أن يصبح سطحSurfaceView
صالحًا مرة أخرى. في الوقت الحالي، عليك استخدامImplementationMode.TEXTURE_VIEW
.
تغييرات واجهة برمجة التطبيقات
- تمت إعادة تسمية "
PreviewView.setImplementationMode()
" إلى "PreviewView.setPreferredImplementationMode()
". - تمت إعادة تسمية "
PreviewView.getImplementationMode()
" إلى "PreviewView.getPreferredImplementationMode()
". - تم استبدال
PreviewView.getSurfaceProvider()
بـPreviewView.createSurfaceProvider(CameraInfo)
، الذي يأخذ مثيلاً قابلاً للتصغير منCameraInfo
يُستخدَم لتحسين المعاينة باستخدامImplementationMode.SURFACE_VIEW
كلما أمكن ذلك. في حال تمرير مثيل فارغ أو ضبط وضع التنفيذ المفضّل علىImplementationMode.TEXTURE_VIEW
، يتم استخدامImplementationMode.TEXTURE_VIEW
داخليًا. يوضّح نموذج الرمز البرمجي التالي كيف كانت تتم سابقًا معالجة حالة استخدام المعاينة باستخدام PreviewView.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
في الوقت الحالي، يمكنك كتابة ما يلي:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
تمت إضافة التعليق التوضيحي
@UiThread
إلىPreviewView.getSurfaceProvider()
، ما يعني أنّه يجب استدعاؤه من سلسلة التعليمات الرئيسية. (I192f3)تمت إضافة
PreviewView.setScaleType()
التي تتيح ضبط نوع المقياس الخاص بالمعاينة. تقبل هذه السمة إحدى القيم فيPreviewView.ScaleType
، وتكون القيمة التلقائيةPreviewView.ScaleType.FILL_CENTER
.تمت إضافة "
PreviewView.getScaleType()
".تمت إزالة إمكانية ضبط وضع التنفيذ لـ
PreviewView
في تصميم XML باستخدام السمةimplementationMode
.أضِف واجهة برمجة التطبيقات
createMeteringPointFactory()
إلى PreviewView لإتاحة تحويل (x, y) فيPreviewView
إلىMeteringPoint
. (Ib36d7)
إصلاح الأخطاء
- تم إصلاح الحالات التي يتم فيها عرض معاينة غير صحيحة بعد تغيير حجم
PreviewView
. (I71101)
الإصدار 1.0.0-alpha08 من Camera-Extensions
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)
Camera-Extensions Version 1.0.0-alpha07
10 شباط (فبراير) 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha07
. يحتوي الإصدار 1.0.0-alpha07 على عمليات الإيداع التالية.
إصلاح الأخطاء
- تم الآن استبدال الوسيطَين اللذين تم تمريرهما سابقًا في
ImageCapture.OnImageSavedCallback.onError()
وImageCapture.OnImageCapturedCallback.onError()
بوسيط واحدImageCaptureException
، والذي لا يزال يحتوي على جميع المعلومات التي تم تمريرها سابقًا. - تمت إزالة وسيطة الملف التي تم تمريرها سابقًا في
ImageCapture.OnImageSavedCallback.onImageSaved()
. (I750d2)
الإصدار 1.0.0-alpha07 من Camera-View
10 شباط (فبراير) 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha07
. يحتوي الإصدار 1.0.0-alpha07 على عمليات الإيداع التالية.
تغييرات واجهة برمجة التطبيقات
- تضبط عملية تنفيذ
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 من Camera-Extensions
22 يناير 2020
تم طرح androidx.camera:camera-extensions:1.0.0-alpha06
. يحتوي الإصدار 1.0.0-alpha06 على عمليات الإيداع هذه.
آخر الأخبار
- إصلاحات وتحديثات مختلفة لدعم التغييرات في Camera Core وCamera2
الإصدار 1.0.0-alpha06 من Camera-View
22 يناير 2020
تم طرح androidx.camera:camera-view:1.0.0-alpha06
. يحتوي الإصدار 1.0.0-alpha06 على عمليات الإيداع هذه.
آخر الأخبار
- إصلاحات وتحديثات مختلفة لدعم التغييرات في Camera Core وCamera2
إصدار Camera-Extensions 1.0.0-alpha05
18 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-extensions:1.0.0-alpha05
. يتضمّن الإصدار 1.0.0-alpha05 عمليات الدمج التالية.
إصلاح الأخطاء
- تم تعديلها لتتطابق مع واجهات برمجة التطبيقات الداخلية Camera Core API.
الإصدار 1.0.0-alpha05 من Camera-View
18 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-view:1.0.0-alpha05
. يتضمّن الإصدار 1.0.0-alpha05 عمليات الدمج التالية.
المشاكل المعروفة
- قد تكون نسبة العرض إلى الارتفاع غير صحيحة عند استخدام PreviewView (b/146215202).
الميزات الجديدة
- تم تنفيذ فئة جديدة باسم
PreviewView.TextureViewImplementation
تعمل على مزامنة دورة حياة SurfaceTexture مع استخدام الكاميرا لسطح TextureView.
إصدار Camera-Extensions 1.0.0-alpha04
4 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-extensions:1.0.0-alpha04
. يحتوي الإصدار 1.0.0-alpha04 من camera-extensions على عمليات الدمج التالية
تغييرات واجهة برمجة التطبيقات
يتطلّب التحقّق من توفّر إضافة وتفعيلها الآن إدخال
CameraSelector
كمعلَمة إدخال. يجب أن يكون هذا هوCameraSelector
نفسه المستخدَم لربط حالة الاستخدام.val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA val builder = ImageCapture.Builder() val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder) if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) { bokehImageCaptureExtender.enableExtension(cameraSelector) } val imageCapture = builder.build() mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
يجب تهيئة الإضافات قبل استخدام مكتبة الإضافات.
val availability = ExtensionsManager.init() Futures.addCallback<ExtensionsManager.ExtensionsAvailability>( availability, object : FutureCallback<ExtensionsManager.ExtensionsAvailability> { override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) { // Ready to make extensions calls } override fun onFailure(throwable: Throwable) { // Extensions could not be initialized } }, Executors.newSingleThreadExecutor() )
الإصدار 1.0.0-alpha04 من Camera-View
4 كانون الأول (ديسمبر) 2019
تم طرح androidx.camera:camera-view:1.0.0-alpha04
. يحتوي الإصدار 1.0.0-alpha04 من camera-view على عمليات الإيداع هذه
تغييرات واجهة برمجة التطبيقات
- يتم توفير فئة
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
Camera-Extensions وCamera-View الإصدار 1.0.0-alpha02
5 أيلول (سبتمبر) 2019
تم طرح androidx.camera:camera-extensions:1.0.0-alpha02
وandroidx.camera:camera-view:1.0.0-alpha02
. في ما يلي
عمليات الدمج المُضمّنة في الإصدار camera-extensions:1.0.0-alpha02
وفي ما يلي عمليات الدمج المُضمّنة في الإصدار
camera-view:1.0.0-alpha02.
- تمت إضافة اختبارات للتحقّق من أنّ
PreviewImageProcessorImpl
قد نفّذت الطوابع الزمنية بشكل صحيح. - إصلاح مشكلة تعذُّر إجراء اختبار
ExtensionTest
على جهاز Nexus 5 (المستوى 21 من واجهة برمجة التطبيقات) والتأكّد من توفُّر المعاينة
Camera-Extensions وCamera-View الإصدار 1.0.0-alpha01
7 آب (أغسطس) 2019
تم طرح androidx.camera:camera-extensions:1.0.0-alpha01
وandroidx.camera:camera-view:1.0.0-alpha01
.
هذه هي
عمليات الدمج المُضمّنة في الإصدار camera-extensions:1.0.0-alpha01
وهذه هي عمليات الدمج المُضمّنة في الإصدار
camera-view:1.0.0-alpha01
- مكتبة جديدة خاصة بإضافات الكاميرا المستقبلية للوصول إلى التأثيرات على الأجهزة المتوافقة لا تزال هذه المكتبة قيد التطوير.
- فئة "عرض الكاميرا" الجديدة لا تزال هذه المكتبة قيد التطوير.