CameraX

‫CameraX هي إضافة إلى Jetpack تسهّل إضافة إمكانات الكاميرا إلى تطبيقك. توفّر المكتبة عددًا من إصلاحات التوافق والحلول البديلة للمساعدة في توفير تجربة متسقة للمطوّرين على العديد من الأجهزة.

يسرد هذا الجدول جميع العناصر في المجموعة 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 -
تم إجراء آخر تعديل على هذه المكتبة في: 16 يوليو 2025

اختبار الجهاز

يتم اختبار 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 على عمليات الدمج هذه.

تغييرات واجهة برمجة التطبيقات

  • إعادة تسمية ViewfinderImplementationMode 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 الذي يعرض بثًا للمعاينة من CameraX SurfaceRequest من 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

الإصدار 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)
  • تمت إضافة واجهات برمجة تطبيقات عامة للكاميرا المزدوجة المتزامنة، بما في ذلك
    1. List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
    2. ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
    3. 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 على UseCase VideoCapture، وسيتم تطبيق التأثيرات التي تستهدف 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 Encoding BitRate و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-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 من خلال ضمان الاحتفاظ بـ Surfaces لمدة الاستخدام فقط من خلال 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-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 على عمليات الإيداع هذه.

إصلاح الأخطاء

الإصدار 1.0.0-alpha17 من Camera-View

‫23 سبتمبر 2020

تم طرح androidx.camera:camera-view:1.0.0-alpha17. يحتوي الإصدار 1.0.0-alpha17 على عمليات الإيداع هذه.

إصلاح الأخطاء

الإصدار 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

  • مكتبة جديدة خاصة بإضافات الكاميرا المستقبلية للوصول إلى التأثيرات على الأجهزة المتوافقة لا تزال هذه المكتبة قيد التطوير.
  • فئة "عرض الكاميرا" الجديدة لا تزال هذه المكتبة قيد التطوير.