CameraX

‫CameraX افزونه‌ای برای Jetpack است که افزودن قابلیت‌های دوربین به برنامه را آسان‌تر می‌کند. این کتابخانه تعدادی اصلاحات سازگاری و راه‌حل‌های موقت ارائه می‌دهد تا به ایجاد تجربه توسعه‌دهنده یکسان در بسیاری از دستگاه‌ها کمک کند.

این جدول همه مصنوعات موجود در گروه androidx.camera را فهرست می‌کند.

آرتیفکت نسخه پایدار نامزد انتشار انتشار نسخه بتا نسخه آلفا
camera-camera2 ۱.۶.۲ 1.7.0-rc01 - -
camera-core ۱.۶.۲ 1.7.0-rc01 - -
camera-compose ۱.۶.۲ 1.7.0-rc01 - -
camera-effects ۱.۶.۲ 1.7.0-rc01 - -
camera-extensions ۱.۶.۲ 1.7.0-rc01 - -
camera-feature-combination-query - - - 1.5.0-alpha06
camera-feature-combination-query-play-services - - - 1.5.0-alpha06
camera-lifecycle ۱.۶.۲ 1.7.0-rc01 - -
camera-mlkit-vision ۱.۶.۲ 1.7.0-rc01 - -
نمای دوربین ۱.۶.۲ 1.7.0-rc01 - -
نمایاب دوربین - - 1.3.0-beta02 1.4.0-alpha07
دوربین-ویدیو ۱.۶.۲ 1.7.0-rc01 - -
این کتابخانه آخرین‌بار در این تاریخ به‌روزرسانی شده است: ۲۱ اکتبر ۲۰۲۶

آزمایش دستگاه

CameraX در دستگاه‌های زیادی در آزمایشگاه ما آزمایش شده است. برای دیدن فهرست دستگاه‌هایی که درحال‌حاضر در آزمایشگاه هستند، به دستگاه‌های آزمایش‌شده در آزمایشگاه CameraX مراجعه کنید.

اعلام وابستگی‌ها

برای افزودن وابستگی به CameraX، باید مخزن Google Maven را به پروژه‌تان اضافه کنید. برای اطلاعات بیشتر، مخزن Maven در Google را بخوانید.

وابستگی‌های مصنوعات موردنیازتان را در فایل build.gradle برای برنامه یا واحدتان اضافه کنید:

گرووی

dependencies {
  // CameraX core library using the camera2 implementation
  def camerax_version = "1.7.0-alpha03"
  // 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}"
}

کاتلین

dependencies {
    // CameraX core library using the camera2 implementation
    val camerax_version = "1.7.0-alpha03"
    // 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 را ببینید.

Camera Viewfinder Compose نسخه ۱.۰

نسخه 1.0.0-alpha02

‫۱۲ ژوئن ۲۰۲۴

‫androidx.camera:camera-viewfinder-compose:1.0.0-alpha02 منتشر شده است. نسخه 1.0.0-alpha02 حاوی این ارسال‌ها است.

نسخه 1.0.0-alpha01

‫۱۴ مه ۲۰۲۴

‫androidx.camera:camera-viewfinder-compose:1.0.0-alpha01 منتشر شده است. نسخه 1.0.0-alpha01 حاوی این ارسال‌ها است.

ویژگی‌های جدید

  • کتابخانه جدید. این کتابخانه یک Viewfinder composable بومی Compose را معرفی می‌کند که می‌تواند با CameraX و Camera2 استفاده شود. Viewfinder ترکیب‌پذیر از نسبت‌های ابعادی مختلف و مدیریت رویدادهای لمسی پشتیبانی می‌کند.

نمایاب دوربین نسخه ۱.۴

نسخه 1.4.0-alpha07

‫۱۲ ژوئن ۲۰۲۴

‫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

‫۱۴ مه ۲۰۲۴

‫androidx.camera:camera-viewfinder:1.4.0-alpha06 و androidx.camera:camera-viewfinder-core:1.4.0-alpha06 منتشر شده‌اند. نسخه 1.4.0-alpha06 حاوی این موارد ثبت است.

تغییرات میانای برنامه‌سازی کاربردی

  • نام ImplementationMode Enums مربوط به Viewfinder را تغییر دهید تا پیاده‌سازی‌های اساسی را بهتر منعکس کند و ثابت‌های ثابتی برای TransformationInfo.sourceRotation اضافه کنید. (Ic6149)
  • ZoomGestureDetector.ZoomEvent برای کپسوله‌سازی حالت‌های اشاره بزرگ‌نمایی اضافه شد. (I84cdf)

نسخه ۱٫۷

نسخه 1.7.0-rc01

‫۲۱ اکتبر ۲۰۲۶

‫androidx.camera:camera-*:1.7.0-rc01 منتشر شده است. نسخه 1.7.0-rc01 حاوی این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫UseCaseCamera2Interop، ImageCaptureCamera2Interop، SessionConfigCamera2Interop، و CameraControlCamera2Interop از میاناهای به کلاس‌های انتزاعی تبدیل شدند. (If654e)
  • مشکل ابهام Camera2Interop V2 برطرف شد (I1bbe5)

رفع اشکال‌ها

  • خرابی بومی SIGSEGV در رشته CameraX OpenGL برطرف شد، زمانی که SurfaceProcessor ورودی SurfaceTexture را که SurfaceRequest آن قبل‌از تکمیل جمع‌آوری زباله شده بود، منتشر کرد. (I76f73، b/563673593)
  • نشت Surface و خرابی بومی OpenGL که ممکن بود درطول جمع‌آوری زباله زمانی رخ دهد که مجری CameraEffect یا HandlerThread قبل‌از بسته شدن SurfaceOutput جلوه خاموش شده بود برطرف شد. (Ifcc19، b/558819242)
  • بهبود رفتار «تقویت نور کم»: «تقویت نور کم» و «چراغ‌قوه» اکنون از خط‌مشی «آخرین تنظیم برنده است» پیروی می‌کنند که در آن فعال کردن یکی به‌طور خودکار دیگری را غیرفعال می‌کند، به‌جای اینکه درخواست را رد کند. علاوه‌براین، اکنون وقتی «تقویت نور کم» فعال است، فلاش می‌تواند درطول ضبط تصویر روشن شود. (Ie583f)
  • وابستگی androidx.lifecycle:lifecycle-runtime به نسخه ۲.۱۰.۰ به‌روز شد. این نسخه برای اجرای بررسی‌های lint زمان اجرای چرخه حیات بسته‌بندی‌شده با AGP نسخه 9.5.0-alpha04 یا جدیدتر لازم است. (I99bfd, b/556807521)
  • پشتیبانی از دریافت CameraSelector در دوربین‌های فیزیکی از CameraInfo.getPhysicalCameraInfos() و اتصال UseCases به دوربین‌های فیزیکی. اکنون پرسمان CameraInfo با CameraSelector فیزیکی، CameraInfo فیزیکی را به‌جای CameraInfo منطقی برمی‌گرداند. (Ibe7f2)
  • Javadoc OutputOptions.Builder.setLocation را شفاف‌سازی کردیم که فقط طول و عرض جغرافیایی در فراداده ویدیو ذخیره می‌شود. (I77d3b، b/551348846)
  • اشکالی در ImageAnalysis برطرف شد که در آن تغییر پویای چرخش خروجی یا لغو اتصال مورد استفاده می‌توانست باعث نشت منبع Surface/ImageReader شود. (I25cef)
  • CameraInfo.getIntrinsicZoomRatio() اکنون نسبت برگردانده‌شده را تا دو رقم اعشار گرد می‌کند. (Ibe9a8)
  • بررسی HardwareBuffer.isSupported برای قالب PRIVATE در ImageAnalysis آسان‌تر شده است تا از خطاهای منفی کاذب در برخی‌از دستگاه‌ها جلوگیری شود. (I347a4، b/545866947)
  • خرابی کامپایل در نسخه‌های جدیدتر JDK هنگام حل حاشیه‌نویسی‌های نوع JSpecify واردشده به‌صورت انتقالی در فیلدهای داخلی CameraX برطرف شد. (I00bb4، b/543937345)

نسخه 1.7.0-alpha03

‫۱۲ اوت ۲۰۲۶

‫androidx.camera:camera-*:1.7.0-alpha03 منتشر شده است. نسخه 1.7.0-alpha03 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • میاناهای برنامه‌نویسی کاربردی قدیمی Camera2Interop (Camera2Interop.Extender، Camera2CameraControl، Camera2CameraInfo، و CaptureRequestOptions) به‌نفع روش‌های کارخانه پیکربندی‌کننده Camera2Interop و توابع افزونه Kotlin منسوخ شده‌اند. (Ib0845، b/529609261)
  • بلوک‌های افزونه Kotlin DSL camera2Interop برای preview، imageAnalysis، videoCapture، imageCapture، و SessionConfig.Builder، و همچنین تابع افزونه CameraControl.applyCamera2InteropAsync اضافه شد. (I51af9، b/529609261)
  • روش‌های کارخانه پیکربندی‌کننده Camera2Interop جدید (forUseCase،‏ forImageCapture،‏ forSessionConfig،‏ forCameraControl) و روش‌های setInterop / applyInteropAsync متناظر در Preview.Builder،‏ ImageCapture.Builder،‏ ImageAnalysis.Builder،‏ VideoCapture.Builder،‏ SessionConfig.Builder، و CameraControl اضافه شد. (I0007b،‏ b/529609261)
  • روش‌های کمکی به Camera2Interop و ویژگی‌های معادل افزونه Kotlin (‏CameraInfo.cameraId،‏ CameraInfo.cameraCharacteristics، و String.toCameraSelector()) برای بازیابی شناسه و مشخصات دوربین Camera2 از CameraInfo اضافه شد. (I11803،‏ b/529609261)
  • ‫Preview.setMirrorMode،‏ Preview.getMirrorMode، و VideoCapture.setMirrorMode به میاناهای برنامه‌سازی کاربردی عمومی اضافه شد و حاشیه‌نویسی ExperimentalMirrorMode برداشته شد. (I4ed60، b/519794349، b/470629643)
  • سازندگان Kotlin DSL preview { ... }، imageCapture { ... }، imageAnalysis { ... }، و videoCapture { ... } برای ایجاد UseCases اضافه شدند. (I91df9، b/530013719)
  • Modified ImagePlane.buffer to be non-nullable ByteBuffer. (I98593)
  • دریافت‌کننده‌های ویژگی در SessionConfig.Builder، HighSpeedVideoSessionConfig.Builder، و ExtensionSessionConfig.Builder در Kotlin DSL منسوخ شدند تا ویژگی‌های فقط‌نوشتنی اعمال شوند. (I2875b،‏ b/534570559)

رفع اشکال‌ها

  • مشکلی که در آن اتصال چند مورد استفاده Preview با OverlayEffect باعث یک مورد عدم تحویل جاری‌سازی «پیش‌نمایش» می‌شد برطرف شد. (I7a383، b/532577546، b/532924417)
  • مشکلی که باعث می‌شد Recording.pause() و Recording.resume() هنگام عوض کردن دوربین درطول ضبط ویدیو مداوم ناموفق باشند برطرف شد. (I71004، b/532327691، b/367121726)
  • خرابی‌های HAL هنگام استفاده از «تأخیر شاتر صفر» (ZSL) درحین بزرگ‌نمایی در مرزهای فیزیکی دوربین در دستگاه‌های چنددوربینه برطرف شد. (I1c374، b/527782712، b/514757157)
  • مشکلی که باعث می‌شد ضبط ویدیو HDR در دستگاه‌های Samsung Galaxy S25،‏ S26، و Fold 7 ناموفق باشد برطرف شد. (Ic0827، b/529618629)

نسخه 1.7.0-alpha02

‫۱ ژوئیه ۲۰۲۶

‫androidx.camera:camera-*:1.7.0-alpha02 منتشر شده است. نسخه 1.7.0-alpha02 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • CameraXViewfinder اکنون از اشاره‌های داخلی برای زوم‌پیش یا زوم‌پس با انگشتان و ضربه زدن برای فوکوس پشتیبانی می‌کند و پشتیبانی از چشمک‌زنی صفحه و وضعیت جاری‌سازی را اضافه می‌کند. FocusState is now public in viewfinder-core to allow monitoring tap-to-focus results. (I66a17،‏ b/522549890)
  • ‫isAutoRotationEnabled به SessionConfig.Builder، HighSpeedVideoSessionConfig.Builder، ExtensionSessionConfig.Builder اضافه شد و توابع کارخانه Kotlin DSL برای آن‌ها معرفی شد. این کار اجازه می‌دهد چرخش مناسب به‌طور خودکار براساس حسگرهای دستگاه تنظیم شود. (I5b4a3، b/510752515)
  • ویژگی TransformationMode به TransformationInfo اضافه شد تا از برنامه‌ها برای استفاده از خط لوله OpenGL در حالت EMBEDDED پشتیبانی شود. (Id1de1، b/487826941)
  • isNightModeIndicatorSupported() و getNightModeIndicator() به CameraInfo اضافه شد تا مشخص شود چه زمانی شرایط محیطی با معیارهای «حالت شب» مطابقت دارد. (Iae47b، b/499389465)
  • ImageAnalysis.OUTPUT_IMAGE_FORMAT_PRIVATE و ImageProxy.getHardwareBuffer()‎ را به‌عنوان میانای برنامه‌سازی کاربردی عمومی برای پشتیبانی از ImageAnalysis مبتنی بر واحد پردازش گرافیکی درمعرض دید قرار دادیم. (I41cb3، b/496022391، b/492934501)
  • ‫ExtensionsManager#getExtensionEnabledCameraSelector اکنون منسوخ شده است. لطفاً از ExtensionSessionConfig API جدید برای فعال کردن حالت‌های افزونه استفاده کنید. (I2b336، b/473715607)
  • پشتیبانی از سبک‌بندی بصری قاب‌های دوربین درطول ترکیب‌بندی هم‌زمان دوربین اضافه شد. اکنون می‌توانید این موارد را سفارشی‌سازی کنید:
  • گوشه‌های گرد: از setRoundedCornerRatio(float) برای اعمال گرد کردن نرمال‌شده (۰٫۰ تا ۱٫۰) به لبه‌های قاب استفاده کنید.
  • حاشیه‌ها: از setBorderWidthRatio(float) و setBorderColor(int) برای افزودن قاب تزئینی با ضخامت یکسان استفاده کنید (I18a07، b/366349205)
  • CompositionSettings را به‌روز کردیم تا ترتیب z غیرمنفی را اعمال کند و اعتبارسنجی را به ConcurrentCamera.setCompositionSettings اضافه کردیم تا مطمئن شویم با تعداد صحیح تنظیمات در حالت ترکیب معتبر فراخوانی می‌شود. (If660d، b/496951658)
  • ‫getNightModeIndicator()‎ و isNightModeIndicatorAvailable()‎ به CameraExtensionsInfo اضافه شد تا برنامه‌ها بتوانند هنگام استفاده از افزونه‌های دوربین، نظارت کنند که آیا محیط فعلی در شرایط حالت شب است یا نه. (I62bb4، b/499389465)
  • پشتیبانی از کیفیت ویدیو QHD در VideoCapture اضافه شد. (I0ac20، b/501305592)
  • Recorder.Builder.setTargetAudioChannelCount(int) و Recorder.getTargetAudioChannelCount() اضافه شد تا توسعه‌دهندگان بتوانند تعداد کانال‌های صوتی صریح را تنظیم کنند. (I6bee0، b/441895100)
  • Recorder.Builder.setTargetAudioEncodingBitRate(int) اضافه شد تا امکان تنظیم نرخ بیت هدف برای کدبندی صدا فراهم شود. (I29062، b/241151504)
  • ConcurrentCamera.setCompositionSettings API اضافه شد تا برنامه‌ها بتوانند ترکیب‌بندی دوربین فعلی را به‌طور پویا پس‌از محدود شدن چرخه حیات به‌روز کنند. علاوه‌براین، setZOrder API جدید در CompositionSettings.Builder کنترل دقیقی بر ترتیب رندر کردن جاری‌سازی‌های دوربین هم‌پوشان فراهم می‌کند. (I90528،‏ b/473702287)
  • میاناهای برنامه‌سازی کاربردی برای کنترل دقیق قالب‌های کدبندی معرفی شد. توسعه‌دهندگان اکنون می‌توانند بااستفاده از Recorder.getSupportedVideoMimeTypes() و getSupportedAudioMimeTypes()، که درحال‌حاضر آزمایشی هستند، قالب‌های پشتیبانی‌شده توسط دستگاه را پیدا کنند. قالب‌های ترجیحی را می‌توان به‌طور صریح ازطریق Recorder.Builder.setVideoMimeType() و setAudioMimeType() پیکربندی کرد. علاوه‌براین، Recorder.getVideoCapabilities(CameraInfo, String) امکان پرسمان قابلیت‌های خاص دوربین، مانند کیفیت‌های پشتیبانی‌شده و دامنه‌های پویا، را برای کدک انتخابی فراهم می‌کند. (I4620e، b/491319384)
  • CameraController.setAutoRotationEnabled(boolean)‎ اضافه شد تا امکان غیرفعال کردن شنونده چرخش خودکار دستگاه فراهم شود. (Ia0c03،‏ b/449573627)
  • پشتیبانی از قفل AE/AWB در FocusMeteringAction ازطریق یک API جدید setLockingMode اضافه شد. این کار همچنین امکان به‌روزرسانی مناطق 3A را بدون قفل کردن فوکوس فراهم می‌کند و به دوربین اجازه می‌دهد درحین به‌روزرسانی ناحیه فوکوس، در حالت فوکوس خودکار مداوم باقی بماند. (I6416f، b/481624745)

رفع اشکال‌ها

  • برداشتن الزام برای compileSdk 37 (If78b4)
  • مشکلات تبدیل CameraXViewfinder در حالت EMBEDDED وقتی خط لوله OpenGL توسط CameraX برای اتصال بیشتر UseCases یا پردازش سطح فعال می‌شود برطرف شد. (I3e637، b/487826941)
  • آزمایش‌ها و فعالیت‌ها به‌روزرسانی شد تا به‌جای میانای برنامه‌سازی کاربردی getExtensionEnabledCameraSelector منسوخ‌شده، از ExtensionSessionConfig استفاده شود. (I765d8،‏ b/473715607)
  • خطای کامپایل «Cannot access class 'ListenableFuture'» برطرف شد. (Ic8cba، b/497571473)
  • ‫compileSdk مربوط به Compose به میانای برنامه‌سازی کاربردی ۳۷ به‌روز شد. این یعنی هنگام استفاده از Compose، حداقل نسخه AGP‏ ۹.۲.۰ لازم است. (Id45cd، b/413674743)

نسخه 1.7.0-alpha01

‫۱۱ مارس ۲۰۲۶

‫androidx.camera:camera-*:1.7.0-alpha01 منتشر شده است. نسخه 1.7.0-alpha01 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • میانای برنامه‌سازی کاربردی CameraController.setSessionConfig() را افشا کرد. این کار امکان ارائه SessionConfig سفارشی را برای پیکربندی‌های پیشرفته UseCase که مستقیماً توسط CameraController ارائه نمی‌شوند فراهم می‌کند. وقتی SessionConfig فعال باشد، سایر روش‌های پیکربندی در CameraController غیرفعال می‌شود.(I35cf1، b/448525636)

رفع اشکال‌ها

  • کتابخانه‌ها را برای استفاده از هدف Java 11 منتقل می‌کند. این یعنی بایت‌کد تولیدشده Java 11 (نسخه فایل کلاس ۵۵) خواهد بود و ممکن است برای استفاده از کتابخانه به شکرزدایی نیاز داشته باشد (If4c2a،‏ b/457821470)
  • اشکالی در ImageAnalysis برطرف شد که در آن وقتی چرخش تصویر خروجی فعال بود و چرخش نسبی اولیه ۰ درجه بود، تصاویر به‌درستی نمی‌چرخیدند. (Id46c2، b/487160584)

نسخه ۱.۶ دوربین

نسخه ۱.۶.۲

‫۲۶ اوت ۲۰۲۶

‫androidx.camera:camera-*:1.6.2 منتشر شده است. نسخه ۱.۶.۲ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • خرابی کامپایل در نسخه‌های جدیدتر JDK هنگام حل حاشیه‌نویسی‌های نوع JSpecify واردشده به‌صورت انتقالی در فیلدهای داخلی CameraX برطرف شد. (I00bb4، b/543937345)

نسخه ۱.۶.۱

‫۶ مه ۲۰۲۶

‫androidx.camera:camera-*:1.6.1 منتشر شده است. نسخه ۱.۶.۱ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • خطای کامپایل «Cannot access class ListenableFuture» هنگام استفاده از CameraX 1.6.0 برطرف شد. (Ic8cba، b/497571473)

نسخه ۱.۶.۰

‫۲۵ مارس ۲۰۲۶

‫androidx.camera:camera-*:1.6.0 منتشر شده است. نسخه ۱.۶.۰ حاوی این ثبت‌ها است.

تغییرات مهم از نسخه ۱.۵.۰:

‫۱. انتقال به پشته دوربین یکپارچه با عملکرد بالا

  • CameraX اکنون از CameraPipe استفاده می‌کند—همان پشته مدرن و با عملکرد بالا که دوربین Pixel را تقویت می‌کند. این انتقال کارایی معماری را ساده می‌کند و پایه‌ای مقیاس‌پذیر برای آوردن ویژگی‌های پیشرفته عکاسی رایانشی به بوم‌سازگان توسعه‌دهنده فراهم می‌کند.

‫۲. Media3 Muxer Integration

  • CameraX اکنون به‌طور پیش‌فرض Media3 Muxer را در میانای برنامه‌سازی کاربردی VideoCapture ادغام می‌کند. این انتقال مزایای متعددی دارد:
    • عملکرد بهبودیافته: پردازش و ادغام ویدیو کارآمدتر شده است.
    • مقاومت دربرابر خرابی: محافظت بهبودیافته دربرابر خرابی فایل ویدیویی، که تضمین می‌کند داده‌ها حتی درصورت خرابی برنامه درحین ضبط حفظ می‌شوند.

‫۳. بهبود گروه ویژگی

‫۴. Stabilized SessionConfig API

  • SessionConfig از حالت آزمایشی به میانای برنامه‌سازی کاربردی عمومی کاملاً پایدار ارتقا یافته است، ازجمله SessionConfig و HighSpeedVideoSessionConfig. اکنون می‌توان «افزونه‌های CameraX» را با ExtensionSessionConfig AP جدید پیاده‌سازی کرد. isSessionConfigSupported API جدیدی معرفی شده است که به توسعه‌دهندگان امکان می‌دهد قبل‌از اتصال به چرخه حیات، پرس‌وجو کنند که آیا ترکیب خاصی از موارد استفاده و ویژگی‌ها (مانند HDR، لرزش‌گیر، وضوح‌های خاص، «افزونه‌های CameraX»، یا حرکت آهسته) توسط دستگاه پشتیبانی می‌شود یا نه.

رفع اشکال‌ها

  • مشکل ازکار افتادن که در برخی‌از دستگاه‌های Android 17 (سطح میانای برنامه‌سازی کاربردی ۳۷) یا بالاتر رخ می‌داد برطرف شد. وقتی این دستگاه‌ها نمایه‌های محدوده پویای جدیدی (مثلاً STANDARD_SMPTE_2094_50(ID 8192)) را نشان می‌دهند که برای CameraX نسخه ۱.۵.۱ و نسخه‌های قبلی ناشناخته بودند، کتابخانه قبلاً نمی‌توانست این شناسه‌ها را به‌درستی مدیریت کند، که منجر به NullPointerException یا IllegalArgumentException درطول ProcessCameraProvider.bindToLifecycle() می‌شد. این اصلاح به CameraX اجازه می‌دهد تا نمایه‌های گستره پویای ناشناخته را به‌آرامی نادیده بگیرد، از خرابی جلوگیری کند، و سازگاری روبه‌جلو را حفظ کند. لطفاً وابستگی CameraX خود را به نسخه ۱.۵.۲ یا ۱.۶.۰ (یا بالاتر) به‌روز کنید تا از بروز این مشکل در دستگاه‌هایی که این نمایه‌های جدید را نشان می‌دهند جلوگیری شود. برای جزئیات بیشتر، مشکل ۵۱۹۷۹۶۸۳۸ را ببینید. (Ibd7b5)
  • اکنون وقتی از PREVIEW_STABILIZATION با VideoCapture استفاده می‌شود، میانای برنامه‌سازی کاربردی گروه ویژگی نتایج ثابتی ارائه می‌دهد. این کار اشکالی را برطرف می‌کند که باعث می‌شد وقتی مورد استفاده «پیش‌نمایش» فعال نبود، نتایج ناسازگار ایجاد شود. (Ifed82، b/449913903)
  • مشکلی که باعث می‌شد ویژگی‌های ترجیحی پشتیبانی‌نشده به‌اشتباه دردسترس قرار بگیرند برطرف شد. اکنون وقتی موارد استفاده الزامی ویژگی‌ها برآورده نشود، ویژگی‌ها به‌درستی فیلتر می‌شوند. (I38db8، b/449532342)
  • مشکل نتیجه ویدیویی دارای اشکال در Samsung Galaxy S6 برطرف شد. (I612d9،‏ b/235127608)
  • مشکلی که در آن CameraInfo#isFeatureGroupSupported می‌توانست به‌اشتباه مقدار درست را برای PREVIEW_STABILIZATION برگرداند، درصورتی‌که SessionConfig در پُرسمان قبلاً با ویژگی‌های دیگر پیکربندی شده بود، برطرف شد. (I2c355c، b/437816469)
  • اندازه‌های خروجی قالب YUV مشکل‌ساز از دستگاه Samsung Z Fold 4 مستثنی شد. تصاویر دریافتی هنگام استفاده از آن اندازه‌های خروجی مشکل اعوجاج دارند. (I776bf، b/460322307)
  • مشکل مختص دستگاه در Samsung A53 برطرف شد که در آن ضبط تصویر با چراغ‌قوه فعال گاهی اوقات درصورت محدود بودن مورد استفاده VideoCapture ناموفق بود. (I0f183، b/458197367)
  • مشکلی را در برخی دستگاه‌ها برطرف می‌کند که در آن استفاده از فلاش با دوربین زاویه فوق‌گسترده ممکن است منجر به تصاویر با نوردهی ناکافی شود. (Ib7530، b/444590340)
  • وابستگی ExifInterface به‌روزرسانی شد تا شامل اصلاحیه‌ای برای تجزیه JPEG با لایه‌گذاری 0xFF باشد، که باعث رفع مشکل عدم موفقیت در ضبط تصویر در دستگاه‌هایی می‌شود که کدبند JPEG بایت‌های پرکننده را قبل‌از نشانگرها اضافه می‌کند. (I0eb49)

نسخه 1.6.0-rc01

‫۲۵ فوریه ۲۰۲۶

‫androidx.camera:camera-*:1.6.0-rc01 منتشر شده است. نسخه 1.6.0-rc01 حاوی این commit-ها است.

نسخه 1.6.0-beta02

‫۱۱ فوریه ۲۰۲۶

‫androidx.camera:camera-*:1.6.0-beta02 منتشر شده است. نسخه 1.6.0-beta02 حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • مشکل ضبط درون‌حافظه‌ای ImageCapture OUTPUT_FORMAT_RAW_JPEG IllegalArgumentException برطرف شد. (Id4eec، b/479990902)
  • به AndroidX Media3 muxer منتقل شد. این به‌روزرسانی این موارد را برطرف کرد: ۱: خراب شدن ویدیو درطول وقفه‌های غیرمنتظره یا بسته شدن برنامه و ۲: ازکار افتادن برنامه هنگام ذخیره کردن ویدیوها در توصیف‌گرهای فایل پراکسی. (I23b63،‏ b/433649708،‏ b/264812009،‏ b/475750115)

نسخه 1.6.0-beta01

‫۲۸ ژانویه ۲۰۲۶

‫androidx.camera:camera-*:1.6.0-beta01 منتشر شده است. نسخه 1.6.0-beta01 حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • مشکل نوع فعلی CameraExtensionsInfo در CameraX 1.6.0-alpha که باعث می‌شد شیء LiveData نتواند داده‌های نوع به‌روزشده را دریافت کند برطرف شد. (I2c7a5)
  • وابستگی ExifInterface را به‌روز کردیم تا شامل اصلاحیه‌ای برای تجزیه JPEG با لایه‌گذاری 0xFF باشد، که باعث رفع خرابی‌های ضبط تصویر در دستگاه‌هایی می‌شود که کدبند JPEG بایت‌های پرکننده را قبل‌از نشانگرها اضافه می‌کند. (I0eb49)

نسخه 1.6.0-alpha02

‫۱۷ دسامبر ۲۰۲۵

‫androidx.camera:camera-*:1.6.0-alpha02 منتشر شده است. نسخه 1.6.0-alpha02 حاوی این ارسال‌ها است.

ویژگی‌های جدید

  • ویژگی قابل‌گروه‌بندی برای نشان دادن ویژگی لرزش‌گیری ویدیو در پیکربندی جلسه اضافه شد. توسعه‌دهندگان اکنون می‌توانند لرزش‌گیر ویدیو را به‌عنوان یک ویژگی الزامی یا ترجیحی درخواست کنند و آن را با سایر ویژگی‌های قابل‌گروه‌بندی مانند UHD_RECORDING و PREVIEW_STABILIZATION هماهنگ کنند. (Ic6757، b/419766630)
  • ویژگی‌های قابل‌گروه‌بندی برای نشان دادن کیفیت ضبط ویدیو در پیکربندی جلسه اضافه شد. توسعه‌دهندگان اکنون می‌توانند کیفیت خاصی (مثلاً UHD،‏ FHD) را به‌عنوان ویژگی الزامی یا ترجیحی درخواست کنند و آن را با ویژگی‌های قابل‌گروه‌بندی دیگر مثل HDR و ۶۰ فریم در ثانیه هم‌راستا کنند. (Ib5cd3، b/437820285)
  • پشتیبانی از استفاده از هر دو CameraEffect و میانای برنامه‌سازی کاربردی گروه‌های ویژگی در SessionConfig اضافه شد. (I17f18، b/406370934)
  • پشتیبانی از استفاده از هر دو ImageAnalysis و میانای برنامه‌سازی کاربردی گروه‌های ویژگی در SessionConfig اضافه شد. (I87833، b/406371720)

تغییرات میانای برنامه‌سازی کاربردی

  • تابع تنظیم‌کننده addUseCase برای ExtensionSessionConfig.Builder اضافه شد و تابع‌های دریافت‌کننده فاقد ExtensionSessionConfig اضافه شد. (I71e07، b/453988621)
  • میانای برنامه‌سازی کاربردی ExtensionsManager.getInstance اضافه شد که نسخه تعلیق‌شده ExtensionsManager.getInstanceAsync است (I3a0a9، b/452208792)
  • نام isFeatureGroupSupported به isSessionConfigSupported تغییر کرد و از هر نوع SessionConfig پشتیبانی می‌کند. (I21616، b/448781299)
  • ‫ExtensionsManager به پیاده‌سازی Kotlin تبدیل شد. (I73091، b/452208792)
  • CameraProvider#getCameraInfo(CameraSelector, SessionConfig) برای بازیابی CameraInfo اضافه شد، وقتی SessionConfig می‌تواند بر انتخاب دوربین تأثیر بگذارد. برای مثال، هنگام استفاده از ExtensionSessionConfig. (Ic548c، b/451891648)
  • ExtensionSessionConfig API درمعرض خطر قرار گرفت. برنامه‌ها می‌توانند ExtensionSessionConfig ایجاد کنند و اکنون از آن برای ایجاد جلسه افزونه‌ها استفاده کنند. (I6354c، b/448524373)
  • androidx.camera.video.HighSpeedVideoSessionConfig API دیگر آزمایشی نیست و اکنون یک API عمومی کاملاً پایدار است. (I492d4، b/447558239)
  • androidx.camera.core.SessionConfig API دیگر آزمایشی نیست و اکنون یک API عمومی کاملاً پایدار است. (Idc87a، b/447558437)

رفع اشکال‌ها

  • مشکل ازکارافتادن به‌دلیل IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object: در Android 17 یا بالاتر برطرف شد. (Ibd7b5، b/463465353)
  • اندازه‌های خروجی قالب YUV مشکل‌ساز از دستگاه Samsung Z Fold 4 مستثنی شد. تصاویر دریافتی هنگام استفاده از آن اندازه‌های خروجی مشکل اعوجاج دارند. (I776bf، b/460322307)
  • مشکل اعمال نشدن CaptureRequest.FLASH_MODE هنگام تنظیم ازطریق میانای برنامه‌سازی کاربردی Camera2Interop برطرف شد. (I0004c، b/459608684)
  • مشکل مختص دستگاه در Samsung A53 برطرف شد که در آن ضبط تصویر با چراغ‌قوه فعال گاهی اوقات درصورت محدود بودن مورد استفاده VideoCapture ناموفق بود. (I0f183، b/458197367)
  • مشکلی را در برخی‌از دستگاه‌ها برطرف می‌کند که در آن استفاده از فلاش با دوربین زاویه فوق‌گسترده ممکن است منجر به تصاویر با نوردهی ناکافی شود. (Ib7530، b/444590340)

نسخه 1.6.0-alpha01

‫۲۲ اکتبر ۲۰۲۵

‫androidx.camera:camera-*:1.6.0-alpha01 منتشر شده است. نسخه 1.6.0-alpha01 حاوی این ارسال‌ها است.

ویژگی‌های جدید

  • CameraX به پشته دوربین یکپارچه و با عملکرد بالا منتقل شده است که برنامه دوربین Pixel نیز از آن استفاده می‌کند. این پشته جدید که با نام CameraPipe شناخته می‌شود، حاصل همکاری بین تیم‌های CameraX و «دوربین Pixel» است. این کار تضمین می‌کند که همه بهبودها هم‌رسانی می‌شوند و هم کاربران CameraX و هم برنامه دوربین Pixel از آن‌ها بهره‌مند می‌شوند.

تغییرات میانای برنامه‌سازی کاربردی

  • میاناهای برنامه‌سازی کاربردی جدیدی برای تشخیص افزودن/برداشتن دوربین پویا اضافه شد. برای جزئیات بیشتر، به میانای برنامه‌سازی کاربردی CameraPresenceListener مراجعه کنید. (I41ead،‏ b/427182232،‏ b/419441394)

رفع اشکال‌ها

  • اکنون وقتی از PREVIEW_STABILIZATION با VideoCapture استفاده می‌شود، میانای برنامه‌سازی کاربردی گروه ویژگی نتایج ثابتی ارائه می‌دهد. این کار اشکالی را برطرف می‌کند که باعث می‌شد وقتی مورد استفاده Preview فعال نبود، نتایج ناسازگار ایجاد شود. (Ifed82، b/449913903)
  • مشکلی که باعث می‌شد ویژگی‌های ترجیحی پشتیبانی‌نشده به‌اشتباه دردسترس قرار بگیرند برطرف شد. اکنون وقتی موارد استفاده الزامی ویژگی‌ها برآورده نشود، ویژگی‌ها به‌درستی فیلتر می‌شوند. (I38db8، b/449532342)
  • مشکل نتیجه ویدیویی دارای اشکال در Samsung Galaxy S6 برطرف شد. (I612d9،‏ b/235127608)
  • مشکلی که در آن CameraInfo#isFeatureGroupSupported می‌توانست به‌اشتباه مقدار درست را برای PREVIEW_STABILIZATION برگرداند، درصورتی‌که SessionConfig در پُرسمان قبلاً با ویژگی‌های دیگر پیکربندی شده بود، برطرف شد. (I2c355c، b/437816469)

نسخه دوربین ۱.۵

نسخه ۱.۵.۳

‫۲۸ ژانویه ۲۰۲۶

‫androidx.camera:camera-*:1.5.3 منتشر شده است. نسخه ۱.۵.۳ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • وابستگی ExifInterface به نسخه ۱.۴.۲ به‌روز شد. این به‌روزرسانی مشکل عدم ضبط تصویر را که در دستگاه‌های تولیدکننده JPEG با بایت‌های 0xFF اضافی (و مجاز) قبل‌از نشانگر رخ می‌دهد برطرف می‌کند. (I16df4)

نسخه 1.5.2

‫۴ دسامبر ۲۰۲۵

‫androidx.camera:camera-*:1.5.2 منتشر شده است. نسخه ۱.۵.۲ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • خرابی ناشی از IllegalArgumentException: Dynamic range profile cannot be converted to a DynamicRange object: در Android 17 یا بالاتر برطرف شد. (Ic9184)
  • اشکالی که باعث می‌شد نتایج میانای برنامه‌سازی کاربردی گروه ویژگی ناسازگار باشد، وقتی ویژگی PREVIEW_STABILIZATION با مورد استفاده VideoCapture اما بدون مورد استفاده Preview اضافه می‌شد، برطرف شد. (Ifed82)
  • مشکل فیلتر نشدن ویژگی‌های ترجیحی با وجود نداشتن موارد استفاده لازم برای پشتیبانی از ویژگی‌ها برطرف شد. (I38db8)

نسخه 1.5.1

‫۸ اکتبر ۲۰۲۵

‫androidx.camera:camera-*:1.5.1 منتشر شده است. نسخه ۱.۵.۱ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • پشتیبانی از CameraEffect در حالت ترکیب دوربین هم‌زمان. جلوه روی خروجی ترکیب‌بندی اعمال خواهد شد. لطفاً توجه داشته باشید که وقتی جلوه در حالت ترکیب دوربین هم‌زمان تنظیم شده باشد، mirrorMode در VideoCapture نادیده گرفته خواهد شد. (If3d00، b/425565129)
  • مشکل اعمال نشدن صحیح mirrorMode در دوربین دوم در حالت ترکیب دوربین هم‌زمان برطرف شد. (I686cd، b/446430827)
  • پشتیبانی از اتصال Preview، ImageCapture، و VideoCapture به یکدیگر در حالت غیرترکیبی دوربین هم‌زمان. (Ib410a، b/443009871)
  • مشکلی برطرف شد که در آن UseCases مانند ImageCapture و VideoCapture درصورت بازآفرینی، اطلاعات چرخش هدف خود را ازدست می‌دادند. این امر می‌تواند باعث شود که اگر تنظیماتی مانند imageCaptureMode پس‌از چرخاندن دستگاه تغییر کرده باشد، تصاویر یا ویدیوها جهت نادرستی داشته باشند. (I477c8، b/444734537)
  • مشکلی که مانع از انتخاب وضوح ۱۶:۹ توسط «پیش‌دید» و ضبط با QUALITY_1080P توسط VideoCapture می‌شد برطرف شد. این مشکل زمانی رخ داد که از پیکربندی وضوح «پیش‌نمایش» پیش‌فرض استفاده می‌شد و ویژگی داخلی StreamSharing فعال بود (برای مثال، وقتی چهار UseCase به‌طور هم‌زمان محدود شده بودند). (I493cb، b/440364875)
  • مشکل ازکارافتادن هنگام فعال شدن جلوه پس‌از خاموش شدن SurfaceProcessor برطرف شد (I2c450، b/414150174)
  • اشکالی در CameraController برطرف شد که باعث ایجاد IllegalStateException می‌شد، زمانی که UseCase اولیه حداکثر وضوح را انتخاب می‌کرد، که متعاقباً از محدود شدن سایر UseCaseها جلوگیری می‌کرد. (Ifb758، b/440374234)
  • اندازه‌های خروجی مشکل‌ساز YUV_420_888 را برای Nokia 7 Plus مستثنی می‌کند که باعث مشکل خرابی بی‌صدا بدون گزارش هیچ پیام خطایی می‌شود. (I3af47، b/436524501)
  • مشکلی که باعث می‌شد CameraInfo#isFeatureGroupSupported به‌اشتباه مقدار درست را برای ویژگی PREVIEW_STABILIZATION برگرداند برطرف شد. این مشکل گاهی اوقات هنگام پرسمان با SessionConfig که قبلاً با ویژگی‌های دیگر پیکربندی شده است رخ می‌دهد. (I2c355، b/437816469)
  • پایداری CameraXViewfinder در سطوح قدیمی‌تر میانای برنامه‌سازی کاربردی و دستگاه‌های دارای مشکلات SurfaceView با پیش‌فرض کردن TextureView در چنین سناریوهایی بهبود یافته است. این سازوکار بازگشت گزینه پیش‌فرض جدید است اما می‌توان آن را به‌صورت برنامه‌نویسی لغو کرد. (Ieb476، b/437496463)
  • نشت حافظه در PreviewView برطرف شد که می‌توانست مانع از جمع‌آوری زباله «فعالیت» آن شود. این اتفاق زمانی می‌افتد که SurfaceRequest جدیدی قبل‌از رسیدگی به قبلی برسد. (I4aa0b,b/443112512)
  • مشکل ناموفق بودن ضبط با سرعت بالا/حرکت آهسته در Huawei P smart،‏ Infinix Hot 40i، و Realme C53 برطرف شد. (40a668e، b/442984200)

نسخه ۱.۵.۰

‫۱۰ سپتامبر ۲۰۲۵

‫androidx.camera:camera-*:1.5.0 منتشر شده است. نسخه ۱.۵.۰ حاوی این ثبت‌ها است.

تغییرات مهم از نسخه ۱.۴.۰:

  • ضبط با سرعت بالا و حرکت آهسته: ضبط ویدیو با سرعت بالا (۱۲۰/۲۴۰ فریم در ثانیه) و حرکت آهسته را به‌راحتی با حداقل کد ادغام کنید. برای جزئیات، به Recorder#getHighSpeedVideoCapabilities(CameraInfo) و HighSpeedVideoSessionConfig مراجعه کنید.
  • SessionConfig و FeatureGroup API: میانای برنامه‌سازی کاربردی جدید SessionConfig به شما امکان می‌دهد جلسه دوربین را پیکربندی کنید و چندین ویژگی را به‌طور هم‌زمان و ایمن فعال کنید، ازجمله HLG (HDR)،‏ UltraHDR،‏ ۶۰ فریم در ثانیه، و لرزش‌گیر پیش‌نمایش. همچنین می‌توانید گروه ویژگی ترجیحی را با اولویت تنظیم کنید و به CameraX اجازه دهید ترکیب پشتیبانی‌شده بهینه را تعیین کند. برای اطلاعات بیشتر، به SessionConfig.Builder#setPreferredFeatureGroup، SessionConfig.Builder#setRequiredFeatureGroup، و CameraInfo#isFeatureGroupSupported(SessionConfig) مراجعه کنید.
  • Deterministic Frame Rate API: بااستفاده از CameraInfo.getSupportedFrameRateRanges(sessionConfig) برای پُرسمان و SessionConfig.setExpectedFrameRateRange برای تنظیم نرخ‌های فریم دقیق و پشتیبانی‌شده، محدودیت‌های قبلی را با setTargetFrameRate برطرف کنید.
  • افزونه‌های دوربین: قالب UltraHDR اکنون با «افزونه‌ها» پشتیبانی می‌شود. ImageCapture.getImageCaptureCapabilities(cameraInfo).getSupportedOutputFormats() را بررسی کنید و آن را در ImageCapture.Builder.setOutputFormat فعال کنید. قابلیت‌های لرزش‌گیر پیش‌نمایش و نسبت بزرگ‌نمایی اکنون هنگام فعال بودن «افزونه‌ها» منعکس می‌شوند.
  • شدت چراغ‌قوه: شدت چراغ‌قوه را بااستفاده از CameraControl.setTorchStrengthLevel تنظیم کنید.
  • حالت «تقویت نور کم»: می‌توانید حالت «تقویت نور کم» (CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY) را با میاناهای برنامه‌سازی کاربردی زیر فعال کنید: به CameraInfo#isLowLightBoostSupported، CameraInfo#getLowLightBoostState، و CameraControl#enableLowLightBoostAsync مراجعه کنید.
  • ضبط ویدیو: VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE اکنون به‌دلیل فضای ذخیره‌سازی ناکافی درطول ضبط فعال شده است. PendingRecording.withAudioEnabled(boolean initialMuted) امکان کنترل وضعیت بی‌صدا کردن اولیه را برای ضبط صدا فراهم می‌کند.
  • ضبط تصویر: پشتیبانی از قالب‌های DNG (RAW) و JPEG + DNG (RAW) در ImageCapture. ImageCaptureCapabilities(CameraInfo).getSupportedOutputFormats() را برای پشتیبانی از RAW بررسی کنید. از میاناهای برنامه‌سازی کاربردی takePicture سربارشده با چند OutputFileOptions برای ضبط RAW+DNG استفاده کنید.
  • تحلیل تصویر: پشتیبانی از قالب NV21 در ImageAnalysis. آن را با ImageAnalysis.Builder.setOutputImageFormat(OUTPUT_IMAGE_FORMAT_NV21) فعال کنید.

نسخه 1.5.0-rc01

‫۱۳ اوت ۲۰۲۵

‫androidx.camera:camera-*:1.5.0-rc01 منتشر شده است. نسخه 1.5.0-rc01 حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • انتقال minSdk پیش‌فرض از API 21 به API 23‏ (Ibdfca،‏ b/380448311،‏ b/435705964،‏ b/435705223)
  • محدودیت خروجی ۱۰ بیتی برای حالت نوردهی خودکار تقویت نور کم برداشته شد. اکنون برنامه‌ها می‌توانند هر دو ویژگی را به‌طور هم‌زمان در دستگاه‌های پشتیبانی‌شده فعال کنند. (I5a638)
  • مشکلی که باعث می‌شد دستگاه‌های دارای مجموعه تراشه UniSoc هنگام ثبت تصویر هنگ کنند برطرف شد. این مشکل زمانی رخ داد که VideoCapture، Preview، و ImageCapture به‌طور هم‌زمان استفاده می‌شدند و همه جاری‌سازی‌ها روی وضوح ۱۲۸۰x۷۲۰ تنظیم شده بودند. (Ia00c4، b/380802479)
  • مشکل صفحه سیاه پیش‌نمایش وقتی نرخ فریم سرعت بالا برای ضبط سرعت بالا/صحنه آهسته تنظیم نشده است برطرف شد. (cdf0ff2e9)
  • بهبود مدیریت خطا و ثبت در getViewportAspectRatioInt (82fca18)

نسخه 1.5.0-beta02

‫۱۶ ژوئیه ۲۰۲۵

‫androidx.camera:camera-*:1.5.0-beta02 منتشر شده است. نسخه 1.5.0-beta02 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • میاناهای برنامه‌سازی کاربردی جدیدی اضافه شده است تا گروه‌های ویژگی‌های باکیفیت را به‌صورت شهودی‌تر و دقیق‌تر تنظیم یا پُرسمان کند، زیرا ممکن است این ویژگی‌ها به‌صورت ترکیبی در همه دستگاه‌ها پشتیبانی نشوند. SessionConfig اکنون حاوی میاناهای برنامه‌سازی کاربردی جدیدی است که گروهی از ویژگی‌ها را به‌عنوان الزامی یا ترجیحی مشخص می‌کند. CameraInfo.isFeatureGroupSupported API امکان می‌دهد قبل‌از اتصال SessionConfig بدانید که آیا گروه ویژگی پشتیبانی می‌شود یا نه. SessionConfig همچنین امکان تنظیم شنونده را فراهم می‌کند تا بدانید درنهایت کدام ویژگی‌ها هنگام محدود شدن پیکربندی جلسه انتخاب می‌شوند. (Ie4d60)
  • ‫SessoinConfig.Builder.setFrameRateRange(Range<Integer>) و CameraInfo.getSupportedFrameRateRanges(SessionConfig) API جدید اضافه شد که به توسعه‌دهندگان امکان می‌دهد نرخ‌های فریم پشتیبانی‌شده تضمینی را که توسط SessionConfig خاصی محدود شده‌اند جستجو کنند و سپس نرخ فریم را روی SessionConfig اعمال کنند. (Ieacf7)
  • SessionConfig API جدید معرفی شد که شامل انتزاع بهتری برای پیکربندی موارد استفاده، پارامترهای جلسه، CameraEffect، ViewPort و غیره است. اتصال SessionConfig به LifecycleOwner جلسه دوربین را باز می‌کند، آن را بااستفاده از موارد استفاده و پارامترهای جلسه مشخص‌شده پیکربندی می‌کند، و CameraEffect و ViewPort تعیین‌شده را اعمال می‌کند. هنگام به‌روزرسانی SessionConfig جدید به همان LifecycleOwner، می‌توانید فقط Sessionconfig جدید را بدون نیاز به فراخوانی لغو اتصال یا ابتدا unbindAll متصل کنید. (Iedfc3)
  • میاناهای برنامه‌سازی کاربردی جدیدی برای ضبط ویدیو با سرعت بالا/حرکت آهسته اضافه شد. برای جزئیات بیشتر، به میانای برنامه‌سازی کاربردی HighSpeedVideoSessionConfig مراجعه کنید. (Ia16f3)

رفع اشکال‌ها

  • مشکل گزارش قالب‌های RAW به‌عنوان قالب‌های پشتیبانی‌شده توسط میانای برنامه‌سازی کاربردی ImageCaptureCapabilities#getSupportedOutputFormats() در برخی‌از دستگاه‌هایی که درواقع قابلیت RAW ندارند برطرف شد. (Ibcadb)
  • نشت حافظه که هنگام استفاده از PreviewView، فعال بودن CameraEffect، یا اتصال ۴ مورد استفاده(StreamSharing) رخ می‌داد برطرف شد (I87468)
  • خرابی ضبط ویدیو به‌دلیل AssertionError برطرف شد: وضعیت صدای داخلی نامعتبر: IDLING. (I38d4b، b/414259796)
  • مشکل کشیده شدن یا کج شدن پیش‌نمایش در PreviewView وقتی برنامه در نمایشگر خارجی اجرا می‌شود و دستگاه در حالت افقی است برطرف شد (Ia917a)
  • مشکل اعمال نشدن صحیح تنظیمات «پایدارسازی پیش‌نما» هنگام هم‌رسانی جاری‌سازی دوربین بین «پیش‌نما» و VideoCapture برطرف شد.(I5430e)
  • CameraXViewfinder اکنون جایگزینی سطح را در Viewfinder زیرین به‌درستی مدیریت می‌کند. این شامل سناریوهایی می‌شود که در آن نمایاب EXTERNAL در سطح میانای برنامه‌سازی کاربردی ۲۸ یا پایین‌تر از صفحه خارج می‌شود یا اگر CameraXViewfinder (با هر ImplementationMode) بخشی از moveableContentOf() باشد. در مواردی که ViewfinderSurfaceSession زیربنایی نمی‌تواند فعال نگه داشته شود، CameraXViewfinder SurfaceRequest CameraX فعلی را باطل می‌کند و به CameraX اجازه می‌دهد از Surface جدید استفاده کند. (I79432)
  • مشکلی را در Android 10/11 برطرف می‌کند که در آن EXTERNAL CameraXViewfinder ممکن است به‌دلیل اعمال زودهنگام عملیات تبدیل (مانند مقیاس یا ترجمه) کشیده یا نادرست به‌نظر برسد. اکنون سیستم قبل‌از اعمال این تبدیل‌ها در مرحله چیدمان، منتظر می‌ماند تا Surface ایجاد شود و از خروجی صحیح اطمینان حاصل می‌کند. (Icc77c)
  • ‫Composable CameraXViewfinder اکنون به‌درستی با Pager Compose کار می‌کند. این تغییر تضمین می‌کند که Composable می‌تواند با پیاده‌سازی callback onReset از AndroidView با موفقیت بازنشانی شود و از هر دو پیاده‌سازی EMBEDDED و EXTERNAL پشتیبانی می‌کند. (I0d9be)
  • نشت مالک چرخه حیات که هنگام لغو اتصال موارد استفاده از مالک چرخه حیات بدون خاموش کردن ارائه‌دهنده دوربین رخ می‌دهد برطرف شد.

نسخه 1.5.0-beta01

۷ مه ۲۰۲۵

‫androidx.camera:camera-*:1.5.0-beta01 منتشر شده است. نسخه 1.5.0-beta01 حاوی این موارد ثبت است.

تغییرات میانای برنامه‌سازی کاربردی

  • پروژه‌های منتشرشده با Kotlin 2.0 برای استفاده به KGP 2.0.0 یا جدیدتر نیاز دارند (Idb6b5)
  • اکنون می‌توان از ContentScale و «تراز» در نمایاب برای مقیاس‌بندی و قرار دادن سطح نمایش‌داده‌شده در محفظه آن استفاده کرد، مشابه نحوه عملکرد androidx.compose.foundation.Image. (Ibcea3)
  • ‫TransformationInfo اکنون برای همه آرگومان‌ها مقادیر پیش‌فرض دارد. این کار اجازه می‌دهد Viewfinders بدون هیچ TransformationInfo ایجاد شود، که به‌طور پیش‌فرض چرخش منبع ۰، بدون آینه‌سازی منبع، و بدون مستطیل برش خواهد بود. (I2b1b2)
  • LifecycleCameraProvider اضافه شد که ارائه‌دهنده دوربین است و می‌توان آن را با پیکربندی‌های مختلف برای ویژگی‌هایی مثل دسترسی به دوربین دستگاه مجازی با پیکربندی بافت سفارشی‌سازی‌شده نمونه‌سازی کرد. (Ia2992)

رفع اشکال‌ها

  • مشکل ثابت ماندن پیش‌نما هنگام استفاده از ImageAnalysis با جاری‌سازی دیگری که از TEMPLATE_RECORD در دستگاه Samsung SM-E556B استفاده می‌کند برطرف شد. (Ic0e62، b/409478042)
  • مشکل ثابت شدن پیش‌نمایش هنگام استفاده از ImageAnalysis با جاری‌سازی دیگری که از TEMPLATE_RECORD در دستگاه Samsung SM-M556B استفاده می‌کند برطرف شد. (Ic1a6a، b/395822788)
  • مشکل AssertError حالت «شب» افزونه‌ها در دستگاه‌های Pixel دارای Android 15 هنگام انجام عملیات مربوط به بزرگ‌نمایی برطرف شد. (I27a5d، b/401460276)
  • رفع مشکل مختصات نادرست کادر محدودکننده ML Kit Analyzer هنگام استفاده از CameraController. (Iae91b،‏ b/409808510)

نسخه 1.5.0-alpha06

‫۲۶ فوریه ۲۰۲۵

‫androidx.camera:camera-*:1.5.0-alpha06 منتشر شده است. نسخه 1.5.0-alpha06 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫CameraInfo.getTorchStrengthLevel، CameraInfo.getMaxTorchStrengthLevel، و CameraControl.setTorchStrengthLevel برای سفارشی‌سازی روشنایی چراغ‌قوه اضافه شد (I00878)
  • میانای برنامه‌سازی کاربردی جدیدی CameraController#setTapToFocusAutoCancelDuration اضافه شده است تا کاربران بتوانند رفتار لغو خودکار را برای رویدادهای PreviewView «تک‌ضرب برای تمرکز» کنترل کنند. به‌طور پیش‌فرض، CameraX رویدادهای فوکوس را پس‌از ۵ ثانیه لغو می‌کند (یعنی فوکوس دوربین بازنشانی می‌شود) و این میانای برنامه‌سازی کاربردی امکان اصلاح این مدت‌زمان یا غیرفعال کردن کامل لغو خودکار را فراهم می‌کند. (Icf59a)
  • نام FLASH_STATE_READY به NOT_FIRED تغییر کرده است و نام‌های ثابت FlashState دیگر برای خوانایی بهتر ساده شده‌اند. (I8771d)
  • Exposed Low Light Boost API. دستگاه‌های دارای Android 15 یا بالاتر می‌توانند از «بهبود نور کم» پشتیبانی کنند. این ویژگی می‌تواند به‌طور خودکار روشنایی پیش‌نمایش، ویدیو، یا جریان‌های تجزیه‌وتحلیل تصویر را در شرایط کم‌نور تنظیم کند. برنامه‌ها می‌توانند از میانای برنامه‌سازی کاربردی جدید برای موارد زیر استفاده کنند: ۱. برای بررسی دردسترس بودن ویژگی، از CameraInfo#isLowLightBoostSupported استفاده کنید. ۲. وقتی دستگاه‌ها بتوانند از این حالت پشتیبانی کنند، از CameraControl#enableLowLightBoostAsync برای فعال کردن آن استفاده کنید. ۳. از CameraInfo#getLowLightBoostState برای نظارت بر وضعیت تقویت نور کم استفاده کنید. (I937ed)
  • کلاس‌های سازگاری اضافه کنید تا امکان پرسمان سریع‌تر غیر camera2 در camera-feature-combination-query فراهم شود. (Ie97ee)
  • برای رویدادهای ضربه زدن برای فوکوس CameraController، یک API جدید getTapToFocusInfoState() اکنون موقعیت ضربه مربوطه را نیز با برگرداندن یک LiveData از کلاس TapToFocusInfo نشان می‌دهد، درحالی‌که API قبلی LiveData<Integer> که getTapToFocusState() را برمی‌گرداند، به نفع API جدید منسوخ شده است. (I238d2)

رفع اشکال‌ها

  • مشکل اعمال نشدن لرزش‌گیر پیش‌نمایش هنگام فعال بودن لرزش‌گیر پیش‌نمایش با «افزونه‌ها» برطرف شد. (I24ad7)
  • مشکل بازنشانی نشدن رویداد حالت تمرکز CameraController به TAP_TO_FOCUS_NOT_STARTED وقتی CameraX رویداد تمرکز را به‌طور خودکار لغو می‌کند (که به‌طور پیش‌فرض بعداز ۵ ثانیه اتفاق می‌افتد) برطرف شد. (I31954)
  • مشکل ثابت ماندن پیش‌نمایش هنگام استفاده از «تأخیر شاتر صفر» (ZSL) پس‌از چندبار عکس‌برداری به‌دلیل آزاد نشدن منابع تصویر برطرف شد. (Ic3c2a)
  • مشکلات مربوط به قرمز شدن رنگ ویدیوهای UHD در برخی‌از دستگاه‌ها هنگام استفاده از OpenGL در خط لوله برطرف شد. (Idcedc)

نسخه 1.5.0-alpha05

‫۱۵ ژانویه ۲۰۲۵

‫androidx.camera:camera-*:1.5.0-alpha05 منتشر شده است. نسخه 1.5.0-alpha05 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • VideoCapture.getSelectedQuality() را اضافه کنید تا «کیفیت» انتخاب‌شده براساس QualitySelector را بدانید. (I70508،‏ b/204288986)
  • وقتی ضبط تصویر با ImageCapture.OnImageCapturedCallback API فراخوانی می‌شود، اکنون می‌توان از ImageInfo در ImageProxy برگردانده‌شده برای اطلاع از اینکه فلاش ازطریق ImageInfo.getFlashState() API جدید فعال شده است یا نه استفاده کرد. (Id2c61، b/380527406)
  • پشتیبانی از قالب خروجی OUTPUT_IMAGE_FORMAT_NV21 برای ImageAnalysis اضافه شد. (I484ab)
  • برداشتن حاشیه‌نویسی آزمایشی از خروجی ساختاریافته featurecombinationquery (I4427f)
  • وقتی حالت افزونه‌ها فعال است، محدوده نسبت بزرگ‌نمایی مجاز برای CameraControl را براساس ویژگی‌های خاص «افزونه‌ها» تنظیم کنید. (I85af1)

رفع اشکال‌ها

  • ‫compileSdk به ۳۵ ارتقا داده شد تا از میانای برنامه‌سازی کاربردی مرتبط با Android 15 استفاده کند. برنامه‌هایی که از کتابخانه‌های CameraX استفاده می‌کنند نیز باید تنظیمات پیکربندی compileSdk خود را ارتقا دهند. (Ic80cd)
  • این کتابخانه اکنون از حاشیه‌نویسی‌های پوچی JSpecify استفاده می‌کند که از نوع استفاده هستند. توسعه‌دهندگان Kotlin باید از آرگومان کامپایلر زیر برای اجرای استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این پیش‌فرض از نسخه ۲.۱.۰ کامپایلر Kotlin شروع می‌شود). (Idc6c6، b/326456246)

نسخه 1.5.0-alpha04

‫۱۱ دسامبر ۲۰۲۴

‫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

‫۳۰ اکتبر ۲۰۲۴

‫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 درصورت فعال بودن جلوه یا محدود بودن ۴ مورد استفاده (هم‌رسانی جاری‌سازی) برطرف شد. (I916c5،‏ b/345993685)
  • رویداد VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE ثابت‌شده هنگام ضبط ویدیو راه‌اندازی نمی‌شود و فضای ذخیره‌سازی کافی دردسترس نیست. (I35779، b/356399842)

نسخه 1.5.0-alpha02

‫۲ اکتبر ۲۰۲۴

‫androidx.camera:camera-*:1.5.0-alpha02 منتشر شده است. نسخه 1.5.0-alpha02 حاوی این ارسال‌ها است.

ویژگی‌های جدید

  • میاناهای برنامه‌سازی کاربردی جدید برای جستجوی ویژگی‌های دوربین که توسط دستگاه پشتیبانی می‌شود. برای مثال، بررسی اینکه آیا HDR و ۶۰ فریم در ثانیه می‌توانند هم‌زمان فعال شوند یا نه. این کتابخانه شامل ۲ آرتیفکت است: 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 از وضوح بزرگ‌تر یا مساوی ۱۹۲۰x۱۴۴۰ استفاده می‌کند، باعث مشکل پیش‌نمایش سیاه می‌شود. ExcludedSupportedSizesQuirk در دستگاه SM-A057G اعمال شد تا از بروز مشکل جلوگیری شود. (I63dfe، b/365877975)
  • مشکل نرخ فریم هدف Preview/VideoCapture برطرف شد. این مشکل زمانی رخ می‌داد که سازوکار هم‌رسانی جاری‌سازی به‌طور داخلی برای هم‌رسانی جاری‌سازی در Preview و VideoCapture فعال بود. (I4fdac)
  • راه حل موقت برای رفع مشکل فراداده نادرست تصویر JPEG در دستگاه‌های Samsung S10e و S10+‎ فعال شد. با این اصلاح، CameraX می‌تواند تصویر JPEG را با موفقیت ذخیره کند، یا اگر مشکل فراداده تصویر JPEG نادرست رخ دهد، هنگام فراخوانی تابع ImageProxy.toBitmap() در این دستگاه‌ها، اشیای Bitmap صحیح می‌توانند برگردانده شوند. (Iae493، b/356428987)
  • افزونه‌های دوربین پشت Samsung A52s با شناسه 0 غیرفعال شد، زیرا ممکن است هنگام ثبت تصاویر HDR خرابی بومی رخ دهد و پیکربندی جلسه‌های ثبت برای حالت‌های «بوکه» یا «رتوش چهره» ناموفق باشد. (I03ec9، b/364152642)
  • رویداد VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE ثابت‌شده هنگام ضبط ویدیو راه‌اندازی نمی‌شود و فضای ذخیره‌سازی کافی دردسترس نیست. (Ia5b4f، b/356399842)
  • مشکل ناموفق بودن دومین تلاش برای ضبط ویدیو در Oppo A5 (CPH1931) برطرف شد. (I181d6)

نسخه 1.5.0-alpha01

‫۴ سپتامبر ۲۰۲۴

‫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 را به‌عنوان یک API رسمی معرفی کردیم. (I901cd)
  • ‫API PendingRecording.withAudioEnabled(boolean initialMuted) برای کنترل وضعیت بی‌صدا کردن اولیه اضافه شد. (I635c3، b/354829267)

رفع اشکال‌ها

  • مشکل ازکارافتادن هنگام فراخوانی bindToLifecycle با LifecycleOwner ازبین‌رفته برطرف شد. (I6e6d8)
  • مشکل سیاه شدن صفحه پیش‌نمایش در دوربین جلو هنگام اتصال با VideoCapture در Motorola Edge 20 Fusion برطرف شد. (I1fe88)
  • پیکربندی تشخیص اشاره‌های بزرگ‌نمایی در PreviewView برای بهبود روان بودن بهینه‌سازی شد. (I04ffc)

نسخه دوربین ۱.۴

نسخه ۱.۴.۲

‫۲۶ مارس ۲۰۲۵

‫androidx.camera:camera-*:1.4.2 منتشر شده است. نسخه ۱.۴.۲ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • مشکل توقف پیش‌نمایش هنگام استفاده از ImageAnalysis با جاری‌سازی دیگری که از TEMPLATE_RECORD در Samsung Galaxy M55 استفاده می‌کند برطرف شد. (Ic1a6a، b/395822788)

نسخه ۱.۴.۱

‫۱۱ دسامبر ۲۰۲۴

‫androidx.camera:camera-*:1.4.1 منتشر شده است. نسخه ۱.۴.۱ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • مشکلی در دستگاه‌های Pixel Android 15 برطرف شد که در آن حالت «شب» در «افزونه‌ها» نمی‌توانست تصاویر ثابت را ثبت کند تا زمانی که دوربین روی شیء نزدیک فوکوس می‌کرد. (I228d4)
  • مشکل عملکرد نادرست ImageCapture#takePicture هنگام فعال بودن افزونه‌ها و اتصال VideoCapture به یکدیگر برطرف شد. (I5c745)

نسخه ۱.۴.۰

‫۳۰ اکتبر ۲۰۲۴

‫androidx.camera:camera-*:1.4.0 منتشر شده است. نسخه ۱.۴.۰ حاوی این ثبت‌ها است.

تغییرات مهم از نسخه ۱.۳.۰

CameraX 1.4.0 با به‌روزرسانی‌های هیجان‌انگیزی همراه است! خلاصه تغییرات:

ویژگی اصلی: HDR‏ ۱۰ بیتی:

  • عکس‌ها و ویدیوهای HDR خیره‌کننده را به‌راحتی ضبط کنید.
  • از کدبندی HLG و HEVC‏ ۱۰ بیتی پشتیبانی می‌کند.
  • از پیش‌نمایش HDR‏ ۱۰ بیتی و قابلیت‌های دستگاه پرسمان لذت ببرید.
  • با تصاویر UltraHDR و ویدیو HDR در طیف روبه‌رشدی از دستگاه‌ها کار می‌کند.

ویژگی‌های جالب دیگر:

  • افزونه‌های Kotlin: توابع تعلیق takePicture و awaitInstance اضافه شد.
  • جلوه‌های هم‌زمان: جلوه‌هایی مانند ته‌نقش و برجسته‌سازی اشیاء را اعمال کنید.
  • CameraController API: کنترل‌های جدید برای پیکربندی ضبط ویدیو.
  • پیش‌نمایش لرزش‌گیر: قابلیت دستگاه را جستجو کنید و لرزش‌گیر را فعال کنید.
  • بهبودهای VideoCapture: کنترل دقیق‌تر بر کیفیت و دسترسی به وضوح‌های بالاتر.
  • ادغام افزونه‌های CameraX: ادغام یکپارچه با VideoCapture و ویژگی‌های جدید ImageCapture.
  • میانای برنامه‌سازی کاربردی صدای شاتر: به‌راحتی الزامات منطقه‌ای صدای شاتر را بررسی کنید.
  • فلاش صفحه‌نمایش: عکس‌های بهبودیافته در نور کم برای دوربین‌های جلو.
  • Camera Extensions Metadata APIs: Supporting APIs for adjusting extensions strength and get notification of current Extensions mode in ExtensionMode#AUTO. می‌توانید رفع اشکال‌های بیشتری را در اعلان‌های بتا و RC ما پیدا کنید.

نسخه 1.4.0-rc04

‫۱۶ اکتبر ۲۰۲۴

‫androidx.camera:camera-*:1.4.0-rc04 منتشر شده است. نسخه 1.4.0-rc04 حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • مشکل عدم دریافت مختصات صحیح حسگر هنگام فراخوانی startFocusMetering با PreviewView.getMeteringPointFactory درصورت فعال بودن جلوه یا محدود بودن ۴ مورد استفاده (هم‌رسانی جاری‌سازی) برطرف شد. (I916c5،‏ b/345993685)

نسخه 1.4.0-rc03

‫۲ اکتبر ۲۰۲۴

‫androidx.camera:camera-*:1.4.0-rc03 منتشر شده است. نسخه 1.4.0-rc03 حاوی این کدهای ثبت‌شده است.

رفع اشکال‌ها

  • عملکردهای فلاش/چراغ‌قوه/3A برای ضبط تصویر با CameraEffect اضافه شد. تصاویر ضبط‌شده با CameraEffect اکنون باید همان پردازش‌های پیش‌از ضبط و پس‌از ضبط (مثلاً راه‌انداز فلاش، همگرایی 3A، و غیره درصورت وجود) را داشته باشند که ضبط تصویر بدون هیچ CameraEffect دارد. (I5ff30)
  • بهینه‌سازی روان بودن بزرگ‌نمایی با نزدیک کردن انگشتان در PreviewView (I04ffc)
  • Ultra HDR را از قابلیت خروجی ۱۰ بیتی جدا کنید، زیرا پشتیبانی از Ultra HDR دیگر نیازی به داشتن قابلیت خروجی ۱۰ بیتی در دستگاه‌ها ندارد. (I96ff2، I0c3b3)

نسخه 1.4.0-rc02

‫۱۸ سپتامبر ۲۰۲۴

‫androidx.camera:camera-*:1.4.0-rc02 منتشر شده است. نسخه 1.4.0-rc02 حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • مشکل ازکارافتادن هنگام فراخوانی bindToLifecycle با LifecycleOwner ازبین‌رفته برطرف شد. (I6e6d8)
  • پویانمایی رؤیت‌پذیری در ScreenFlashView برای ScreenFlash#apply اضافه شد که اشکال‌های ناشی از تکمیل ناهمگام تغییر روشنایی پس‌از مدتی را نیز برطرف می‌کند. (I37cdb)
  • بهبود روان بودن بزرگ‌نمایی با لغو تنظیمات بزرگ‌نمایی در چارچوب در دستگاه‌های پشتیبانی‌شده.

نسخه 1.4.0-rc01

‫۷ اوت ۲۰۲۴

‫androidx.camera:camera-*:1.4.0-rc01 منتشر شده است. نسخه 1.4.0-rc01 حاوی این ارسال‌ها است.

ویژگی‌های جدید

  • CameraInfo.getCameraInfo آزمایشی اضافه شد تا اطلاعات خاص دوربین را بدون نیاز به اتصال موارد استفاده به دوربین ارائه دهد. (I550d1)

تغییرات میانای برنامه‌سازی کاربردی

  • ‫PreviewView.getScreenFlash و PreviewView.setScreenFlashOverlayColor API برای مواردی که ScreenFlashView به‌طور صریح اضافه نشده است اضافه شد. (I43945)

رفع اشکال‌ها

  • مشکلات نوردهی و ته‌رنگ هنگام ضبط تصویر با فلاش فعال در نور کم با محدودیت مورد استفاده VideoCapture برطرف شد. (Ic9814)
  • مشکلی که باعث می‌شد قطع کردن درخواست takePicture درحالی‌که «افزونه‌ها» فعال بود منجر به عدم دریافت نتیجه شود و درخواست takePicture بعدی دیگر کار نکند برطرف شد. (Iae78f)
  • مشکل نشت حافظه که هنگام فعال بودن «افزونه‌ها» رخ می‌داد برطرف شد. (Iab276)
  • مشکل عملکرد نادرست افزونه‌های CameraX در دستگاه‌هایی مثل Pixel 7/8 و سری Samsung Galaxy S24 برطرف شد. این مشکل که از مشکل تبدیل Camera2OutputConfigImpl در حالت انتشار ناشی می‌شود، پس‌از ارتقای AGP به نسخه ۸.۵.۱ و فعال کردن کوچک‌سازی ظاهر شد. (I99598،‏ b/354824993)

نسخه 1.4.0-beta02

‫۱۲ ژوئن ۲۰۲۴

‫androidx.camera:camera-*:1.4.0-beta02 منتشر شده است. نسخه 1.4.0-beta02 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • مشابه VideoCapture، setMirrorMode را برای مورد استفاده «پیش‌نمایش» اضافه کنید. این ویژگی از حالت آینه‌ای «روشن» و «خاموش» برای جاری‌سازی «پیش‌نمایش» ازطریق OutputConfiguration.setMirrorMode از میانای برنامه‌سازی کاربردی ۳۳ و بالاتر پشتیبانی می‌کند، برای میاناهای برنامه‌سازی کاربردی قدیمی‌تر، این ویژگی غیرفعال خواهد بود. (I821f4)

رفع اشکال‌ها

  • مشکل عدم موفقیت برنامه‌ها در گرفتن عکس در Samsung Tab A8 وقتی ImageCapture گزینه ۱۹۲۰x۱۰۸۰ را در ترکیب Preview + VideoCapture + ImageCapture UseCase انتخاب می‌کند برطرف شد. (I5a463، b/336925549)
  • مشکل ضبط مداوم که ممکن بود پس‌از عوض کردن دوربین ادامه پیدا نکند برطرف شد. (Icb0a1)

نسخه 1.4.0-beta01

‫۱۴ مه ۲۰۲۴

‫androidx.camera:camera-*:1.4.0-beta01 منتشر شده است. نسخه 1.4.0-beta01 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • ZoomGestureDetector.ZoomEvent برای کپسوله‌سازی حالت‌های اشاره بزرگ‌نمایی اضافه شد. (I84cdf)

رفع اشکال‌ها

  • اشکالی برطرف شد که در آن ضبط عکس و ضربه زدن برای فوکوس از مقادیر حالت لرزش‌گیر/FPS درخواست تکرار استفاده نمی‌کردند که ممکن بود جلسه ضبط را دوباره ایجاد کند و باعث مشکلات تأخیر یا ثابت شدن «پیش‌دید» در برخی‌از دستگاه‌ها شود. (I7dc0b)
  • رفع اشکالی که در آن وقتی CameraEffect در برخی‌از دستگاه‌ها فعال است، نمی‌توان «وضوح بالا» را انتخاب کرد. (مثلاً ۴۰۰۰×۳۰۰۰ در Samsung A32 5G). (Ie3ed3، b/337336152)
  • خرابی هنگام عکس گرفتن با «پیش‌نمایش» برطرف شد، ImageCapture و VideoCapture(UHD) به Pixel 4XL API29 محدود شده‌اند. (I5b288)
  • پشتیبانی از دستگاه‌های مجازی: زمینه‌ای که به ProcessCameraProvider منتقل می‌شود شناسه دستگاه را حفظ می‌کند تا عملکرد در محیط دستگاه مجازی تضمین شود. (I5ba48)

نسخه 1.4.0-alpha05

‫۱۷ آوریل ۲۰۲۴

‫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 ضبط می‌کند. این قالب با قالب SDR JPEG سازگار با نسخه قدیمی است و از رندر کردن محتوای HDR پشتیبانی می‌کند. این یعنی در برنامه‌ها یا دستگاه‌های قدیمی‌تر، تصاویر به‌صورت JPEG معمولی نمایش داده می‌شوند؛ در برنامه‌ها و دستگاه‌هایی که برای پشتیبانی کامل از این قالب به‌روز شده‌اند، تصاویر به‌صورت HDR نمایش داده می‌شوند. (I5de50)
  • افزودن PhysicalCameraInfo در CameraInfo برای پرسمان اطلاعات دوربین فیزیکی و افزودن تنظیم‌کننده/گیرنده شناسه دوربین فیزیکی در CameraSelector (Ic5b90)
  • CameraController#COORDINATE_SYSTEM_VIEW_REFERENCED را با ImageAnalysis#COORDINATE_SYSTEM_VIEW_REFERENCED جایگزین کنید. مقدار ثابت بدون تغییر باقی می‌ماند. This is for consolidating all the constants into one place. (I890bb)
  • RetryPolicy API جدید به توسعه‌دهندگان امکان می‌دهد رفتار تکرار مجدد را برای مقداردهی اولیه CameraX سفارشی‌سازی کنند. (I36dd2)
  • فعال کردن ایجاد شیء ImageCaptureLatencyEstimate برای کمک به آزمایش‌پذیری (Iaba99)
  • ImageAnalysis#COORDINATE_SYSTEM_SENSOR اضافه کنید. وقتی از این استفاده می‌شود، MlKitAnalyzer مختصات را در سیستم مختصات حسگر دوربین برمی‌گرداند. (I3ec61)
  • Exposed extensions metadata API. میاناهای جدید CameraExtensionsInfo و CameraExtensionsControl به برنامه‌ها اجازه می‌دهند تنظیمات قدرت افزونه را پایش و اصلاح کنند. برنامه‌ها می‌توانند نمونه CameraExtensionsInfo یا CameraExtensionsControl را ازطریق روش‌های جدیداً اضافه‌شده ExtensionsManager#getCameraExtensionsInfo() یا ExtensionsManager#getCameraExtensionsControl() دریافت کنند. (I28e1a)
  • ‫ProcessCameraProvider.awaitInstance که نسخه تعلیق‌کننده ProcessCameraProvider.getInstance است اضافه شد (Ib22b9)
  • یک میانای برنامه‌سازی کاربردی PreviewView#getSensorToViewTransform() اضافه کنید. «ماتریس» نشان‌دهنده تبدیل از مختصات حسگر دوربین به مختصات PreviewView است. از این می‌توان برای تبدیل مختصات از یک UseCase به دیگری استفاده کرد. برای مثال، تبدیل مختصات اشیای شناسایی‌شده در ImageAnalysis به هم‌پوشانی PreviewView. (I947ab)
  • Make camera-viewfinder-core API more generic so it can be used by camera-viewfinder and camera-viewfinder-compose. (I1e295)
  • افزودن تابع getSurface به ViewfinderSurfaceRequest. (I781a0)
  • از camera-viewfinder-core در camera-viewfinder استفاده کنید و ViewfinderSurfaceRequest و CameraViewfinder را منسوخ کنید. (I6198c)
  • ZoomGestureDetector اضافه شد که اشاره‌های مقیاس‌بندی را که به‌طور خاص برای فعالیت نزدیک کردن انگشتان برای بزرگ‌نمایی پیکربندی شده‌اند تفسیر می‌کند. (Ifafbf)

رفع اشکال‌ها

  • مشکل انتخاب وضوح ImageAnalysis مربوط به تنظیم وضوح هدف پیش‌فرض تحلیل‌گر برطرف شد: وضوح هدف به‌اشتباه روی ۶۴۰×۴۸۰ باقی می‌ماند، حتی اگر برنامه‌ها تنظیم وضوح پیش‌فرض تحلیل‌گر متفاوتی را تنظیم کرده بودند. اگر برنامه‌ها با این مشکل (۱.۳.۰ تا ۱.۳.۲) مواجه شوند و نتوانند برای استفاده از نسخه‌های جدیدتر که حاوی راه‌حل هستند ارتقا یابند، تنظیم مستقیم ResolutionSelector با وضوح ترجیحی و AspectRatioStrategy منطبق با ImageAnalysis UseCase می‌تواند این مشکل را برطرف کند. (I81f72، b/330091012)
  • مشکلی برطرف شد که در آن اگر درخواست فعلی ناموفق بود، درخواست takePicture در صف ممکن بود اجرا نشود. (Ie0801)
  • بررسی داده‌های JPEG نامعتبر را برای دستگاه‌های Vivo X60 و X60 Pro اعمال کنید. این کار می‌تواند مشکل تصویر بزرگ غیرعادی را در این دستگاه‌ها برطرف کند. (I82247، b/288828159)
  • مشکل فراداده نادرست تصویر JPEG در دستگاه‌های Samsung A24 برطرف شد. با این اصلاح، CameraX می‌تواند تصویر JPEG را با موفقیت ذخیره کند، یا هنگام فراخوانی تابع ImageProxy.toBitmap() در دستگاه‌های Samsung A24، اشیای Bitmap صحیح برگردانده می‌شوند. (I8d6eb، b/309005680)
  • اگر تصویر گرفته‌شده بزرگ‌تر از ۱۰ مگابایت باشد، بررسی داده‌های JPEG نامعتبر برای همه دستگاه‌های Samsung اعمال می‌شود. این کار می‌تواند مشکل تصویر بزرگ غیرعادی را در دستگاه‌های Samsung برطرف کند. (Ic2a65، b/288828159)
  • پشتیبانی از ImageAnalysis در «افزونه‌های CameraX» برداشته شد زیرا پیاده‌سازی‌های «افزونه‌های» بسیاری از سازندگان تجهیزات اصلی به‌خوبی با ImageAnalysis کار نمی‌کند و ممکن است باعث مشکلات ناهماهنگ شود. (I2d926)

نسخه 1.4.0-alpha04

‫۲۴ ژانویه ۲۰۲۴

‫androidx.camera:camera-*:1.4.0-alpha04 منتشر شده است. نسخه 1.4.0-alpha04 شامل این commit-ها است.

ویژگی‌های جدید

  • ساخته جدید: 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 تغییر کرد و به‌جای نمایش مستقیم SCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS، روش getScreenFlashUiApplyTimeoutSeconds اضافه شد. (Iccdd0)

رفع اشکال‌ها

  • رفع نشت حافظه که منجر به عدم انتشار فعالیت‌ها یا قطعه‌ها درصورت فعال بودن «افزونه‌ها» می‌شد (I14215)
  • مشکلی که باعث می‌شد getZoomRatio هنگام اعمال نسبت بزرگ‌نمایی افزایشی، به‌اشتباه مقدار کاهش‌یافته‌ای را برگرداند برطرف شد. (I4aa0d، b/317543616)
  • رویداد ImageCapture#ScreenFlash#clear بلافاصله پس‌از لغو اتصال ImageCapture یا بسته شدن دوربین فراخوانی می‌شود، همچنین برخی‌از اشکال‌ها را که در آن‌ها به‌دلیل تکمیل نشدن صحیح ضبط در این سناریوها هرگز فراخوانی نمی‌شود برطرف می‌کند. (If99f9)
  • خرابی‌ای که وقتی چرخه حیات قبل‌از تکمیل درخواست takePicture متوقف می‌شد رخ می‌داد برطرف شد (Idf017، b/306202751)
  • مشکلی که باعث می‌شد پیش‌نمایش دوربین هنگام فعال بودن «افزونه‌ها» در برخی‌از دستگاه‌ها سیاه شود برطرف شد (I1ffd0)
  • مدت‌زمان نادرست ضبط ویدیو در دستگاه‌هایی که از Snapdragon 778G SoC استفاده می‌کنند برطرف شد. (If6aa7، b/316057919)

نسخه 1.4.0-alpha03

‫۱۳ دسامبر ۲۰۲۳

‫androidx.camera:camera-*:1.4.0-alpha03 منتشر شده است. نسخه 1.4.0-alpha03 حاوی این commit-ها است.

ویژگی‌های جدید

  • CameraInfo.mustPlayShutterSound اضافه شد تا اطلاعات مربوط به اینکه آیا صدای شاتر باید مطابق با محدودیت‌های منطقه‌ای پخش شود یا نه ارائه شود. (Ifda84)
  • OnImageCapturedCallback.onCaptureStarted و OnImageSavedCallback.onCaptureStarted برای اطلاع‌رسانی هنگام شروع نوردهی قاب توسط دوربین اضافه شد. توصیه می‌شود در این مرحله صدای شاتر یا پویانمایی شاتر پخش شود. (Ic49b3)
  • پشتیبانی از ویژگی «چشمک‌زنی صفحه» در CameraX برای ضبط تصویر با دوربین جلو اضافه شد. CameraX مدیریت API سمت چارچوب را برعهده می‌گیرد و زمان‌بندی را با تغییرات واسط کاربر برنامه درصورت نیاز همگام‌سازی می‌کند (برای مثال، راه‌انداز پیش‌ثبت نوردهی خودکار پس‌از تغییر رنگ/روشنایی صفحه‌نمایش برنامه). برنامه‌ها فقط باید پیاده‌سازی‌های سمت واسط کاربر خود را در میانای 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 پشتیبانی می‌کند. یک مورد استفاده رایج زمانی است که برنامه تلاش می‌کند ویدیو UHD را هر زمان که ممکن باشد ضبط کند، اما CamcorderProfile دستگاه شامل تنظیمات UHD نیست، حتی اگر کدک قادر به ضبط ویدیو UHD باشد. (Iedbe2، b/263961771)
  • افزودن گیرنده/تنظیم‌کننده قالب خروجی ImageAnalysis به CameraController. (I9a96c، b/308240643)

رفع اشکال‌ها

  • از دوربین 1.3.1: عملکرد ProcessCameraProvider#bindToLifecycle() بهبود یافته است. تغییر عمده بهینه‌سازی فرایند شناسایی مناسب‌ترین ترکیب‌های اندازه برای UseCases است. نتایج بهینه براساس ترکیب‌های خاص UseCase و تعداد اندازه‌های خروجی پشتیبانی‌شده برای دستگاه‌های هدف متفاوت است. (I454f2)
  • وقتی «افزونه‌ها» فعال است، اجازه استفاده از VideoCapture را بدهید. (I91f32)
  • مشکل تصویر JPEG بزرگ ضبط‌شده در دستگاه‌های سری Samsung A71 و M51 برطرف شد. تصاویر JPEG ضبط‌شده حاوی داده‌های حاشیه‌گذاری ۰ زائد در بخش داده‌های فشرده JFIF است. این کار باعث می‌شود تصاویر گرفته‌شده اندازه فایل بسیار بزرگی داشته باشند. آن داده‌های لایی 0 زائد برداشته خواهند شد تا تصاویر ثبت‌شده اندازه فایل تصویری معمولی داشته باشند. (I01afc، b/288828159)
  • پشتیبانی از ImageAnalysis را در Pixel غیرفعال کنید تا از اشکال Pixel که به‌طور تصادفی اندازه‌های پشتیبانی‌شده ImageAnalysis غیرخالی را برمی‌گرداند جلوگیری شود. (I7ec31)
  • مشکل عملکردی که در آن بارگذاری واحد پردازش مرکزی و مصرف برق هنگام فعال بودن «افزونه‌ها» افزایش می‌یافت برطرف شد. (Ibdccb)
  • Snapdragon 480 به CameraUseInconsistentTimebaseQuirk اضافه شد. این به‌روزرسانی مشکلی را در Android 12 برای دستگاه‌هایی که از این مجموعه تراشه استفاده می‌کنند برطرف می‌کند که در آن صدای ضبط‌شده به‌اندازه مدت زمانی که دستگاه در حالت تعلیق است جابه‌جا می‌شود. (I58010)

نسخه 1.4.0-alpha02

‫۱۸ اکتبر ۲۰۲۳

‫androidx.camera:camera-*:1.4.0-alpha02 منتشر شده است. نسخه 1.4.0-alpha02 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • نام API را به setCameraOpenRetryMaxTimeoutInMillisWhileResuming تغییر دهید و نام متغیر مستقل را تغییر دهید. (I72370)
  • افزودن میاناهای برنامه‌سازی کاربردی برای پرسمان از قابلیت دستگاه و فعال کردن لرزش‌گیر ویدیو/پیش‌نمایش. (I87544)
  • ارائه میانای برنامه‌سازی کاربردی برای سفارشی‌سازی حداکثر زمان وقفه برای تلاش مجدد باز کردن دوربین. (I0c642)
  • ‫ProcessCameraProvider.shutdownAsync به‌عنوان میانای برنامه‌سازی کاربردی آزمایش عمومی منتشر شد تا امکان استفاده از ارائه‌دهنده دوربین پردازش در مجموعه‌های آزمایشی فراهم شود که ممکن است لازم باشد CameraX را به روش‌های مختلف بین آزمایش‌ها مقداردهی اولیه کنند. (I9eca7)
  • افزودن میاناهای برنامه‌سازی کاربردی برای پیکربندی دامنه پویای ضبط ویدیو، نرخ فریم، و حالت آینه‌ای. (Ifb8f7)
  • OutputSize را منسوخ کنید و آن را با ResolutionSelector جایگزین کنید. ResolutionSelector روش جامع‌تری برای انتخاب وضوح است و با camera-core API سازگار است. (I93abd، b/286801438)

رفع اشکال‌ها

  • مشکل پیش‌نمایش سیاه در Samsung Galaxy S23 Ultra 5G هنگام فعال بودن «افزونه‌های بوکه» یا «رتوش چهره» با ImageAnalysis در دوربین پشت برطرف شد. (I2e8b1)
  • مشکلات مربوط به «پیش‌نمایش ثابت» و کشیدگی VideoCapture در Moto E5 Play برطرف شد. (73dce2)

نسخه 1.4.0-alpha01

‫۲۰ سپتامبر ۲۰۲۳

‫androidx.camera:camera-*:1.4.0-alpha01 منتشر شده است. نسخه 1.4.0-alpha01 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • افزودن میانای برنامه‌سازی کاربردی جدید برای دسترسی به اطلاعات دامنه صدا درحین ضبط. (Id4925)

رفع اشکال‌ها

  • بهبود پایداری «افزونه‌ها» با اطمینان از اینکه رویدادهای مقداردهی اولیه و مقداردهی نهایی به‌ترتیب صحیح راه‌اندازی می‌شوند. (Ib3b8e)
  • مشکل پیکربندی جلسه ضبط به‌دلیل فراتر رفتن از ترکیب سطح پشتیبانی‌شده به‌خاطر افزودن سطح تکراری اضافی به‌صورت داخلی برطرف شد. (Id718c)
  • مشکل تصویر JPEG بزرگ ضبط‌شده در دستگاه Vivo S16 برطرف شد. تصاویر JPEG ضبط‌شده حاوی داده‌های حاشیه‌گذاری ۰ زائد در بخش داده‌های فشرده JFIF است. این کار باعث می‌شود تصاویر گرفته‌شده اندازه فایل بزرگی داشته باشند. آن داده‌های لایی 0 زائد برداشته خواهند شد تا تصاویر ثبت‌شده اندازه فایل تصویری معمولی داشته باشند. (I79505، b/299069235)
  • مشکل عدم امکان اتصال ImageAnalysis با ImageCapture و «پیش‌نمایش» درصورت فعال بودن برخی حالت‌های افزونه در برخی دستگاه‌ها برطرف شد. وقتی برنامه‌ها دردسترس بودن ImageAnalysis را ازطریق ExtensionsManager#isImageAnalysisSupported() جستجو کنند، این اصلاح مقدار صحیح را برمی‌گرداند. (I7d538)
  • JavaDoc را برای مطابقت با رفتار به‌روز کنید. به‌جای تکمیل فوری، #setZoomRatio، #setLinearZoom، و #enableTorch تا آماده شدن دوربین منتظر می‌مانند. همچنین اطلاعاتی درباره نحوه دریافت حداکثر میدان دید با #takePicture API اضافه شد. (I23588)

نسخه ۱.۳

نسخه ۱.۳.۴

‫۱۲ ژوئن ۲۰۲۴

‫androidx.camera:camera-*:1.3.4 منتشر شده است. نسخه ۱.۳.۴ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • مشکلی که باعث می‌شد getZoomRatio هنگام اعمال نسبت بزرگ‌نمایی افزایشی، به‌اشتباه مقدار کاهش‌یافته‌ای را برگرداند برطرف شد. (I4aa0d، b/317543616)
  • مشکل عدم استفاده از مقادیر حالت لرزش‌گیر/FPS درخواست تکراری در عکس‌برداری ثابت/ضربه زدن برای فوکوس برطرف شد. این مشکل ممکن بود باعث ایجاد مجدد جلسه عکس‌برداری شود و در برخی دستگاه‌ها مشکلات تأخیر یا توقف «پیش‌نمایش» ایجاد کند. (I7dc0b)
  • مشکل تنظیم نرخ فریم روی مقدار پایین‌تر هنگام فراخوانی setTargetFrameRate با FRAME_RATE_RANGE_UNSPECIFIED برطرف شد. (I78c61)

نسخه ۱.۳.۳

‫۱۷ آوریل ۲۰۲۴

‫androidx.camera:camera-*:1.3.3 منتشر شده است. نسخه ۱.۳.۳ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • مشکل انتخاب وضوح ImageAnalysis مربوط به تنظیم وضوح هدف پیش‌فرض تحلیل‌گر برطرف شد: وضوح هدف به‌اشتباه روی ۶۴۰×۴۸۰ باقی می‌ماند، حتی اگر برنامه‌ها تنظیم وضوح پیش‌فرض تحلیل‌گر متفاوتی را تنظیم کرده بودند. اگر برنامه‌ها با این مشکل (۱.۳.۰ تا ۱.۳.۲) مواجه شوند و نتوانند برای استفاده از نسخه‌های جدیدتر که حاوی راه‌حل هستند ارتقا یابند، تنظیم مستقیم ResolutionSelector با وضوح ترجیحی و AspectRatioStrategy منطبق با ImageAnalysis UseCase می‌تواند این مشکل را برطرف کند. (I81f72، b/330091012)

نسخه ۱.۳.۲

۶ مارس ۲۰۲۴

‫androidx.camera:camera-*:1.3.2 منتشر شده است. نسخه ۱.۳.۲ حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • مشکل فراداده JPEG در دستگاه‌های Samsung A24 برطرف شد. CameraX اکنون تصاویر را به‌درستی ذخیره می‌کند و تابع ImageProxy.toBitmap() اشیاء بیت‌مپ صحیح را برمی‌گرداند. (I8d6eb، b/309005680)
  • گزینه وضوح ۹۲۸۰x۶۹۴۴ در دستگاه‌های Redmi Note 9 Pro به‌دلیل وجود مشکل برداشته شد. (Ia23da)

نسخه ۱.۳.۱

‫۱۳ دسامبر ۲۰۲۳

‫androidx.camera:camera-*:1.3.1 منتشر شده است. نسخه ۱.۳.۱ حاوی این ثبت‌ها است.

رفع اشکال‌ها

عملکرد ProcessCameraProvider#bindToLifecycle() بهبود یافته است. تغییر عمده بهینه‌سازی فرایند شناسایی مناسب‌ترین ترکیب‌های اندازه برای UseCases است. نتایج بهینه براساس ترکیب‌های خاص UseCase و تعداد اندازه‌های خروجی پشتیبانی‌شده برای دستگاه‌های هدف متفاوت است. (I454f2)

در اینجا چند نتیجه مرجع برای سناریوهای مختلف آورده شده است:

  • چهار UseCases: Preview + ImageCapture + ImageAnalysis + VideoCapture

    • ‫Google Pixel 7: تقریباً ۴۳۰ میلی‌ثانیه تا ۶۰ میلی‌ثانیه
    • ‫Samsung Galaxy S23 Ultra: تقریباً ۵۴۰ میلی‌ثانیه تا ۴۵ میلی‌ثانیه
    • ‫Samsung A53 5G: تقریباً ۱۱۵ میلی‌ثانیه تا ۷۰ میلی‌ثانیه
  • سه UseCases: Preview + ImageCapture + ImageAnalysis

    • ‫Google Pixel 7: تقریباً ۹ میلی‌ثانیه تا ۷ میلی‌ثانیه
    • ‫Samsung Galaxy S23 Ultra: تقریباً ۶ میلی‌ثانیه تا ۵ میلی‌ثانیه
    • ‫Samsung A53 5G: تقریباً ۳۲ میلی‌ثانیه تا ۱۲ میلی‌ثانیه
  • Snapdragon 480 به CameraUseInconsistentTimebaseQuirk اضافه شد. این به‌روزرسانی مشکلی را در Android 12 برای دستگاه‌هایی که از این مجموعه تراشه استفاده می‌کنند برطرف می‌کند که در آن صدای ضبط‌شده به‌اندازه مدت زمانی که دستگاه در حالت تعلیق است جابه‌جا می‌شود. (I58010)

نسخه ۱.۳.۰

‫۱۸ اکتبر ۲۰۲۳

‫androidx.camera:camera-*:1.3.0 منتشر شده است. نسخه ۱.۳.۰ حاوی این ارسال‌ها است.

تغییرات مهم از نسخه ۱.۲.۰

نسخه 1.3.0-rc02

‫۲۰ سپتامبر ۲۰۲۳

‫androidx.camera:camera-*:1.3.0-rc02 منتشر شده است. نسخه 1.3.0-rc02 شامل این commit-ها است.

رفع اشکال‌ها

  • بهبود پایداری «افزونه‌ها» با اطمینان از اینکه رویدادهای مقداردهی اولیه و مقداردهی نهایی به‌ترتیب صحیح راه‌اندازی می‌شوند. این به‌روزرسانی برخی‌از مشکلات پیش‌نمایش سیاه را هنگام جابه‌جایی بین حالت‌های «افزونه‌ها» یا جابه‌جایی بین دوربین‌ها برطرف کرد. (Iddaac)
  • مشکل عدم امکان اتصال ImageAnalysis با ImageCapture و «پیش‌نمایش» درصورت فعال بودن برخی حالت‌های افزونه در برخی دستگاه‌ها برطرف شد. وقتی برنامه‌ها دردسترس بودن ImageAnalysis را ازطریق ExtensionsManager#isImageAnalysisSupported() جستجو کنند، این اصلاح مقدار صحیح را برمی‌گرداند. (I7d538)
  • مشکل ناهماهنگی صدا و تصویر ویدیو ضبط‌شده در Xiaomi Poco X3 NFC هنگام فعال بودن حالت قرینه‌ای برطرف شد. (I20b4c)

نسخه 1.3.0-rc01

‫۲۳ اوت ۲۰۲۳

‫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 است. این کار باعث می‌شود تصاویر گرفته‌شده اندازه فایل بزرگی داشته باشند. آن داده‌های لایی 0 زائد برداشته خواهند شد تا تصاویر ثبت‌شده اندازه فایل تصویری معمولی داشته باشند. (I407b0، b/288828159)
  • مشکل تصویر JPEG بزرگ ضبط‌شده در دستگاه‌های سری Samsung S22 (SM-S901B،‏ SM-S901B/DS) و S22+ (SM-S906B) برطرف شد. تصاویر JPEG ضبط‌شده حاوی داده‌های حاشیه‌گذاری ۰ زائد در بخش داده‌های فشرده JFIF است. این مشکل باعث می‌شود تصاویر گرفته‌شده در دستگاه S22 SM-S901B/DS حجم فایل بزرگی حدود ۱۳ مگابایت داشته باشند. آن داده‌های لایی 0 زائد برداشته خواهند شد تا تصاویر ثبت‌شده اندازه فایل تصویری معمولی داشته باشند. (I73be9، b/288828159)
  • مشکل تصویر JPEG بزرگ ضبط‌شده در دستگاه‌های سری Samsung A5،‏ A52،‏ A70، و A72 برطرف شد. تصاویر JPEG ضبط‌شده حاوی داده‌های حاشیه‌گذاری ۰ زائد در بخش داده‌های فشرده JFIF است. این امر باعث می‌شود تصاویر گرفته‌شده اندازه فایل بسیار بزرگی داشته باشند (مثلاً حدود ۳۲ مگابایت یا حتی ۹۶ مگابایت). آن داده‌های حاشیه‌ای 0 زائد برداشته خواهند شد تا تصاویر ضبط‌شده اندازه فایل تصویری معمولی داشته باشند. (I97c4d، b/288828159)
  • مشکل خرابی بومی هنگام عکس گرفتن با «افزونه‌ها» فعال‌شده برطرف شد (I698f5)

نسخه 1.3.0-beta02

۲۶ ژوئیه ۲۰۲۳

‫androidx.camera:camera-*:1.3.0-beta02 منتشر شده است. نسخه 1.3.0-beta02 شامل این commit-ها است.

رفع اشکال‌ها

  • Use torch as flash for Pixel 4 and 5 variants to improve capture quality in low light (I56ff5, b/280221967)
  • مشکل تصویر JPEG بزرگ ضبط‌شده در دستگاه‌های سری Samsung A5 (2017) برطرف شد. تصاویر JPEG ضبط‌شده حاوی داده‌های حاشیه‌گذاری ۰ زائد در بخش داده‌های فشرده JFIF است. این حالت باعث می‌شود اندازه فایل تصاویر گرفته‌شده حدود ۳۲ مگابایت باشد. آن داده‌های حاشیه‌ای 0 زائد برداشته خواهند شد تا تصاویر ضبط‌شده اندازه فایل تصویری معمولی داشته باشند. (I29837، b/288828159)
  • مشکل عدم راه‌اندازی صحیح تلاش مجدد درصورت ناموفق بودن ضبط در دستگاه‌های مشکل‌دار ذکرشده در CaptureFailedRetryQuirk برطرف شد. (I7b589)

نسخه 1.3.0-beta01

۲۱ ژوئن ۲۰۲۳

‫androidx.camera:camera-*:1.3.0-beta01 منتشر شده است. نسخه 1.3.0-beta01 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • نام تابع ResolutionSelector.Builder#setHighResolutionEnabledFlag(int) به setAllowedResolutionMode تغییر کرد و نام ثابت‌های ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON به PREFER_CAPTURE_RATE_OVER_HIGHER_RESOLUTION/PREFER_HIGHER_RESOLUTION_OVER_CAPTURE_RATE تغییر کرد. (If84e8)
  • ‫API منسوخ‌شده ImageAnalysis.setTargetRotationDegrees(int)، ImageCapture.setTargetRotationDegrees(int)، و VideoCapture.setTargetRotationDegrees(int) برداشته شد. (Id8e77)
  • کلاس DynamicRange نشان‌دهنده دامنه پویای تصاویر است. از این مورد می‌توان برای انتخاب قالب‌های «دامنه پویای بالا» به‌عنوان خروجی VideoCapture ازطریق VideoCapture.Builder#setDynamicRange() استفاده کرد. (Ib0377)
  • یک isImageAnalysisSupported API به 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

۲۴ مه ۲۰۲۳

‫androidx.camera:camera-*:1.3.0-alpha07 منتشر شده است. نسخه 1.3.0-alpha07 حاوی این commit-ها است.

ویژگی‌های جدید

  • ‫VideoCapture.Builder# setTargetFrameRate(Range) API جدید امکان ضبط ویدیو با نرخ‌های فریم دیگری به‌غیراز نرخ فریم پیش‌فرض دستگاه را فراهم می‌کند. نرخ‌های فریم دردسترس برای ضبط‌ها را می‌توان ازطریق میانای برنامه‌سازی کاربردی جدید CameraInfo#getSupportedFrameRates() جستجو کرد.

تغییرات میانای برنامه‌سازی کاربردی

  • ثابت‌های ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF/ON به ALLOWED_RESOLUTIONS_NORMAL/SLOW تغییر نام یافت و نام تابع سازنده setHighResolutionEnabledFlag به setAllowedResolutionMode تغییر کرد. (Iae817)
  • CameraInfo#getSupportedFrameRateRanges() اکنون به‌جای List، Set را برمی‌گرداند تا بهتر نشان دهد که محدوده‌ها نامرتب هستند. (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)
  • مشکل توقف نکردن پیش‌نمایش در «افزونه‌ها» (Ia903e) توسط Preview.setSurfaceProvider(null) برطرف شد
  • مشکلی که باعث می‌شد هنگام باز شدن دوربین و وقتی VideoCapture محدود شده است، ConcurrentModificationException ایجاد شود برطرف شد. (Ic8ac4)

نسخه 1.3.0-alpha06

‫۱۹ آوریل ۲۰۲۳

‫androidx.camera:camera-*:1.3.0-alpha06 منتشر شده است. نسخه 1.3.0-alpha06 حاوی این ارسال‌ها است.

ویژگی‌های جدید

  • دوربین هم‌زمان ویژگی جدیدی است که از Android 11 معرفی شده است و از جاری‌سازی هم‌زمان دستگاه‌های دوربین پشتیبانی می‌کند، برای مثال، به دستگاه اجازه می‌دهد تا هم دوربین جلو و هم دوربین عقب را به‌طور هم‌زمان فعال کند. CameraX درحال‌حاضر فقط از دوربین‌های هم‌زمان دوگانه پشتیبانی می‌کند که به دو دوربین اجازه می‌دهد به‌طور هم‌زمان کار کنند و حداکثر دو {@link UseCase} برای هرکدام محدود شده است. حداکثر وضوح ۷۲۰ پیکسل یا ۱۴۴۰ پیکسل است، جزئیات بیشتر در پیوند زیر، CameraManager#getConcurrentCameraIds() را ببینید
  • معرفی ResolutionSelector API جدید که ویژگی‌های زیر را پوشش می‌دهد:
    • برنامه‌ها می‌توانند راهبردهای نسبت ابعادی و وضوح را برای انتخاب بهترین وضوح برای نیازهایشان مشخص کنند.
    • همه اندازه‌ها و پارامترهای نسبت ابعادی در مختصات حسگر دستگاه دوربین بیان می‌شوند.
    • برنامه‌ها می‌توانند فیلتر وضوح سفارشی را برای مرتب کردن اندازه‌های پشتیبانی‌شده به ترتیب دلخواه پیاده‌سازی کنند.
    • برنامه‌ها همچنین می‌توانند ضبط با وضوح بالا را فعال کنند تا تصاویر با وضوح بالاتری دریافت کنند. بااین‌حال، لطفاً توجه داشته باشید که استفاده از وضوح بالا ممکن است منجر به کندتر شدن زمان ضبط شود.
    • VideoCapture میانای برنامه‌سازی کاربردی قرینه‌سازی اضافه شد. ویدیوهای ضبط‌شده با VideoCapture به‌طور پیش‌فرض آینه‌ای نیستند. بااین‌حال، پیش‌نمایش دوربین به‌طور پیش‌فرض در دوربین جلو آینه‌ای است. VideoCapture APIهای قرینه‌سازی امکان تراز کردن با پیش‌نمای دوربین را هنگام استفاده از دوربین جلو فراهم می‌کنند. سه MirrorMode، OFF، ON، و ON_FRONT_ONLY وجود دارد. برای تراز کردن با پیش‌نمایش دوربین، توصیه می‌شود از ON_FRONT_ONLY استفاده کنید، یعنی قرینه‌سازی برای دوربین پشت فعال نیست اما برای دوربین جلو فعال است.

تغییرات میانای برنامه‌سازی کاربردی

  • میانای برنامه‌سازی کاربردی جدید ResolutionSelector درمعرض قرار گرفت. برنامه‌ها می‌توانند راهبردهای نسبت ابعادی و وضوح را با قوانین بازگشت یا فیلتر وضوح سفارشی مشخص کنند تا نتایج مطلوب را به‌دست آورند. برنامه‌ها می‌توانند پرچمی را برای فعال کردن ضبط با وضوح بالا مشخص کنند. این کار به CameraX اجازه می‌دهد هنگام گرفتن عکس یا ویدیو، وضوح‌های بالاتری را انتخاب کند. اما لطفاً توجه داشته باشید که استفاده از وضوح بالا ممکن است منجر به کاهش سرعت ضبط شود. (Ibed95)
  • اکنون می‌توان ازطریق CameraInfo#getSupportedFrameRateRanges() از محدوده FPS پشتیبانی‌شده توسط الگوریتم AE پرس‌وجو کرد. (Iaa67f)
  • نام همه روش‌های نرخ فریم را در استفاده از «FrameRate» ادغام کنید. Correct the javadoc mistake in VideoCapture#getTargetFrameRate() (I83304)
  • میانای برنامه‌سازی کاربردی قدیمی setTargetAspectRatio و setTargetResolution منسوخ شده است. لطفاً درعوض از ResolutionSelector API جدید استفاده کنید. (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، ازجمله VideoCapture.Builder.setMirrorMode(int) و VideoCapture.getMirrorMode()، اضافه شد. این میاناهای برنامه‌سازی کاربردی برای برنامه‌هایی مفید هستند که نیاز دارند ضبط ویدیو با رفتار معمول پیش‌نمایش دوربین مطابقت داشته باشد، یعنی پیش‌نمایش دوربین پشت آینه‌ای نباشد اما پیش‌نمایش دوربین جلو آینه‌ای باشد. (I713b6،‏ b/194634656)
  • Add setTargetFrameRate() API in the VideoCapture.Builder and getTargetFramerate() API in 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، عکس گرفتن بااستفاده از File در پوشه عمومی فضای ذخیره‌سازی خارجی نیز مستلزم تنظیم requestLegacyExternalStorage روی «درست» در برچسب برنامه است. (I11b2c)
  • ازکارافتادن RejectedExecutionException در DefaultSurfaceProcessor برطرف شد. این خرابی ممکن است زمانی اتفاق بیفتد که VideoCapture محدود شده باشد و فعالیت موقتاً متوقف شده باشد. (Idb46a، b/273713906)

نسخه 1.3.0-alpha05

۲۲ مارس ۲۰۲۳

‫androidx.camera:camera-*:1.3.0-alpha05 منتشر شده است. نسخه 1.3.0-alpha05 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • میاناهای برنامه‌سازی کاربردی چرخش VideoCapture، ازجمله VideoCapture.Builder.setTargetRotation(int)، VideoCapture.setTargetRotation(int)، VideoCapture.setTargetRotationDegrees(int)، و VideoCapture.getTargetRotation() اضافه شد. میاناهای برنامه‌سازی کاربردی برای برنامه‌هایی که جهت دستگاه را قفل می‌کنند مفید است. ‫ImageCapture.setTargetRotationDegrees(int) و ImageAnalysis.setTargetRotationDegrees(int) نیز اضافه شدند. (Id3ffe، b/205242781)
  • VIDEO_CAPTURE و PREVIEW|VIDEO_CAPTURE به‌عنوان هدف جلوه‌ها مجاز شود. جلوه‌هایی که VIDEO_CAPTURE را هدف قرار می‌دهند برای VideoCapture UseCase اعمال خواهند شد؛ جلوه‌هایی که PREVIEW|VIDEO_CAPTURE را هدف قرار می‌دهند قبل‌از کپی شدن در «پیش‌نمایش» و جاری‌سازی VideoCapture برای جاری‌سازی مشترک اعمال خواهند شد. (Iee6f3)

رفع اشکال‌ها

  • از دوربین 1.2.2: مشکل کار نکردن درست «افزونه‌های CameraX» درصورت فعال بودن proguard در برخی‌از دستگاه‌ها مثل Pixel برطرف شد (I90aa2)
  • اشکال PreviewView برطرف شد که اگر برنامه خودش جهت صفحه‌نمایش را مدیریت کند، ممکن است پیش‌نمایش هنگام چرخش دچار اعوجاج شود. این اتفاق فقط در برخی‌از دستگاه‌ها می‌افتد. این مشکل در Pixel a4،‏ Pixel 5، و Pixel 6a قابل‌بازآفرینی است. (I14340، b/223488673)

نسخه 1.3.0-alpha04

۲۲ فوریه ۲۰۲۳ (۳ اسفند ۱۴۰۱)

‫androidx.camera:camera-*:1.3.0-alpha04 منتشر شده است. نسخه 1.3.0-alpha04 حاوی این commit-ها است.

ویژگی‌های جدید

ویژگی جدیدی برای پشتیبانی از ترکیب‌های Surface که قبلاً پشتیبانی نمی‌شدند ازطریق هم‌رسانی یک جاری‌سازی با چند UseCase.

  • قبلاً، هنگام اتصال «پیش‌نمایش، ضبط ویدیو، ImageAnalysis» در سطح سخت‌افزار دوربین FULL و پایین‌تر، یا اتصال «پیش‌نمایش، ضبط ویدیو، 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

۲۵ ژانویه ۲۰۲۳

‫androidx.camera:camera-*:1.3.0-alpha03 منتشر شده است. نسخه 1.3.0-alpha03 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • 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 برای تنظیم «کدبندی ویدیو هدف» BitRate و Recorder#getTargetVideoEncodingBitRate برای دریافت «نرخ بیت کدبندی ویدیو هدف» اضافه شد. (I5984d)

رفع اشکال‌ها

  • ImageCapture ثابت وقتی واحد فلاش وجود ندارد و حالت فلاش روشن است ناموفق بود. (I9e8b4، b/263391112)
  • مشکل خرابی تصویر JPEG درصورت نوشتن داده‌های مکان Exif در برخی‌از دستگاه‌های Samsung Android 12 برطرف شد. (Ib7086، b/263747161، b/263289024)
  • هنگام تنظیم چراغ‌قوه/بزرگ‌نمایی قبل‌از تکمیل مقداردهی اولیه دوربین، مثلاً فراخوانی CameraController#enableTorch، کنش معلقه ذخیره می‌شود و پس‌از تکمیل مقداردهی اولیه ارسال می‌شود. (I11e92، b/264157663)

نسخه 1.3.0-alpha02

‫۷ دسامبر ۲۰۲۲

‫androidx.camera:camera-*:1.3.0-alpha02 منتشر شده است. نسخه 1.3.0-alpha02 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • میانای برنامه‌سازی کاربردی جدیدی برای اعمال جلوه پس‌پردازش به خروجی «پیش‌نمایش» اضافه کنید. (Ic17d5)
  • نام OutputOptions.getDurationLimit به OutputOptions.getDurationLimitMillis و OutputOptions.setDurationLimit به OutputOptions.setDurationLimitMillis تغییر کرد. (I91f0c)
  • کلاس AudioConfig را برای مدیریت تنظیمات مربوط به صدا درحین ضبط ویدیو اضافه کنید. حاشیه‌نویسی @RequiresPermission از توابع startRecording به AudioConfig منتقل شده است تا از درخواست‌های اجازه غیرضروری در مواردی که به صدا نیاز نیست جلوگیری شود. (I28755)
  • کلاس‌های Remove Metadata،‏ OnVideoSavedCallback،‏ OutputFileOptions، و OutputFileResults را که پس‌از اعمال کردن API جدید ضبط ویدیو دیگر استفاده نمی‌شوند بردارید. (I38cd8)
  • از API جدید ضبط ویدیو استفاده کنید. روش‌های getVideoCaptureTargetSize و setVideoCaptureTargetSize به‌ترتیب با روش‌های getVideoCaptureTargetQuality و setVideoCaptureTargetQuality جایگزین شده‌اند، زیرا setTargetResolution دیگر پشتیبانی نمی‌شود. (I2a1d5)

رفع اشکال‌ها

  • API ‏core.VideoCapture نامناسب را بردارید. (I531e0)
  • مشکل عدم فراخوانی onError هنگام عکس گرفتن بدون اجازه فضای ذخیره‌سازی برطرف شد.(I936db، b/244807669)
  • بهبود کیفیت و اطمینان‌پذیری افزونه‌های دوربین. افزونه‌های دوربین در دستگاه‌های Motorola که از «افزونه‌های دوربین» نسخه ۱.۱.۰ و قدیمی‌تر استفاده می‌کنند به‌دلیل مشکلات مربوط به پشتیبانی از بوکه، ضبط تصویر، و ازسر گرفته نشدن پیش‌نمایش غیرفعال شده‌اند. (Id3ce3)
  • خرابی بومی هنگام برش ویدیو ازطریق ViewPort در دستگاه‌های قدیمی برطرف شد. (I16b8a، b/251357665)

نسخه 1.3.0-alpha01

‫۹ نوامبر ۲۰۲۲

‫androidx.camera:camera-*:1.3.0-alpha01 منتشر شده است. نسخه 1.3.0-alpha01 حاوی این commit-ها است.

ویژگی‌های جدید

  • ‫Camera-viewfinder به‌طور رسمی منتشر شده است. ‫Camera-viewfinder یک ابزاره نمایاب پایه ارائه می‌دهد که می‌تواند فید دوربین را برای Camera2 نمایش دهد. لطفاً برای مشاهده نمونه، کد نمونه را بررسی کنید.

تغییرات میانای برنامه‌سازی کاربردی

  • OutputOptions.setDurationLimit برای مجاز کردن تنظیم محدودیت مدت‌زمان ویدیو اضافه شد. وقتی مدت زمان ضبط از حد مشخص‌شده فراتر برود، ضبط به‌طور خودکار نهایی می‌شود. (I902a0)
  • افزودن حالت خطای صدای ضبط ویدیو AudioStats.AUDIO_STATE_SOURCE_ERROR. وقتی راه‌اندازی منبع صوتی ناموفق باشد یا خطایی رخ دهد ارسال می‌شود. (I37410)

رفع اشکال‌ها

  • افزودن quirk برای اینکه به برخی‌از دستگاه‌های مشکل‌دار اجازه داده شود درصورت مواجه شدن با خطای ضبط، یک‌بار دیگر ضبط را امتحان کنند. (Id4795)
  • رفع مشکل صفحه سیاه در پیاده‌سازی PreviewView SurfaceView در ViewPager2. به‌عنوان بخشی از اصلاح، PreviewView از SurfaceView خود مجدداً استفاده خواهد کرد اگر وضوح درخواستی تغییر نکند. (Ib3f27)
  • پشتیبانی از برش ویدیو (ویژگی WYSIWYG) هنگام استفاده از ViewPort یا CameraController API. (Ifbba8، b/201085351)
  • مشکل ضبط نشدن ویدیو ثابت ضبط‌شده با دوربین جلو در Huawei P40 lite برطرف شد. (I87c57،‏ b/250807400)

نسخه ۱.۲

نسخه ۱.۲.۳

۲۴ مه ۲۰۲۳

‫androidx.camera:camera-*:1.2.3 منتشر شده است. نسخه ۱.۲.۳ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • مشکلی که باعث می‌شد VideoCapture در برخی دستگاه‌ها با دوربین جلو کار نکند برطرف شد. برای مثال، در Samsung Galaxy S23 و Xiaomi 2107113SG. (Ibec7e، b/270656244)

نسخه ۱.۲.۲

۲۲ مارس ۲۰۲۳

‫androidx.camera:camera-*:1.2.2 منتشر شده است. نسخه ۱.۲.۲ حاوی این ثبت‌ها است.

رفع اشکال‌ها

  • مشکل عدم عملکرد صحیح «افزونه‌های CameraX» درصورت فعال بودن proguard در برخی‌از دستگاه‌ها مثل Pixel برطرف شد (I90aa2)

نسخه ۱.۲.۱

۲۵ ژانویه ۲۰۲۳

‫androidx.camera:camera-*:1.2.1 منتشر شده است. نسخه ۱.۲.۱ شامل این موارد است.

رفع اشکال‌ها

  • رفع مشکل خرابی تصویر JPEG درصورت نوشتن داده‌های مکان Exif در برخی‌از دستگاه‌های Samsung Android 12. (b/263289024)

نسخه ۱.۲.۰

‫۷ دسامبر ۲۰۲۲

‫androidx.camera:camera-*:1.2.0 منتشر شده است. نسخه ۱.۲.۰ حاوی این ثبت‌ها است.

تغییرات مهم از نسخه ۱.۱.۰

  • کتابخانه جدید camera-mlkit-vision. به‌راحتی CameraX را با بسیاری از ویژگی‌های MLKit، ازجمله اسکن رمزینه، تشخیص چهره، تشخیص نوشتار، و غیره ادغام کنید. MLKitAnalyzer به‌عنوان میاناهای برنامه‌سازی کاربردی جدید اضافه شد.
  • میانای برنامه‌سازی کاربردی آزمایشی جدید Zero-Shutter Lag. خط لوله ضبط را بهینه‌سازی می‌کند تا ضمن حفظ کیفیت خوب تصویر، تأخیر بهتری داشته باشد. وقتی حالت ضبط روی 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 و «پیش‌نمایش» با نسبت ابعادی ۱۶:۹ برطرف شد
  • مشکل پیش‌نمایش سیاه که هنگام فعال بودن افزونه BOKEH در برخی‌از دستگاه‌های Samsung و جابه‌جایی دوربین‌ها توسط کاربر رخ می‌داد برطرف شد.
  • مشکل کشیدگی Preview/VideoCapture در Samsung J7 Prime (SM-G610M)‎ و J7 (SM-J710MN)‎ در دستگاه‌های دارای سطح API‏ ۲۷ برطرف شد.
  • راه‌حل موقت برای برگرداندن افقی ناحیه فوکوس خودکار دوربین‌های جلو در Samsung Android T غیرفعال شد چون مشکل برطرف شده است

نسخه 1.2.0-rc01

‫۲۴ اکتبر ۲۰۲۲

‫androidx.camera:camera-*:1.2.0-rc01 منتشر شده است. نسخه 1.2.0-rc01 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • افزودن میانای برنامه‌سازی کاربردی setStreamUseCase برای OutputConfiguration. کاربر می‌تواند «مورد استفاده جاری‌سازی» را برای جلسه جاری‌سازی مشخص کند و منطق‌های داخلی CameraX را برای انتخاب «مورد استفاده جاری‌سازی» لغو کند تا براساس نیاز خود بهینه‌سازی کند. (Ib1a95)

رفع اشکال‌ها

  • مشکل کشیدگی Preview/VideoCapture در Samsung J7 Prime (SM-G610M)‎ و J7 (SM-J710MN)‎ در دستگاه‌های دارای سطح API‏ ۲۷ برطرف شد. وضوح ۱۹۲۰x۱۰۸۰ باعث می‌شود تصاویر Preview/VideoCapture کشیده شوند. راه حلی برای انتخاب نکردن وضوح ۱۰۸۰×۱۹۲۰ برای «پیش‌نمایش» یا VideoCapture اضافه شد تا مشکل کشیدگی تصویر برطرف شود. (I0e04e)
  • مشکل نرخ فریم پایین هنگام استفاده از موارد استفاده VideoCapture و «پیش‌نمایش» با نسبت ابعادی ۱۶:۹ در برخی‌از دستگاه‌های Huawei برطرف شد. (If8c88، b/223643510)
  • مشکل باز نشدن دوربین درصورت تنظیم نبودن SurfaceProvider «پیش‌نمایش» برطرف شد. به‌عنوان بخشی از این اصلاح، «پیش‌نمایش» بدون تنظیم SurfaceProvider اکنون در جلسه ضبط دوربین پیکربندی نخواهد شد. (I99681)

نسخه 1.2.0-beta02

‫۲۱ سپتامبر ۲۰۲۲

‫androidx.camera:camera-*:1.2.0-beta02 منتشر شده است. نسخه 1.2.0-beta02 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

رفع اشکال‌ها

  • راه‌حل موقت برای برگرداندن افقی ناحیه فوکوس خودکار دوربین‌های جلو در Samsung Android T غیرفعال شد زیرا مشکل برطرف شده است. (I05f69)
  • مشکل پیش‌نمایش سیاه که هنگام فعال بودن افزونه BOKEH در برخی‌از دستگاه‌های Samsung و جابه‌جایی دوربین‌ها توسط کاربر رخ می‌داد برطرف شد. (If6168)

نسخه 1.2.0-beta01

‫۲۴ اوت ۲۰۲۲

‫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

‫۲۷ ژوئیه ۲۰۲۲

‫androidx.camera:camera-*:1.2.0-alpha04 منتشر شده است. نسخه 1.2.0-alpha04 شامل این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • نام ImageAnalysis.Analyzer#getTargetResolutionOverride() را به ImageAnalysis.Analyzer#getDefaultTargetResolution() تغییر دهید. رفتار نیز تغییر کرده است تا مقدار برگردانده‌شده توسط این روش بتواند با مقدار ImageAnalysis#setTargetResolution() لغو شود. (If1d36)
  • میانای برنامه‌سازی کاربردی برای تنظیم فراداده مکان در ویدیو ذخیره‌شده درمعرض دید قرار گرفت. شیء android.location.Location را می‌توان ازطریق میانای برنامه‌سازی کاربردی جدید androidx.camera.video.OutputOptions.Builder.setLocation(Location) تنظیم کرد. (I313a0، b/204197544)

رفع اشکال‌ها

  • Fix the issue to take picture with unbind preview (Ie70b6, b/235119898)
  • خرابی Recorder هنگام تلاش برای ضبط در زمانی که منبع صوتی دردسترس نیست برطرف شد. (I9f652)

نسخه 1.2.0-alpha03

‫۲۹ ژوئن ۲۰۲۲

‫androidx.camera:camera-*:1.2.0-alpha03 منتشر شده است. نسخه 1.2.0-alpha03 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • گزارمان آزمایشی برای ImageAnalysis.Analyzer و MLKitAnalyzer برداشته شد. (I0ff22)

رفع اشکال‌ها

  • Added auto focus default timeout 5000ms that will complete the AF part with isFocusSuccessful false if the FocusMeteringAction is not cancelled and the AF part is not converged in the duration. (Ibc2e3)
  • Fix the issue to take picture with unbind preview (I1d3a2, b/235119898)
  • پیاده‌سازی گسترش‌دهنده پیشرفته فعال شد و نسخه میانای افزونه‌های پشتیبانی CameraX به ۱.۲ به‌روز شد (I92256)

نسخه 1.2.0-alpha02

‫۱ ژوئن ۲۰۲۲

‫androidx.camera:camera-*:1.2.0-alpha02 منتشر شده است. نسخه 1.2.0-alpha02 حاوی این commit-ها است.

ویژگی‌های جدید

  • Expose CameraX Zero-Shutter Lag API as experimental.

تغییرات میانای برنامه‌سازی کاربردی

  • افزودن حالت ضبط جدید CAPTURE_MODE_ZERO_SHUTTER_LAG در ImageCapture و افزودن isZslSupported در CameraInfo برای پُرسمان قابلیت دستگاه. هدف حالت CAPTURE_MODE_ZERO_SHUTTER_LAG ارائه حداقل تأخیر برای ضبط فوری است. این ویژگی براساس میان‌گیر حلقه‌ای پیاده‌سازی شده است که نتایج ضبط واسط را برای پردازش مجدد بعدی، زمانی که کاربر دکمه‌ها را برای گرفتن عکس فشار می‌دهد، ذخیره می‌کند. اگر {@link VideoCapture} محدود شده باشد یا حالت فلاش خاموش نباشد یا «افزونه OEM» روشن باشد، این حالت به‌طور خودکار غیرفعال خواهد شد. (I9ae74)
  • افزودن روش ImageAnalysis.getBackgroundExecutor() (Icc945)

رفع اشکال‌ها

  • مشکل خاموش شدن چراغ‌قوه در دستگاه‌های گزارش‌شده هنگام استفاده از روش takePicture ImageCapture برطرف شد. (Ib5eb5، b/228272227)
  • اشکالی که در آن AssertionError هنگام دریافت مشخصه CONTROL_ZOOM_RATIO_RANGE مدیریت نمی‌شد برطرف شد.(/Ia248a، b/231701345)

نسخه 1.2.0-alpha01

‫۱۸ مه ۲۰۲۲

‫androidx.camera:camera-*:1.2.0-alpha01 منتشر شده است. نسخه 1.2.0-alpha01 حاوی این commit-ها است.

ویژگی‌های جدید

  • کتابخانه جدید camera-mlkit-vision راه‌اندازی شد

رفع اشکال‌ها

  • مشکل QualitySelector که هنگام فعال بودن راهبرد جایگزین، ویدیو UHD ضبط نمی‌کرد برطرف شد. این مشکل زمانی رخ می‌دهد که VideoCapture با ImageCapture و «پیش‌نمایش» در دستگاه دوربین با سطح سخت‌افزار FULL یا بالاتر محدود شده باشد. استراتژی جایگزین QualitySelector باعث می‌شود VideoCapture به‌اشتباه وضوح FHD دریافت کند. وضوح UHD درواقع برای این ترکیب مورد استفاده پشتیبانی می‌شود و باید اتخاذ شود. (I0e788، b/230651237)
  • NullPointerException در ImageCapture.takePicture() برطرف شد. (I92366،‏ b/230454568،‏ b/229766155)
  • Fix async pause behavior of androidx.camera.video.Recorder (Ia8ce8)

Camera-Camera2،‏ Camera-Core،‏ Camera-Lifecycle، و Camera-Video نسخه ۱.۱.۰

نسخه ۱.۱.۰

‫۲۹ ژوئن ۲۰۲۲

‫androidx.camera:camera-*:1.1.0 منتشر شده است. نسخه ۱.۱.۰ حاوی این ارسال‌ها است.

تغییرات مهم از نسخه ۱.۰.۰

  • کتابخانه‌های Landed View،‏ Extension، و Video Capture به‌عنوان اولین نسخه RC آن‌ها. از نسخه 1.1.0-beta01، همه کتابخانه‌های CameraX با شماره نسخه یکسانی هم‌تراز خواهند شد. این کار به توسعه‌دهندگان کمک می‌کند نسخه‌ها را بسیار راحت‌تر ردیابی کنند و پیچیدگی ماتریس‌های سازگاری نسخه‌های بزرگ را کاهش می‌دهد.
  • میاناهای برنامه‌سازی کاربردی و ویژگی‌های عمومی جدیدی معرفی شده است که شامل موارد زیر می‌شود:
  • کتابخانه رسمی camera-video را برای پشتیبانی از موارد استفاده ضبط ویدیو اضافه کنید.
  • قابلیت تبدیل YUV به RGB و چرخش (ImageAnalysis.Builder.setOutputImageRotationEnabled و setOutputImageFormat)
  • پشتیبانی از حالت چندپنجره‌ای با اجازه دادن به برنامه‌های CameraX برای ازسر گرفتن دوربین وقتی دوربین توسط برنامه دیگری قطع می‌شود و تمرکز برمی‌گردد.
  • با برطرف کردن برخی مشکلات پیش‌نمایش، اطمینان حاصل می‌کند که CameraX در دستگاه‌های تاشو به‌خوبی کار می‌کند.
  • میانای برنامه‌سازی کاربردی CameraState اضافه شد که ازطریق CameraInfo نمایش داده خواهد شد.
  • میانای برنامه‌سازی کاربردی ProcessCameraProvider.getAvailableCameraInfos() برای بازیابی مستقیم اطلاعات مربوط به دوربین‌های دردسترس اضافه شد
  • قالب JPEG خروجی برای ImageCapture#OnImageCapturedCallback وقتی «افزونه‌ها» فعال باشد.
  • یک API isFocusMeteringSupported در CameraInfo اضافه شد که به برنامه‌ها اجازه می‌دهد بررسی کنند آیا FocusMeteringAction داده‌شده در دوربین فعلی پشتیبانی می‌شود یا نه.
  • getResolutionInfo API برای ارائه اطلاعات وضوح برای «پیش‌نمایش»، 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
  • میاناهای برنامه‌سازی کاربردی آزمایشی جبران نوردهی.
  • Promoted the experimental UseCaseGroup API for camera-core, camera-lifecycle and camera-video. ‫ViewPort#getLayoutDirection، ViewPort.Builder#setLayoutDirection، و ViewPort.Builder#setScaleType برای سفارشی‌سازی نمای دید اضافه شد.
  • ExperimentalUseCaseGroupLifecycle به میاناهای برنامه‌سازی کاربردی عمومی رسمی ارتقا داده شد.
  • تغییرات در میاناهای برنامه‌سازی کاربردی موجود
  • Renamed MediaStoreOutputOptions.getCollection به MediaStoreOutputOptions.getCollectionUri .
  • ‫ActiveRecording به «Recording» تغییر نام داده است تا سطح جزئیات کاهش یابد.
  • میانای برنامه‌سازی کاربردی محتواساز QualitySelector به میانای برنامه‌سازی کاربردی مبتنی بر فهرست تغییر کرد

رفع اشکال‌ها

  • مشکل YuvToJpegProcessor EOFException هنگام فعال بودن حالت افزونه و تنظیم بودن حالت ImageCapture#CAPTURE_MODE_MAX_QUALITY برطرف شد.
  • پیکربندی کدک ثابت به‌دلیل بسته شدن ضبط ویدیو انجام نشد
  • نسبت ابعادی پیش‌نمایش/ویدیو کشیده هنگام ضبط در FHD برطرف شد
  • مشکل ناهماهنگی صدا/ویدیو پس‌از توقف موقت و ازسرگیری در برخی‌از دستگاه‌ها برطرف شد
  • مشکل فعال شدن فلاش درحین تک‌ضرب زدن برای فوکوس (startFocusAndMetering) در محیط‌های کم‌نور، وقتی حالت فلاش روی خودکار یا همیشه روشن بود، برطرف شد.

نسخه 1.1.0-rc02

‫۱ ژوئن ۲۰۲۲

‫androidx.camera:camera-*:1.1.0-rc02 منتشر شده است. نسخه 1.1.0-rc02 حاوی این commit-ها است.

رفع اشکال‌ها

  • NullPointerException در ImageCapture.takePicture() برطرف شد. (I92366،‏ b/230454568،‏ b/229766155)
  • اشکالی که باعث می‌شد AssertionError هنگام دریافت مشخصه CONTROL_ZOOM_RATIO_RANGE مدیریت نشود برطرف شد. (Ia248a، b/231701345)

نسخه 1.1.0-rc01

‫۱۱ مه ۲۰۲۲

‫androidx.camera:camera-*:1.1.0-rc01 منتشر شده است. نسخه 1.1.0-rc01 شامل این موارد است.

ویژگی‌های جدید

  • انتشار اولین نسخه RC برای camera-video،‏ camera-view، و camera-extension

رفع اشکال‌ها

  • مشکلی برطرف شد که در آن کدک ویدیو هنگام لغو اتصال VideoCapture<Recorder> منتشر نمی‌شد و باعث می‌شد استفاده‌های بعدی از VideoCapture<Recorder> در ضبط با MediaCodec.CodecException ناموفق باشد، به‌ویژه در دستگاه‌های دارای میانای برنامه‌سازی کاربردی ۲۱-۲۲. (Ie7f68)
  • رفع مشکل حذف نشدن تصاویر گرفته‌شده از CameraExtensionsActivity در ImageCaptureTest

نسخه 1.1.0-beta03

‫۶ آوریل ۲۰۲۲

‫androidx.camera:camera-*:1.1.0-beta03 منتشر شده است. نسخه 1.1.0-beta03 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • سازنده CaptureRequestOptions محدود شد. (I261b6)
  • یک میانای برنامه‌سازی کاربردی آزمایشی برای استفاده از CameraController با کتابخانه‌های پردازش تصویر خارجی اضافه شد. برای مثال MLKit‏ (I4ea71)

رفع اشکال‌ها

  • مشکلی که باعث می‌شد وقتی فعالیت پس‌از چرخاندن دستگاه‌ها در حالت چندپنجره‌ای بازراه‌اندازی نمی‌شود، پیش‌نمایش در PreviewView به‌صورت افقی نمایش داده شود برطرف شد. (I1ea36، b/223488673)
  • رفع مشکل چندپنجره‌ای که وقتی تمرکز به برنامه برمی‌گردد، نمی‌تواند دوربین را ازسر بگیرد، در شرایطی که (۱) برنامه اولویت بالای دیگری دوربین دیگری را باز می‌کند (۲) دستگاه Samsung Android 12 است. (I7e9f2)
  • راه حل موقت برای دستگاه‌هایی که هنگام بررسی دردسترس بودن فلاش ازکار می‌افتند اضافه شد. این دستگاه‌ها چراغ‌قوه نخواهند داشت. (If26a3، b/216667482)
  • رفع مشکل AbstractMethodError که وقتی برنامه‌ها از افزونه‌ها استفاده می‌کنند و proguard را فعال می‌کنند رخ می‌دهد. (I7cbaf، b/222726805)
  • غیرفعال کردن اجباری حالت افزونه بوکه در دستگاه Motorola razr 5G که باعث مشکل سیاه شدن صفحه پیش‌نمایش می‌شود. (I35d49)
  • مشکل ناهماهنگی صدا/ویدیو پس‌از توقف موقت و ازسرگیری در برخی‌از دستگاه‌های Samsung با میانای برنامه‌سازی کاربردی قدیمی‌تر از ۲۹ برطرف شد. (I64622،‏ b/202798609،‏ b/202798572)
  • مشکل همگام نبودن صدا/ویدیو پس‌از توقف موقت و ازسرگیری در Sony G3125 برطرف شد. (I2a1a5، b/202799148)
  • مشکل ازکار افتادن «ضبط‌صوت» هنگام مواجه شدن با InvalidConfigException برطرف شد. اما این اصلاح فقط از خراب شدن برنامه جلوگیری می‌کند و علت InvalidConfigException را برطرف نمی‌کند. اگر Recorder همچنان پیکربندی نشود، برنامه‌ها هنگام شروع ضبط، فراخوان خطا دریافت خواهند کرد. (I89c29، b/213617227)

همیاری خارجی

  • updated :compose:ui:ui-test api (updateApi) due to test-coroutines-lib migration (I3366d)

نسخه 1.1.0-beta02

‫۲۳ فوریه ۲۰۲۲

‫androidx.camera:camera-*:1.1.0-beta02 منتشر شده است. نسخه 1.1.0-beta02 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • افزودن توانایی مشخص کردن شناسه دوربین فیزیکی ازطریق Camera2Interop. (I5aed8)

رفع اشکال‌ها

  • مشکل پیش‌نمایش کشیده در Oppo Find N برطرف شد (I7d004)
  • مشکل Galaxy J7 Prime که پیش‌نمایش را مخدوش می‌کرد برطرف شد. (I4c500)
  • برای پیدا کردن کدبند ویدیو، از نرخ بیت سازگار استفاده کنید. (d969052)

نسخه 1.1.0-beta01

‫۲۶ ژانویه ۲۰۲۲

‫androidx.camera:camera-*:1.1.0-beta01 منتشر شده است. نسخه 1.1.0-beta01 شامل این ارسال‌ها است.

ویژگی‌های جدید

  • از نسخه 1.1.0-beta01، همه کتابخانه‌های CameraX با شماره نسخه یکسانی هم‌تراز خواهند شد. این کار به توسعه‌دهندگان کمک می‌کند نسخه‌ها را بسیار راحت‌تر ردیابی کنند و پیچیدگی ماتریس سازگاری نسخه‌های بزرگ را کاهش می‌دهد.

تغییرات میانای برنامه‌سازی کاربردی

  • Camera2CameraControl.clearCaptureRequestOptions برای پاک کردن گزینه‌های درخواست ضبط موجود اضافه شد. (Ifa07d)

رفع اشکال‌ها

  • خرابی هنگام ضبط ویدیو در برخی‌از دستگاه‌های قدیمی‌تر از Android O(میانای برنامه‌سازی کاربردی ۲۶) برطرف شد. (I88fdf، b/212328261)
  • مشکل منطقه فوکوس خودکار نادرست هنگام استفاده از cameraControl#startFocusAndMetering() در دوربین جلو در دستگاه‌های Samsung برطرف شد (Ifbf59، b/210548792)
  • Use torch as flash on Pixel 3a/Pixel 3a XL to improve the speed and the captured image quality in dark (Ib12b6, b/211474332)
  • برنامه‌ها را فعال می‌کند تا وقتی دوربین توسط برنامه دیگری با اولویت بالاتر در حالت چندپنجره‌ای قطع می‌شود و تمرکز دوباره به برنامه برمی‌گردد، دوربین را ازسر بگیرند. لطفاً توجه داشته باشید که به‌دلیل برخی مشکلات چارچوب، ممکن است بین تغییرات فوکوس و باز شدن مجدد دوربین کمی تأخیر(۱ ثانیه تا ۱۰ ثانیه یا بیشتر) وجود داشته باشد. (I4d092)

نسخه 1.1.0-alpha12

۱۵ دسامبر ۲۰۲۱

‫androidx.camera:camera-*:1.1.0-alpha12 منتشر شده است. نسخه 1.1.0-alpha12 حاوی این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • حاشیه‌نویسی‌های غیرضروری @RequiresApi(21) از کلاس‌ها/میاناهای داخلی برداشته شد. (I8e286، b/204917951)
  • ثابت‌های کیفیت و ثابت‌های استراتژی بازگشت QualitySelector تغییر کرده‌اند تا با اشیای کلاس نمایش داده شوند. برای مثال، QualitySelector.QUALITY_HD به Quality.HD تغییر می‌کند و QualitySelector.FALLBACK_STRATEGY_LOWER به نمونه برگردانده‌شده توسط FallbackStrategy.lowerQualityOrHigherThan(Quality) تغییر می‌کند. میانای برنامه‌سازی کاربردی مورداستفاده برای ایجاد QualitySelector به میانای برنامه‌سازی کاربردی فهرست‌محور تغییر کرده است. ‫API جدید 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)
  • پیش‌نمایش ثابت پس‌از شروع ضبط ویدیو UHD در Pixel1 خطوط رنگی درهم‌تنیده خواهد داشت. (I833c6، b/205340278)

نسخه 1.1.0-alpha11

‫۱۷ نوامبر ۲۰۲۱

‫androidx.camera:camera-*:1.1.0-alpha11 منتشر شده است. نسخه 1.1.0-alpha11 حاوی این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • CameraSelector#filter به میانای برنامه‌سازی کاربردی عمومی اضافه شد تا فهرست CameraInfos براساس 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} به {UseCase} دیگر استفاده کرد. برای مثال، نگاشت مختصات چهره شناسایی‌شده با ImageAnalysis به Preview. (I9ff1e)

  • ‫API جدید ImageCapture.Builder#setJpegQuality اضافه شد تا امکان تغییر کیفیت فشرده‌سازی تصویر JPEG خروجی هنگام عکس گرفتن فراهم شود. (I8dcf4)

  • نام MediaStoreOutputOptions.getCollection به MediaStoreOutputOptions.getCollectionUri تغییر کرد. (I16639)

رفع اشکال‌ها

  • مشکلی که باعث می‌شد فلاش درطول «فوکوس با تک‌ضرب» (startFocusAndMetering) در محیط کم‌نور فعال شود، درحالی‌که حالت فلاش روی «خودکار» یا «همیشه روشن» بود، برطرف شد. (Id4c11)
  • HDR+‎ در Pixel 2 XL / Pixel 3 XL در حالت MINIMIZE_LATENCY غیرفعال شد تا تأخیر کاهش یابد. (Ib6270، b/203505523)

همیاری خارجی

نسخه 1.1.0-alpha10

‫۱۳ اکتبر ۲۰۲۱

‫androidx.camera:camera-*:1.1.0-alpha10 منتشر شده است. نسخه 1.1.0-alpha10 حاوی این commit-ها است.

ویژگی‌های جدید

  • androidx.camera:camera-video:1.1.0-alpha10 را به‌عنوان اولین نسخه آلفا برای ویدیو به‌طور رسمی منتشر کرد. چند مشکل شناخته‌شده وجود دارد که در نسخه‌های بعدی برطرف خواهد شد.

تغییرات میانای برنامه‌سازی کاربردی

  • حاشیه‌نویسی @RequiresApi(21) به همه کلاس‌های CameraX اضافه شد و minSdkVersion از AndroidManifest.xml حذف شد. این کار باعث می‌شود camera-core به‌راحتی در برنامه‌هایی که minSdkVersion کمتر از ۲۱ دارند اما می‌خواهند به‌طور مشروط از مسیرهای کد متکی بر میانای برنامه‌سازی کاربردی ۲۱ و بالاتر استفاده کنند ادغام شود. برای هر برنامه‌ای با حداقل نسخه کیت توسعه نرم‌افزار ۲۱ یا بالاتر، این تغییر نیازی به اقدام ندارد. (Ie7f2e،‏ b/200599470)

رفع اشکال‌ها

  • یک InitializationException ایجاد کنید تا برنامه بتواند به‌طور مناسب AssertionError را که هنگام ایجاد CameraCharacteristics رخ داده است مدیریت کند. (Ibec79)

نسخه 1.1.0-alpha09

‫۲۹ سپتامبر ۲۰۲۱

‫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 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • حاشیه‌نویسی ExperimentalUseCaseGroup اکنون که میاناهای برنامه‌سازی کاربردی دیگر آزمایشی نیستند برداشته شده است. (I01ef5)

رفع اشکال‌ها

  • مشکل محو شدن عکس‌های گرفته‌شده در حالت MAXIMIZE_QUALITY برطرف شد. (I173a9، b/193823892)
  • مشکل Samsung Galaxy J5 که در آن دوربین پس‌از عکس گرفتن با فلاش روشن/خودکار در محیط تاریک گیر می‌کرد برطرف شد (I3aab9)
  • وقتی برش برای ImageCapture لازم است، تصویر برش‌خورده خروجی را با سطح کیفیت JPEG مشخص‌شده طبق حالت ضبط تنظیم‌شده فشرده می‌کند. اگر حالت ضبط CAPTURE_MODE_MINIMIZE_LATENCY باشد، کیفیت فشرده‌سازی JPEG‏ ۹۵ خواهد بود. اگر حالت ضبط CAPTURE_MODE_MAXIMIZE_QUALITY باشد، کیفیت فشرده‌سازی JPEG‏ ۱۰۰ خواهد بود. (Ieb37c، b/142856426)

نسخه 1.1.0-alpha08

‫۱۸ اوت ۲۰۲۱

‫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، و «پیش‌نمایش» برطرف شد. (I56197، b/193864120)
  • به ImageAnalysis اجازه می‌دهد وضوحی بالاتر از ۱۰۸۰ پیکسل انتخاب کند. دستگاه سطح LIMITED می‌تواند از وضوح اندازه RECORD برای ImageAnalysis پشتیبانی کند، وقتی که با Preview و ImageCapture محدود شده باشد. مبادله این است که وضوح انتخاب‌شده برای ImageCapture نیز باید وضوح اندازه RECORD باشد. برای انتخاب موفقیت‌آمیز وضوح اندازه RECORD برای ImageAnalysis، باید وضوح هدف اندازه RECORD هم در ImageCapture و هم در ImageAnalysis تنظیم شود. این نشان می‌دهد که برنامه به‌وضوح این موازنه را درک می‌کند و ترجیح می‌دهد ImageAnalysis وضوح بزرگ‌تری داشته باشد تا اینکه ImageCapture وضوح «حداکثر» داشته باشد. برای تعریف RECORD، اندازه‌های MAXIMUM، و جزئیات بیشتر، به https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture مراجعه کنید. اندازه RECORD به حداکثر وضوح ضبط پشتیبانی‌شده دستگاه دوربین اشاره دارد که توسط CamcorderProfile تعیین می‌شود. اندازه «حداکثر» به حداکثر وضوح خروجی دستگاه دوربین برای آن قالب یا هدف از StreamConfigurationMap.getOutputSizes(int) اشاره دارد. (I1ee97، b/192911449)
  • اطلاعات Exif را به تصویر ثبت‌شده اضافه کنید. (I01ff0، b/193342619)
  • در ImageCapture، اگر مکان ذخیره File باشد، شناسه منبع یکسان تصویر ذخیره‌شده را برگردانید. (Ib5b49، b/149241379)
  • مشکلی که باعث می‌شد تصاویر گرفته‌شده با فلاش در بسیاری از دستگاه‌ها تاریک باشد برطرف شد. (I4e510)

نسخه 1.1.0-alpha07

‫۲۱ ژوئیه ۲۰۲۱

‫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 حاوی این commit-ها است.

رفع اشکال‌ها

  • مشکل Samsung Galaxy Note 5 که در آن دوربین پس‌از عکس گرفتن با فلاش روشن/خودکار در محیط تاریک گیر می‌کرد برطرف شد (If6871)
  • مشکل YuvToJpegProcessor EOFException هنگام فعال بودن حالت افزونه و تنظیم حالت ImageCapture#CAPTURE_MODE_MAX_QUALITY برطرف شد. (I538bd،‏ b/192017012)

نسخه 1.1.0-alpha06

‫۳۰ ژوئن ۲۰۲۱

‫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 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • تبلیغ میاناهای برنامه‌سازی کاربردی جبران نوردهی آزمایشی برای camera-core (I08ee8)
  • میانای برنامه‌سازی کاربردی isFocusMeteringSupported در CameraInfo اضافه شد که به برنامه‌ها امکان می‌دهد بررسی کنند آیا FocusMeteringAction داده‌شده در دوربین فعلی پشتیبانی می‌شود یا نه. (Ib45ae، b/188606490)
  • ‫getResolutionInfo API را برای ارائه اطلاعات وضوح برای «پیش‌دید»، 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)
  • Promote the experimental UseCaseGroup API for camera-core, camera-lifecycle and camera-video. ‫ViewPort#getLayoutDirection، ViewPort.Builder#setLayoutDirection، و ViewPort.Builder#setScaleType برای سفارشی‌سازی نمای دید اضافه شد. (I7cee8)

نسخه 1.1.0-alpha05

‫۲ ژوئن ۲۰۲۱

‫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 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • کلاس Camera2CameraFilter برداشته شد. Suggest to select camera by CameraFilter and retrieve CameraCharacteristics or other Camera2 related information through Camera2CameraInfo if needed. (Ib887c)
  • ExperimentalCameraFilter میاناهای برنامه‌سازی کاربردی اکنون از مرحله آزمایشی خارج شده‌اند و به میاناهای برنامه‌سازی کاربردی رسمی تبدیل شده‌اند. می‌توان از آن‌ها بدون OptIn حاشیه‌نویسی‌شده استفاده کرد. (I4bc94)
  • میانای برنامه‌سازی کاربردی وضعیت دوربین اضافه شد که ازطریق CameraInfo#getCameraState() نمایش داده می‌شود. (Ia86b4)
  • ‫API آزمایشی CameraInfo#getCameraSelector() اضافه شد که CameraSelector منحصربه‌فردی را برای دوربین خود برمی‌گرداند (I77f9f)

رفع اشکال‌ها

  • مشکل تکمیل نشدن ListenableFuture برگردانده‌شده در setZoomRatio و setLinearZoom در برخی‌از دستگاه‌های Android 11 برطرف شد (I716d7)
  • افزایش سرعت تعویض دوربین و کاهش نرخ وقوع خطا در دستگاه دوربین (I34c99)
  • ExperimentalUseCaseGroupLifecycle با ExperimentalUseCaseGroup جایگزین شد. (I3b2ef، b/159033688)

نسخه 1.1.0-alpha04

‫۲۱ آوریل ۲۰۲۱

‫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 حاوی این commit-ها است.

رفع اشکال‌ها

  • رفع نشت حافظه ناشی از دسترسی هم‌زمان چندین رشته به یک مجموعه. نشت حافظه ممکن است باعث شود Activity یا Fragment توسط نمونه «پیش‌دید» حفظ شود. (I7b4b8)
  • حاشیه‌نویسی @Experimental با @RequiresOptIn برای میاناهای برنامه‌سازی کاربردی آزمایشی جایگزین شد. برای فراخوانی میاناهای برنامه‌سازی کاربردی آزمایشی، به‌جای androidx.annotation.experimental.UseExperimental منسوخ‌شده از androidx.annotation.OptIn استفاده کنید. (Iff226)
  • مشکل ImageCapture با فلاش روشن/خودکار که در Samsung Galaxy S7 تصاویر رنگ‌ورو رفته می‌گرفت برطرف شد. (I30001)
  • یک CameraState API اضافه شد که ازطریق CameraInfo نمایش داده می‌شود. (I75392)

نسخه 1.1.0-alpha03

‫۲۴ مارس ۲۰۲۱

‫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 حاوی این commit-ها است.

رفع اشکال‌ها

  • قالب JPEG خروجی برای ImageCapture#OnImageCapturedCallback وقتی حالت «افزونه‌ها» فعال است. (I0d7b1)
  • مشکل عدم مقداردهی اولیه در دستگاه‌های UMIDIGI BISON برطرف شد (I57d9e، b/180818665)
  • مشکل پیش‌نمایش کشیده Samsung A3 در PreviewView برطرف شد. (Iacb30، b/180121821)

نسخه 1.1.0-alpha02

‫۲۴ فوریه ۲۰۲۱

‫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 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • یک میانای برنامه‌سازی کاربردی ProcessCameraProvider.getAvailableCameraInfos() اضافه شد تا اطلاعات مربوط به دوربین‌های دردسترس را مستقیماً بازیابی کند، که یا همه دوربین‌های دستگاه هستند یا دوربین‌هایی که توسط CameraSelector ارائه‌شده در CameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector) انتخاب شده‌اند. (Ieac08)

رفع اشکال‌ها

  • CameraX اکنون تلاش می‌کند در اولین تلاش دوربین را به‌زور باز کند، این ممکن است باعث شود CameraX دوربین را از دیگر کارخواه‌های دوربین بگیرد، به‌شرطی که برنامه آن اولویت بالاتری داشته باشد. (Iab069، b/175820568)
  • مشکل ناموفق بودن آزمایش Robolectric هنگام استفاده از setAvailableCamerasLimiter در CameraXConfig برطرف شد. (Ice307)
  • این تغییر، استثنا را زمانی که صف تصویر در ImageAnalysis به حداکثر می‌رسد، می‌گیرد. بنابراین به‌جای ازکار افتادن، ممکن است متوجه شوید که موارد استفاده دیگر متوقف یا کند شده‌اند. برای مثال، پیش‌نمایش متوقف یا کند شده است. (Ic12da، b/175851631)
  • ‫ExtensionsErrorListener اصلاح شد تا وقتی فقط «پیش‌دید» یا ImageCapture محدود شده است، خطاها را گزارش کند. (I5ae39)
  • پس‌رفت عملکرد ImageCapture با برداشتن اعتبارسنجی مکان ذخیره‌شده تصویر قبل‌از گرفتن عکس برطرف شد. پس‌از اعمال این تغییر، اگر مقصد ذخیره نامعتبر باشد، دریافت پاسخ ناموفق بیشتر طول می‌کشد زیرا سعی می‌کند تصویر را پس‌از گرفتن عکس ذخیره کند. (I1fd4e، b/177061560)
  • پس‌رفت عملکرد ImageCapture با OutputFileOptions نوع «فایل» برطرف شد. (I5164a،‏ b/177061560)
  • اسناد به‌روزرسانی شد تا توصیه کند از ProcessCameraProvider.configureInstance(...) از کد کتابخانه استفاده نشود. (Ib8a9f)

نسخه 1.1.0-alpha01

‫۲۷ ژانویه ۲۰۲۱

‫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 حاوی این commitها است.

رفع اشکال‌ها

  • راه‌حل موقت برای داده‌های تصویر خراب متناوب در JPEG در دوربین پشت SM-G930T اضافه شد. (I52001، b/159831206)
  • مشکل IllegalArgumentException که وقتی همه اندازه‌های پشتیبانی‌شده پیش‌نمایش کوچک‌تر از ۶۴۰×۴۸۰ و اندازه نمایش بزرگ‌تر از ۶۴۰×۴۸۰ بود رخ می‌داد برطرف شد. (I2a63c، b/150506192)
  • منابع موجود در کتابخانه‌هایی که منابع عمومی به‌طور صریح در آن‌ها اعلام نشده است (مثلاً ازطریق public.xml) اکنون به‌طور پیش‌فرض خصوصی هستند. (Ia1dcc، b/170882230)

Camera-Camera2،‏ Camera-Core، و Camera-Lifecycle نسخه ۱.۰.۲

نسخه ۱.۰.۲

‫۲۹ سپتامبر ۲۰۲۱

‫androidx.camera:camera-camera2:1.0.2،‏ androidx.camera:camera-core:1.0.2، و androidx.camera:camera-lifecycle:1.0.2 منتشر شده‌اند. نسخه ۱.۰.۲ شامل این ثبت‌ها است.

رفع اشکال‌ها

  • مشکل محو شدن عکس‌های گرفته‌شده در حالت MAXIMIZE_QUALITY برطرف شد. (I173a9، b/193823892)
  • مشکلی که باعث می‌شد تصویر گرفته‌شده با فلاش در بسیاری از دستگاه‌ها تاریک باشد برطرف شد. (I4e510)

Camera-Camera2،‏ Camera-Core، و Camera-Lifecycle نسخه ۱.۰.۱

نسخه ۱.۰.۱

‫۲۱ ژوئیه ۲۰۲۱

‫androidx.camera:camera-camera2:1.0.1،‏ androidx.camera:camera-core:1.0.1، و androidx.camera:camera-lifecycle:1.0.1 منتشر شده‌اند. نسخه ۱.۰.۱ شامل این ثبت‌ها است.

رفع اشکال‌ها

  • مشکل مربوط به ListenableFuture که در setZoomRatio برگردانده شده بود و setLinearZoom که در برخی‌از دستگاه‌های Android نسخه ۱۱ تکمیل نمی‌شد برطرف شد (I716d7)

  • مشکلی که باعث می‌شد دوربین در برخی دستگاه‌ها در وضعیت بستن دوربین گیر کند و پیش‌نمایش سیاه نشان دهد برطرف شد. (I34c99)

Camera-Camera2،‏ Camera-Core، و Camera-Lifecycle نسخه ۱.۰.۰

نسخه ۱.۰.۰

‫۵ مه ۲۰۲۱

‫androidx.camera:camera-camera2:1.0.0،‏ androidx.camera:camera-core:1.0.0، و androidx.camera:camera-lifecycle:1.0.0 منتشر شده‌اند. نسخه ۱.۰.۰ حاوی این ارسال‌ها است.

ویژگی‌های اصلی نسخه ۱.۰.۰

  • CameraX از پیش‌نمایش، ImageCapture، و تجزیه‌وتحلیل پشتیبانی می‌کند
  • CameraX چرخه حیات دوربین را در یک میانای برنامه‌سازی کاربردی با کاربرد آسان مدیریت می‌کند
  • هدف CameraX ارائه لایه سازگاری است که بسیاری از مشکلات را در «بوم‌سازگان دوربین Android» برطرف می‌کند

مشکلات شناخته‌شده

نسخه 1.0.0-rc05

‫۲۱ آوریل ۲۰۲۱

‫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 حاوی این commit-ها است.

رفع اشکال‌ها

  • مشکل ImageCapture با فلاش روشن/خودکار که در Samsung Galaxy S7 تصاویر رنگ‌ورو رفته می‌گرفت برطرف شد. (I30001)

نسخه 1.0.0-rc04

‫۲۴ مارس ۲۰۲۱

‫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

‫۲۴ فوریه ۲۰۲۱

‫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 حاوی این commitها است.

رفع اشکال‌ها

  • رفع خطای قالب در سند ProcessCameraProvider#getInstance
  • مشکل ناموفق بودن آزمایش Robolectric هنگام استفاده از setAvailableCamerasLimiter در CameraXConfig برطرف شد.
  • با برداشتن اعتبارسنجی مکان ذخیره‌شده تصویر قبل‌از گرفتن عکس، پس‌رفت عملکرد ImageCapture برطرف شد. پس‌از اعمال این تغییر، اگر مقصد ذخیره نامعتبر باشد، دریافت پاسخ ناموفق بیشتر طول می‌کشد زیرا سعی می‌کند تصویر را پس‌از گرفتن عکس ذخیره کند
  • این تغییر، استثنا را زمانی که صف تصویر در ImageAnalysis به حداکثر می‌رسد، می‌گیرد. بنابراین، به‌جای ازکارافتادن، ممکن است متوجه شوید که موارد استفاده دیگر ثابت یا کند شده‌اند. برای مثال، پیش‌نمایش ثابت/کند.
  • راه حل موقت برای داده‌های تصویر خراب متناوب در JPEGها در دوربین پشت SM-G930T اضافه شد. (I52001، b/159831206)
  • این تغییر، استثنا را زمانی که صف تصویر در ImageAnalysis به حداکثر می‌رسد، می‌گیرد. بنابراین به‌جای ازکار افتادن، ممکن است متوجه شوید که موارد استفاده دیگر متوقف یا کند شده‌اند. برای مثال، پیش‌نمایش متوقف یا کند شده است. (Ic12da، b/175851631)
  • مشکل ناموفق بودن آزمایش Robolectric هنگام استفاده از setAvailableCamerasLimiter در CameraXConfig برطرف شد. (Ice307)
  • پس‌رفت عملکرد ImageCapture با برداشتن اعتبارسنجی مکان ذخیره‌شده تصویر قبل‌از گرفتن عکس برطرف شد. پس‌از اعمال این تغییر، اگر مقصد ذخیره نامعتبر باشد، دریافت پاسخ ناموفق بیشتر طول می‌کشد زیرا سعی می‌کند تصویر را پس‌از گرفتن عکس ذخیره کند. (I1fd4e، b/177061560)
  • پس‌رفت عملکرد ImageCapture با OutputFileOptions نوع «فایل» برطرف شد. (I5164a،‏ b/177061560)

نسخه 1.0.0-rc02

‫۲۷ ژانویه ۲۰۲۱

‫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 حاوی این commit-ها است.

رفع اشکال‌ها

  • مشکل IllegalArgumentException که وقتی همه اندازه‌های پشتیبانی‌شده پیش‌نمایش کوچک‌تر از ۶۴۰×۴۸۰ و اندازه نمایش بزرگ‌تر از ۶۴۰×۴۸۰ بود رخ می‌داد برطرف شد. (b/150506192)
  • تعداد دفعات تلاش برای باز کردن مجدد دوربین را محدود کنید. هنگام تلاش برای بازیابی از برخی مشکلات هنگام باز کردن دوربین، CameraX دیگر به‌طور نامحدود برای باز کردن مجدد دوربین تلاش نخواهد کرد، بلکه پس‌از ۱۰ ثانیه تلاش مجدد متوقف خواهد شد.I435d2

  • مشکل IllegalArgumentException که وقتی همه اندازه‌های پشتیبانی‌شده پیش‌نمایش کوچک‌تر از ۶۴۰×۴۸۰ و اندازه نمایش بزرگ‌تر از ۶۴۰×۴۸۰ بود رخ می‌داد برطرف شد. (I2a63c، b/150506192)

نسخه 1.0.0-rc01

‫۱۶ دسامبر ۲۰۲۰

‫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 حاوی این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • CameraFilter و Camera2Filter برای دریافت CameraInfo تغییر کردند. (I6883d)
  • کلاس آزمایشی Camera2CameraControl برای امکان‌پذیر کردن تعامل‌پذیری با Camera2 API به‌صورت پویا اضافه شد. (I45cf3)
  • نام Camera2CameraInfo#fromCameraInfo به #from تغییر کرد. (Ia2bd6)
  • یک setAvailableCamerasLimiter API آزمایشی به 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)
  • مشکل جهت‌گیری هنگام ثبت تصاویر ۴:۳ در برخی دستگاه‌ها برطرف شد. (I0e3fb، b/171492111)

Camera Camera2،‏ Core، و Lifecycle نسخه 1.0.0-beta12

‫۱۱ نوامبر ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta12،‏ androidx.camera:camera-core:1.0.0-beta12، و androidx.camera:camera-lifecycle:1.0.0-beta12 منتشر شده‌اند. نسخه 1.0.0-beta12 شامل این ارسال‌ها است.

رفع اشکال‌ها

  • فلاش خودکار در دستگاه‌های Samsung A3 غیرفعال شد تا مشکل ازکار افتادن هنگام عکس گرفتن با حالت AE فلاش خودکار در دستگاه‌های Samsung A3 برطرف شود. (Ia5fe3، b/157535165)
  • مشکلی که باعث می‌شد پیش‌نمایش در دستگاه‌های Nexus 4 دارای Android L (سطح API‏ ۲۱ و ۲۲) کشیده شود برطرف شد. (I4d407، b/158749159)
  • پیاده‌سازی کلاس پایه OnImageCapturedCallback#onCaptureSuccess دیگر تصویر را نمی‌بندد. این کار برای جلوگیری از رفتار غیرمنتظره برای توسعه‌دهندگان است. توسعه‌دهندگان نباید برای بستن تصویر به super.onCaptureSuccess متکی باشند. (Ifbf9c)
  • متغیر androidx از حاشیه‌نویسی Experimental برای ارائه برابری با Kotlin منسوخ شده است. این حاشیه‌نویسی با حاشیه‌نویسی RequiresOptIn جایگزین شده است و خطایاب نحوی Java-facing برای پشتیبانی از حاشیه‌نویسی Kotlin جدید و گونه androidx جدید به‌روز شده است. (I52495، b/151331381)

Camera-Camera2 نسخه 1.0.0-beta11

‫۱۴ اکتبر ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta11 منتشر شده است. نسخه 1.0.0-beta11 شامل این ارسال‌ها است.

ویژگی‌های جدید

  • از میانای برنامه‌سازی کاربردی Android 11 CONTROL_ZOOM_RATIO برای بزرگ‌نمایی در دستگاه‌های Android 11 یا جدیدتر که حاوی CONTROL_ZOOM_RATIO_RANGE معتبر هستند پشتیبانی می‌کند. (I62cc6)

رفع اشکال‌ها

  • مشکل NumberFormatException که وقتی شناسه دوربین شناسه دوربین غیرعدد صحیح بود رخ می‌داد برطرف شد. (Ib2228)
  • تأخیر مقداردهی اولیه CameraX و bindToLifecycle بهبود یافته است (I61dc5)
  • برای تکمیل ایجاد UseCases، نیازی به راه‌اندازی CameraX نیست. All implementation specific configurations are set on UseCase once it is attached to a Camera instance which for the public API is ProcessCameraProvider.bindToLifecycle(). (Ia5411)
  • <UseCase>.getTargetRotation() Surface.ROTATION_0 را برمی‌گرداند اگر قبل‌از پیوست شدن به نمونه Camera فراخوانی شود، مگراینکه targetRotation در Builder یا UseCase تنظیم شده باشد. (I80fcd)

Camera-Core نسخه 1.0.0-beta11

‫۱۴ اکتبر ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta11 منتشر شده است. نسخه 1.0.0-beta11 حاوی این commit-ها است.

ویژگی‌های جدید - از میانای برنامه‌سازی کاربردی Android 11 CONTROL_ZOOM_RATIO برای بزرگ‌نمایی در دستگاه‌های Android 11 یا جدیدتر که حاوی CONTROL_ZOOM_RATIO_RANGE معتبر هستند پشتیبانی می‌کند. (I62cc6)

رفع اشکال‌ها

  • مشکل NumberFormatException که وقتی شناسه دوربین شناسه دوربین غیرعدد صحیح بود رخ می‌داد برطرف شد. (Ib2228)
  • برای تکمیل ایجاد UseCases، نیازی به راه‌اندازی CameraX نیست. All implementation specific configurations are set on UseCase once it is attached to a Camera instance which for the public API is ProcessCameraProvider.bindToLifecycle(). (Ia5411)
  • <UseCase>.getTargetRotation() Surface.ROTATION_0 را برمی‌گرداند اگر قبل‌از پیوست شدن به نمونه Camera فراخوانی شود، مگراینکه targetRotation در Builder یا UseCase تنظیم شده باشد. (I80fcd)

Camera-Core نسخه 1.0.0-beta10

۲۳ سپتامبر ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta10 منتشر شده است. نسخه 1.0.0-beta10 شامل این commit-ها است.

رفع اشکال‌ها

  • رفع اشکال در اعتبارسنجی مقصد ذخیره فایل برای ضبط تصویر (I8c565، b/167697553)

Camera-Camera2 نسخه 1.0.0-beta10

۲۳ سپتامبر ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta10 منتشر شده است. نسخه 1.0.0-beta10 شامل این commit-ها است.

رفع اشکال‌ها

Camera-Camera2 نسخه 1.0.0-beta09

‫۱۶ سپتامبر ۲۰۲۰ (۲۶ شهریور ۱۳۹۹)

‫androidx.camera:camera-camera2:1.0.0-beta09 منتشر شده است. نسخه 1.0.0-beta09 شامل این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • Camera2CameraInfo به‌جای ارائه روش‌های ثابت، نمونه CameraInfo را هنگام ایجاد برای بازیابی اطلاعات مرتبط با Camera2 دریافت می‌کند. (I5b844)

رفع اشکال‌ها

  • مشکل نسبت ابعادی هدف در دستگاه‌های رایانه لوحی برطرف شد. وقتی نسبت ابعادی هدف روی AspectRatio.RATIO_16_9 تنظیم شده باشد، باید اندازه ۱۶:۹ انتخاب شود. (Ib7fcf، b/151969438)
  • ‫InitializationException را پرتاب کنید تا برنامه بتواند به‌طور مناسب AssertionError را که هنگام ایجاد CameraCharacteristics رخ داده است مدیریت کند. (I89c8c، b/160524721)
  • رابط‌های آزمایشی برای ExposureCompensation اضافه شد (If96c7)

Camera-Core نسخه 1.0.0-beta09

‫۱۶ سپتامبر ۲۰۲۰ (۲۶ شهریور ۱۳۹۹)

‫androidx.camera:camera-core:1.0.0-beta09 منتشر شده است. نسخه 1.0.0-beta09 شامل این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • اشکالی که در آن نمای دید در UseCaseGroup به‌عنوان غیرتهی علامت‌گذاری می‌شد برطرف شد. توسعه‌دهندگان باید بتوانند بدون تنظیم نمای پدیدار، نمای پدیدار ایجاد کنند. (Ie3d2e)
  • رابط‌های آزمایشی برای ExposureCompensation اضافه شد (If96c7)
  • اجازه دادن به چرخش هدف دلخواه برای «پیش‌نمایش». اطلاعات تبدیل محاسبه می‌شود و ازطریق یک TranformationInfoListener فراخوانی جدید به‌طور هم‌زمان به کاربر برگردانده می‌شود. (I21470)

رفع اشکال‌ها

  • مشکل خاموش نشدن فلاش در برخی‌از دستگاه‌ها برطرف شد. این مشکل زمانی رخ می‌دهد که حالت فلاش برای عکس گرفتن روی FLASH_MODE_ON تنظیم شده باشد و هنگام روشن شدن فلاش به FLASH_MODE_OFF تغییر کند. این نشانه شبیه فعال بودن حالت چراغ‌قوه است. (Ib4451، b/162568128)
  • اگر جلوه افزونه فعال باشد و پیاده‌سازی کتابخانه فروشنده نیاز به انجام فرایند خاصی روی سطح خروجی داشته باشد، PreviewView مجبور به استفاده از TextureView می‌شود. (I0c3cc)
  • نشت فعالیت/قطعه هنگام ارسال بافت فعالیت/قطعه به ProcessCameraProvider.getInstance(Context) برطرف شد.

مشکلات شناخته‌شده

  • وقتی ViewPort تنظیم شده باشد، ممکن است مستطیل برش ImageCapture در دستگاه‌هایی که میان‌گیر تصویر را در HAL می‌چرخانند نادرست باشد. این مشکل در نسخه پخش بعدی برطرف خواهد شد.

Camera-Camera2 نسخه 1.0.0-beta08

‫۱۹ اوت ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta08 منتشر شده است. نسخه 1.0.0-beta08 شامل این commit-ها است.

رفع اشکال‌ها

  • ‫bindToLifecycle برای اجرا شدن سریع در رشته اصلی بهینه‌سازی شده است. (I1d57e)
  • DisplayOrientedMeteringPointFactory به‌جای CameraSelector، نمونه CameraInfo را می‌گیرد تا نگاشت مستقیمی به دوربینی که کارخانه برای آن نقطه تولید می‌کند وجود داشته باشد. همه کلاس‌هایی که از DisplayOrientedMeteringPointFactory استفاده می‌کنند، به‌جای CameraSelector، نمونه CameraInfo را نیز می‌پذیرند. (I400c1)
  • مشکل گروه‌بندی اندازه نسبت ابعادی وضوح خودکار برطرف شد که در آن اندازه mod16‏ ۱۶:۹ (۸۶۴×۴۸۰) وقتی انتخاب می‌شود که تنظیم وضوح هدف ۲۰۱۶×۱۰۸۰ باشد و اندازه ۱۶:۹‏ ۱۹۲۰×۱۰۸۰ دیگری پشتیبانی شود. (I53167، b/159363774)
  • رفع مشکل CameraControl که در آن به‌دلیل شرایط رقابتی نمی‌تواند کار کند (I2279f، b/152333890، b/160714166)

Camera-Core نسخه 1.0.0-beta08

‫۱۹ اوت ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta08 منتشر شده است. نسخه 1.0.0-beta08 شامل این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • DisplayOrientedMeteringPointFactory به‌جای CameraSelector، نمونه CameraInfo را می‌گیرد، بنابراین نگاشت مستقیمی وجود دارد که کارخانه برای کدام دوربین نقاط را تولید خواهد کرد. همه کلاس‌هایی که از DisplayOrientedMeteringPointFactory استفاده می‌کنند، به‌جای CameraSelector، نمونه CameraInfo را نیز می‌پذیرند. (I400c1)

رفع اشکال‌ها

  • برای ضبط تصویر، پرچم چرخش افقی را در فراداده براساس جهت دوربین بازنویسی کنید. (I28499)
  • هنگام استفاده از Context که شیء Application را از Context.getApplicationContext() برنمی‌گرداند، مقداردهی اولیه نباید دیگر ازکار بیفتد. (I3d3c9، b/160817073)

Camera-Camera2 نسخه 1.0.0-beta07

‫۲۲ ژوئیه ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta07 منتشر شده است. نسخه 1.0.0-beta07 حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • مشکل کشیده شدن پیش‌نمایش در دستگاه قدیمی Android 5.0 برطرف شد. (I0c03a)
  • برخی‌از اندازه‌های پشتیبانی‌شده JPEG که باعث مشکل WYSIWYG در برخی‌از دستگاه‌ها می‌شود مستثنی شده است. (Ib5128)

Camera-Core نسخه 1.0.0-beta07

‫۲۲ ژوئیه ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta07 منتشر شده است. نسخه 1.0.0-beta07 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • ادغام کردن سبک تناسب FIT_CENTER، FIT_START، و FIT_END با FIT. FITبه این معنی است که مستطیل برش برگردانده‌شده حداکثر مستطیل حسگر ممکن خواهد بود. (Ia73c3)
  • مستطیل برش پیش‌نمایش توسط ناحیه نمایش پیکربندی می‌شود. فقط ناحیه پوشش‌داده‌شده توسط مستطیل برش باید برای کاربران نهایی قابل‌مشاهده باشد. (I142a4)

رفع اشکال‌ها

  • مشکل کشیده شدن پیش‌نمایش در دستگاه قدیمی Android 5.0 برطرف شد. (I0c03a)
  • مشکل استثنای ConcurrentModificationException هنگام لغو اتصال موارد استفاده برطرف شد. (I371c0)

Camera-Camera2 نسخه 1.0.0-beta06

۲۴ ژوئن ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta06 منتشر شده است. نسخه 1.0.0-beta06 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • رابط‌های آزمایشی برای فیلتر کردن دوربین‌ها براساس شناسه دوربین و CameraCharacteristics اضافه شد. (I28f61)

رفع اشکال‌ها

  • مشکلی که باعث می‌شد startFocusAndMetering نتواند با موفقیت روی Samsung Galaxy S7 فوکوس کند برطرف شد. (If3be7، b/159039233)
  • رفع مشکل بسته نشدن دوربین پس‌از خروج از برنامه. (I7a7b3)
  • رفع مشکل قطع شدن پیش‌نمایش به‌دلیل تعویض مکرر دوربین هنگام استفاده از پیاده‌سازی SurfaceView در PreviewView (I920ce)
  • اگر هیچ‌کدام از MeteringPoint مشخص‌شده نتواند مستطیل‌های اندازه‌گیری معتبر تولید کند، CameraControl#startFocusAndMetering ناموفق خواهد بود. (Id53ce)

Camera-Core نسخه 1.0.0-beta06

۲۴ ژوئن ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta06 منتشر شده است. نسخه 1.0.0-beta06 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • رابط‌های آزمایشی برای فیلتر کردن دوربین‌ها براساس شناسه دوربین و CameraCharacteristics اضافه شد. (I28f61)

رفع اشکال‌ها

  • اکنون می‌توان CameraX را با ProcessCameraProvider#configureInstance() قبل‌از فراخوانی ProcessCameraProvider#getInstance() پیکربندی کرد. این امر امکان سفارشی‌سازی CameraXConfig را بدون نیاز به پیاده‌سازی CameraXConfig.Provider در کلاس «برنامه» برنامه فراهم می‌کند. (Ia1a8d)
  • اگر هیچ‌کدام از MeteringPoint مشخص‌شده نتواند مستطیل‌های اندازه‌گیری معتبر تولید کند، CameraControl#startFocusAndMetering ناموفق خواهد بود. (Id53ce)

Camera-Camera2 نسخه 1.0.0-beta05

‫۱۰ ژوئن ۲۰۲۰

‫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)

Camera-Core نسخه 1.0.0-beta05

‫۱۰ ژوئن ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta05 منتشر شده است. نسخه 1.0.0-beta05 شامل این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • خرابی هنگام راه‌اندازی برنامه در زمان مقداردهی اولیه CameraX وقتی تلفن در حالت «مزاحم نشوید» است برطرف شد. InitializationException حاوی CameraUnavailableException به‌جای ازکار انداختن برنامه، روی ListenableFuture نتیجه مقداردهی اولیه تنظیم خواهد شد. (I9909a، b/149413835)

رفع اشکال‌ها

  • javadocs setTargetResolution و setTargetRotation به‌روز شد. (Iae16f)

Camera-Camera2 نسخه 1.0.0-beta04

‫۲۷ مه ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta04 منتشر شده است. نسخه 1.0.0-beta04 حاوی این commit-ها است.

رفع اشکال‌ها

  • به برنامه‌ها اجازه داده شد تا هرگونه پارامتر درخواست ضبط camera2 را ازطریق Camera2Interop بدون ایجاد خرابی تنظیم کنند. لطفاً توجه داشته باشید که اگر مشکلاتی درنتیجه لغو پارامترها به‌وجود آید. هنگام لغو پارامترها بااستفاده از Camera2Interop، پایداری و رفتار تضمین نمی‌شود. (Ibe5a1، b/149103700)
  • مقداردهی اولیه خودکار هنگام استفاده از برنامه در دستگاهی که از شبه‌منطقه استفاده می‌کند برطرف شده است. (I3bef3، b/154767663)
  • گزارش خطای تبدیل‌شده مربوط به مورد استفاده جداشده به گزارش اشکال‌زدایی در Camera2CameraImpl. (I1a565، b/154422490)
  • مشکل تاریک بودن عکس گرفته‌شده در برخی مواقع، حتی با وجود روشن شدن فلاش، برطرف شد. (I5d9fa، b/149729613)
  • رفع اشکالی که در آن میان‌گیر در ImageProxy از ImageCapture به عقب برگردانده نمی‌شد (I0c455، b/153249512)
  • مشکلات مربوط به اتصال ImageCapture فقط برطرف شد: (۱) عکس گرفتن با MAX_QUALITY ناموفق بود؛ (۲) کیفیت تصویر بد تولید شد زیرا نوردهی خودکار کار نمی‌کند. (I17782، b/145326998)
  • بهبود قابلیت اطمینان باز کردن مجدد دوربین وقتی CameraX توسط فرایند دیگری قطع می‌شود یا مسیر کد دوربین را می‌رباید (I1fbc3، b/153714651)

Camera-Core نسخه 1.0.0-beta04

‫۲۷ مه ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta04 منتشر شده است. نسخه 1.0.0-beta04 حاوی این کدهای ثبت‌شده است.

تغییرات میانای برنامه‌سازی کاربردی

  • یک API آزمایشی، CameraXConfig.Builder#setSchedulerHandler()، برای تنظیم گرداننده مورداستفاده داخلی پشته دوربین CameraX اضافه می‌کند. این API جدید به‌همراه CameraXConfig.Builder#setCameraExecutor() باید امکان کنترل کامل رشته‌های مورداستفاده پشته دوربین CameraX را فراهم کند. (I7bf32، b/121160431)

رفع اشکال‌ها

  • خرابی در ImageAnalysis را که در آن پس‌از بسته شدن ImageReaderProxy به ImageProxy دسترسی پیدا می‌شود برطرف می‌کند. این کار همچنین باعث می‌شود که همه ImageProxy دریافتی توسط Analyzer باید قبل‌از بسته شدن ImageReaderProxy بسته شوند. (I4b299، b/145956416، b/154155377، b/156357269)
  • پارامتر CameraInfo از PreviewView#createSurfaceProvider() برداشته شد، PreviewView اکنون آن را به‌طور داخلی از SurfaceRequest بازیابی می‌کند. (If18f0، b/154652477)
  • مقداردهی اولیه خودکار هنگام استفاده از برنامه در دستگاهی که از شبه‌منطقه استفاده می‌کند برطرف شده است. (I3bef3، b/154767663)
  • مشکل تاریک بودن عکس گرفته‌شده در برخی مواقع، حتی با وجود روشن شدن فلاش، برطرف شد. (I5d9fa، b/149729613)
  • رفع مشکل ImageAnalysis که در آن چندین تماس با setAnalyzer/clearAnalyzer منجر به عدم دریافت تصاویر برای تجزیه‌وتحلیل توسط تجزیه‌وتحلیل‌گر می‌شد. (I6169f، b/151605317، b/153514544)
  • رفع اشکالی که در آن میان‌گیر در ImageProxy از ImageCapture به عقب برگردانده نمی‌شد (I0c455، b/153249512)
  • مشکل انتخاب نشدن اولین دوربین در فهرست پشتیبانی‌شده از CameraManager برای استفاده برطرف شد. (I4c624، b/153418028)
  • خرابی متناوب ناشی از تنظیم Preview.SurfaceProvider که سطح درخواست‌شده قبلی را آزاد نمی‌کرد برطرف شد. ‫“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation” (I8e4e7، b/155936225)

Camera-Camera2 نسخه 1.0.0-beta03

۱۵ آوریل ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta03 منتشر شده است. نسخه 1.0.0-beta03 حاوی این commit-ها است.

رفع اشکال‌ها

  • اصلاحاتی برای پشتیبانی از انتشار camera-core

Camera-Core نسخه 1.0.0-beta03

۱۵ آوریل ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta03 منتشر شده است. نسخه 1.0.0-beta03 حاوی این commit-ها است.

رفع اشکال‌ها

  • رگرسیون از beta03 برطرف شد که در آن فراخوانی bindToLifecycle() با صفر UseCase باعث ایجاد استثنا می‌شد. این کار مانع بازیابی Camera بدون اتصال UseCase شد.

Camera-Camera2 نسخه 1.0.0-beta02

‫۱ آوریل ۲۰۲۰

‫androidx.camera:camera-camera2:1.0.0-beta02 منتشر شده است. نسخه 1.0.0-beta02 شامل این commit-ها است.

رفع اشکال‌ها

  • ‫ImageInfo.getRotationDegrees() از ImageProxy تولیدشده توسط ImageCapture را اصلاح کردیم تا با مقدار چرخشی جهت EXIF مطابقت داشته باشد. (Id4281، b/150802561)
  • برای استفاده از پیاده‌سازی پیش‌فرض CameraX/Camera2، دیگر نیازی به ترتیب صریح وابستگی‌های CameraX در build.gradle نیست. برای مواردی که اعلام وابستگی‌های دقیق الزامی است، اکنون می‌توان همه وابستگی‌های CameraX را در فایل ساخت گنجاند. (I46e88)
  • مشکل IllegalArgumentException که در دستگاه‌هایی با اندازه نمایشگر کوچک‌تر از ۶۴۰×۴۸۰ رخ می‌داد برطرف شد. (Ife3f2، b/150506192)
  • bindToLifecycle اصلاح شد تا UseCase را فقط درصورت اتصال موفقیت‌آمیز تغییر دهد. قبلاً هنگام فراخوانی bindToLifecycle برای انجام محاسبات وضوح، UseCase به‌روزرسانی می‌شد. اکنون دیگر نیازی به به‌روزرسانی UseCase برای انجام محاسبات نیست (I78d9e)

Camera-Core نسخه 1.0.0-beta02

‫۱ آوریل ۲۰۲۰

‫androidx.camera:camera-core:1.0.0-beta02 منتشر شده است. نسخه 1.0.0-beta02 شامل این commit-ها است.

رفع اشکال‌ها

  • ‫ImageInfo.getRotationDegrees() از ImageProxy تولیدشده توسط ImageCapture را اصلاح کردیم تا با مقدار چرخشی جهت EXIF مطابقت داشته باشد. (Id4281، b/150802561)
  • bindToLifecycle اصلاح شد تا UseCase را فقط درصورت اتصال موفقیت‌آمیز تغییر دهد. قبلاً هنگام فراخوانی bindToLifecycle برای انجام محاسبات وضوح، UseCase به‌روزرسانی می‌شد. اکنون دیگر نیازی به به‌روزرسانی UseCase برای انجام محاسبات نیست (I78d9e)
  • مشکلی که باعث می‌شد جلسه ضبط مورد استفاده Preview هنگام تغییر سطح پیش‌نمایش پس‌از بیش‌از یک‌بار فراخوانی Preview.setSurfaceProvider() به‌روز نشود برطرف شد.

Camera-Camera2 نسخه 1.0.0-beta01

‫۲۶ فوریه ۲۰۲۰ (۷ اسفند ۱۳۹۸)

‫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)

Camera-Core نسخه 1.0.0-beta01

‫۲۶ فوریه ۲۰۲۰ (۷ اسفند ۱۳۹۸)

‫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

‫۱۰ فوریه ۲۰۲۰ (۲۱ بهمن ۱۳۹۸)

‫androidx.camera:camera-camera2:1.0.0-alpha10 منتشر شده است. نسخه 1.0.0-alpha10 شامل این commitها است.

رفع اشکال‌ها

  • پایداری در دستگاه‌های INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY با اطمینان از اینکه Surface فقط برای مدت استفاده توسط Camera2 حفظ می‌شود بهبود یافته است. (I9dac2)
  • مشکل پیش‌نمایش نوردهی ناکافی در دستگاه‌های LEGACY با تنظیم درست CONTROL_AE_TARGET_FPS_RANGE برطرف شد. (۱۲۲۴۶۳۸)

Camera-Core نسخه 1.0.0-alpha10

‫۱۰ فوریه ۲۰۲۰ (۲۱ بهمن ۱۳۹۸)

‫androidx.camera:camera-core:1.0.0-alpha10 منتشر شده است. نسخه 1.0.0-alpha10 شامل این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • ImageCapture به‌روزرسانی شد تا ذخیره کردن تصاویر در Uri و OutputStream مجاز شود. روش‌های takePicture سربارشده را در یک روش ترکیب کرد. برنامه آزمایشی به‌روز شد تا از Uri به‌عنوان نمونه متعارف استفاده کند. (Ia3bec)
  • نام Preview.PreviewSurfaceProvider به Preview.SurfaceProvider تغییر کرد. SurfaceProvider دیگر توسعه‌دهندگان را ملزم نمی‌کند که ListenableFuture خودشان را ایجاد کنند، و ارائه Surface اکنون ازطریق شیء SurfaceRequest جدید انجام می‌شود. روش Preview.getPreviewSurfaceProvider() به‌دلیل احتمال سوءاستفاده از آن هنگام جفت شدن Preview با کلاس‌های دیگر مانند PreviewView برداشته شده است. (I20105)
  • getTargetRotation() و getTargetName() به Preview اضافه شد. (Iceee7)
  • getTargetRotation()، getBackpressureStrategy()، و getImageQueueDepth() در ImageAnalysis اضافه شد. (I9d6d9)
  • getTargetRotation() و getCaptureMode() در ImageCapture() اضافه شد (I5bc17)
  • متغیرهای مستقلی که قبلاً در ImageCapture.OnImageSavedCallback.onError() و ImageCapture.OnImageCapturedCallback.onError() ارسال شده بودند اکنون با یک متغیر مستقل ImageCaptureException جایگزین شده‌اند که همچنان حاوی همه اطلاعاتی است که قبلاً ارسال شده بود.
  • متغیر مستقل فایل که قبلاً در ImageCapture.OnImageSavedCallback.onImageSaved() ارسال شده بود برداشته شده است. (I750d2)
  • کلاس‌های Preview و ImageCapture اکنون به‌عنوان نهایی علامت‌گذاری شده‌اند. (I2500b)
  • میانای برنامه‌سازی کاربردی به‌روز شد، با روش‌های getZoomRatio()، getMaxZoomRatio()، getMinZoomRatio()، و getLinearZoom() از CameraInfo که در getZoomState() ادغام می‌شوند و نمونه ZoomState را برمی‌گرداند. (Ib19fe)
  • فیلدهای میانای برنامه‌سازی کاربردی OPTION_TARGET_CLASS و OPTION_TARGET_NAME از CameraXConfig برداشته شد چون فقط برای استفاده داخلی کتابخانه درنظر گرفته شده‌اند. سازنده CameraXConfig.Builder برداشته شد. (I96912)
  • الزام اینکه برنامه باید Application را گسترش دهد تا CameraX مقداردهی اولیه شود برداشته شد. اکنون CameraX با پیکربندی پیش‌فرض Camera2 مقداردهی اولیه می‌شود، به‌شرطی که آرتیفکت camera-camera2 در build.gradle برنامه گنجانده شده باشد. (I58ff5) (b/146923574)

Camera-Camera2 نسخه 1.0.0-alpha09

‫۲۲ ژانویه ۲۰۲۰ (۲ بهمن ۱۳۹۸)

‫androidx.camera:camera-camera2:1.0.0-alpha09 منتشر شده است. نسخه 1.0.0-alpha09 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • مسیر همکاری متقابل camera2 را برای استخراج شناسه دوربین Camera2 اضافه کنید. می‌توانید شناسه دوربین را بااستفاده از Camera2CameraInfo.extractCameraId() از CameraInfo استخراج کنید. نمونه کد زیر نحوه استفاده از این را نشان می‌دهد:

    Camera camera = provider.bindToLifecycle(...);
    String cameraId =
        Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
    

    کلاس Camera2CameraInfo به markerClass ExperimentalCamera2Interop نیاز دارد.

Camera-Core نسخه 1.0.0-alpha09

‫۲۲ ژانویه ۲۰۲۰ (۲ بهمن ۱۳۹۸)

‫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

‫۱۸ دسامبر ۲۰۱۹

‫androidx.camera:camera-camera2:1.0.0-alpha08 منتشر شده است. نسخه 1.0.0-alpha08 شامل این commitها است.

مشکلات شناخته‌شده

  • هنگام استفاده از Camera2 interop، همه گزینه‌های درخواست ضبط Camera2 کار نمی‌کنند. اگر گزینه درخواستی پشتیبانی نشود، جلسه شروع نمی‌شود و ممکن است خطایی مانند این رخ دهد: 09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination

رفع اشکال‌ها

  • مشکلی که در آن پس‌از چرخاندن یا جابه‌جا کردن دوربین برای سطح‌های میانای برنامه‌سازی کاربردی ۲۱ و ۲۲، صفحه سیاه پیش‌نمایش نشان داده می‌شد برطرف شد.

تغییرات میانای برنامه‌سازی کاربردی

  • آزمایشی: مسیر تعامل‌پذیری camera2 برای استخراج شناسه دوربین اضافه شد.

Camera-Core نسخه 1.0.0-alpha08

‫۱۸ دسامبر ۲۰۱۹

‫androidx.camera:camera-core:1.0.0-alpha08 منتشر شده است. نسخه 1.0.0-alpha08 شامل این commitها است.

مشکلات شناخته‌شده

  • برنامه‌هایی که از PreviewView یا CameraView استفاده می‌کنند ممکن است پیش‌نمایش نسبت ابعادی اشتباهی داشته باشند. این اتفاق پس‌از توقف موقت یا ازسرگیری در برخی‌از دستگاه‌های FULL، مانند Pixel2، رخ می‌دهد.

رفع اشکال‌ها

  • اسناد FocusMeteringAction و CameraControl به‌روزرسانی شد.
  • TorchControl برای enableTorch() و getTorchState() پیاده‌سازی شد.

تغییرات میانای برنامه‌سازی کاربردی

  • IntDefs را پنهان کرد و ثابت‌های IntDef را به خارج از تعریف IntDef منتقل کرد.
  • rotationDegrees از کلاس OnImageCaptureCallback به ImageInfo منتقل شد.
  • rotationDegrees از کلاس Analyzer به ImageInfo منتقل شد.

Camera-Camera2 نسخه 1.0.0-alpha07

۴ دسامبر ۲۰۱۹

‫androidx.camera:camera-camera2:1.0.0-alpha07 منتشر شده است. نسخه 1.0.0-alpha07 از camera-camera2 حاوی این موارد است

  • Camera2Config اکنون برای استفاده با مقداردهی اولیه و پیکربندی پیاده‌سازی مبتنی بر Camera2 برای CameraX دردسترس است. جزئیات بیشتر درباره نحوه استفاده از این مورد در مقداردهی اولیه در بخش camera-core یادداشت‌های انتشار آمده است.
  • عملکرد تعامل‌پذیری camera2 اکنون به‌عنوان آزمایشی علامت‌گذاری شده و به بسته جداگانه‌ای منتقل شده است، androidx.camera.camera2.interop.

Camera-Core نسخه 1.0.0-alpha07

۴ دسامبر ۲۰۱۹

‫androidx.camera:camera-core:1.0.0-alpha07 منتشر شده است. نسخه 1.0.0-alpha07 از camera-core حاوی این موارد است

توجه داشته باشید که در این نسخه آلفا تغییرات قابل‌توجهی وجود دارد زیرا درحال آماده‌سازی برای نسخه بتا هستیم. توصیه می‌کنیم تغییرات را مرور کنید و هر بازخوردی دارید در گروه Google‏ CameraX هم‌رسانی کنید. به توسعه‌دهندگانی که از CameraX در برنامه‌های موجود در فروشگاه Play استفاده می‌کنند توصیه می‌کنیم قبل‌از ارتقای کتابخانه در برنامه‌هایشان، منتظر انتشار رسمی نسخه بتا باشند.

تغییرات میانای برنامه‌سازی کاربردی

  • مهم: مقداردهی اولیه CameraX تغییر کرده است. برنامه‌ها باید CameraXConfig.Provider را پیاده‌سازی کنند و از Camera2Config پیش‌فرض ارائه‌شده توسط androidx.camera.camera2 استفاده کنند. یک کاربرد معمول:

    import androidx.camera.camera2.Camera2Config
    import androidx.camera.core.CameraXConfig
    
    public class MyCameraXApplication : Application(),  CameraXConfig.Provider {
        override fun getCameraXConfig(): CameraXConfig {
                return Camera2Config.defaultConfig(this)
        }
    }
    
  • کلاس CameraX برداشته شده است. ‫bindToLifecycle()، unbind()، unbindAll()، isBound()، و hasCamera() که قبلاً توسط فراخوانی کلاس CameraX ارائه می‌شدند اکنون ازطریق ProcessCameraProvider دردسترس هستند.

  • نمونه‌ای از ProcessCameraProvider برای هر فرایند به‌صورت غیرهم‌زمان بااستفاده از روش ایستا ProcessCameraProvider.getInstance() به‌دست می‌آید که یک آینده قابل‌شنیدن را برمی‌گرداند و ProcessCameraProvider را پس‌از تکمیل ارائه می‌دهد. در اینجا این مقدار برحسب onCreate() برای استفاده معمولی نشان داده شده است. می‌توانید تماس‌ها با getInstance() را در مراحل بعدی چرخه حیات فعالیت برقرار کنید تا تأخیر مقداردهی اولیه را به زمان دیگری موکول کنید (مثلاً زمانی که کنش کاربر میانای کاربر دوربین را باز می‌کند).

    import androidx.camera.lifecycle.ProcessCameraProvider
    import com.google.common.util.concurrent.ListenableFuture
    
    class MainActivity : AppCompatActivity() {
       private lateinit var cameraProviderFuture : ListenableFuture<ProcessCameraProvider>
       override fun onCreate(savedInstanceState: Bundle?) {
           cameraProviderFuture = ProcessCameraProvider.getInstance(this);
      }
    
  • می‌توان شنونده‌ای به ListenableFuture که توسط getInstance() برگردانده شده است اضافه کرد. این کار تضمین می‌کند که ارائه‌دهنده دوربین می‌تواند از Future بدون مسدود کردن در Future.get() بازیابی شود

    cameraProviderFuture.addListener(Runnable {
      val cameraProvider = cameraProviderFuture.get()
      cameraProvider.bindToLifecycle(...)
    }, ContextCompat.getMainExecutor(this))
    
  • انتخاب دوربین اکنون به‌جای هر مورد استفاده، توسط انتخابگر دوربین انجام می‌شود

    val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
    
  • ‫CameraProvider.bindToLifecycle به مالک چرخه حیات، انتخاب‌گر دوربین، و موارد استفاده داده می‌شود که سپس به مالک چرخه حیات داده‌شده محدود می‌شوند و برای دوربین انتخاب‌شده اجرا می‌شوند.

    cameraProvider.bindToLifecycle(this as LifecycleOwner,
           cameraSelector, preview, imageAnalysis)
    
  • کلاس‌های «پیکربندی» مورد استفاده برداشته شده‌اند. به‌جای آن، موارد استفاده را مستقیماً بسازید و گزینه‌ها را در هر سازنده مورد استفاده تنظیم کنید. برای مثال:

    preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
    
  • مورد استفاده «پیش‌نمایش» به‌روز شده است تا سطحی را که توسط برنامه ایجاد و مدیریت می‌شود بپذیرد تا از روال‌های مطلوب Android اطمینان حاصل شود. به‌شدت توصیه می‌شود از کلاس نمای PreviewView ارائه‌شده در بسته camera-view استفاده کنید.

    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 است
  • Enums به IntDef تغییر کرده است

  • کنترل‌های بزرگ‌نمایی اضافه شده است:

    • CameraControl.setLinearZoom()
    • CameraControl.setZoomRatio()
    • CameraInfo.getLinearZoom()
    • CameraInfo.getMaxZoomRatio()
    • CameraInfo.getZoomRatio()
  • ‫CameraInfo.hasFlashUnit() اضافه شده است تا مشخص شود سخت‌افزار فلاش/چراغ‌قوه وجود دارد یا نه.

  • CameraInfo.isFlashAvailable() برداشته شد. چراغ‌قوه عملکرد فلاش را لغو می‌کند. جزئیات بیشتر در اسناد مرجع گنجانده شده است.

  • فیلدهای ImageCapture.Metadata با دسترسی‌های get/set/is جایگزین شده‌اند.

  • ‫startFocusMetering و cancelFocusMetering اکنون ListenableFutures را برمی‌گردانند که نشان‌دهنده عملیات ناهمگام تماس است.

  • MeteringPoints اکنون به‌عنوان دسته‌هایی برای کنش‌های اندازه‌گیری عمل می‌کنند و توسط کارخانه‌ها تولید می‌شوند. برنامه‌ها باید از کارخانه‌های موجود به‌جای کارخانه‌های سفارشی استفاده کنند.

مشکلات برطرف‌شده

  • مشکل عکس گرفتن هنگام ازسرگیری (پس‌از توقف قبلی که عکس‌ها درانتظار تکمیل بودند) برطرف شد.
  • مشکل شناخته‌شده: CameraControl.enableTorch() کار می‌کند اما ListenableFuture<Void> برگردانده‌شده همیشه complete(success) فوری است، حتی اگر واحد فلاش وجود نداشته باشد. نسخه‌های آینده این مشکل را برطرف خواهند کرد تا رفتار نهایی به این صورت باشد: وقتی واحد فلاش وجود ندارد، enableTorch(true) فوراً ناموفق می‌شود (درخواست به CaptureSession ارسال نمی‌شود)، و TorchState خاموش می‌ماند.
  • مشکل شناخته‌شده: startFocusAndMetering و cancelFocusAndMetering نورسنجی کانونی را شروع و لغو می‌کنند، اما بلافاصله completed (success) آینده را برمی‌گردانند که نشان‌دهنده رفتار مستندشده نیست. ‫FocusMeteringResult از ListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering() نتیجه‌ای جعلی است که isFocusSuccessful() و همیشه «نادرست» است، که با رفتار مستندشده و موردانتظار تفاوت دارد.
  • مشکل شناخته‌شده: کارخانه نقطه اندازه‌گیری برای استفاده با رویدادهای لمسی PreviewView درحال توسعه است. درحال‌حاضر، برنامه‌هایی که سطوح مدیریت‌شده سفارشی را متصل می‌کنند می‌توانند از کارخانه‌های نقطه اندازه‌گیری موجود استفاده کنند، و درغیراین‌صورت هیچ عملکرد فوکوس لمسی برای PreviewView دردسترس نیست.

Camera-Camera2 و Camera-Core نسخه 1.0.0-alpha06

۹ اکتبر ۲۰۱۹

‫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 به‌جای نسبت ابعادی دلخواه تنظیم می‌کند. این موضوع بیشتر نشان‌دهنده این واقعیت است که فقط نسبت‌های ابعادی خاصی از دوربین ارائه می‌شود، نه هر نسبت دلخواهی.
    • درحال‌حاضر، تنها نسبت‌های دردسترس ۱۶:۹ و ۴:۳ هستند. در مورد ۱:۱، فقط برخی‌از دستگاه‌ها این گزینه را در دوربین دارند و آن هم فقط در وضوح‌های محدود. برنامه‌هایی که رابط یا پردازش ۱:۱ طراحی می‌کنند باید از گزینه‌های انعطاف‌پذیرتر ۱۶:۹ یا ۴:۳ استفاده کنند و نمایشگر را برش دهند یا زیرناحیه‌ای را پردازش کنند.
    • این نسبت‌های ابعادی به‌گونه‌ای جهت‌دهی شده‌اند که از حداکثر ناحیه حسگر استفاده کنند.
  • getTargetAspectRatio() به میاناهای برنامه‌سازی کاربردی پیکربندی مورد استفاده اضافه شد، که نسبت ابعادی را که خروجی مورد استفاده برای آن هدف‌گذاری شده است برمی‌گرداند.
  • روش setTargetAspectRatio(Rational aspectRatio) برای ImageCapture به setTargetAspectRatioCustom(Rational aspectRatio) تغییر کرده است. وقتی تنظیم شود، برونداد ImageCapture به‌طور متناسب برش داده می‌شود.

Executor APIs

  • توابع زیر پارامتر مجری را می‌پذیرند که به برنامه اجازه می‌دهد کنترل کند تابع در کدام مجری اجرا شود.
    • میانای برنامه‌سازی کاربردی Preview.setOnPreviewOutputUpdateListener(). اگر مجری برای آن تابع وجود نداشته باشد، در رشته اصلی اجرا می‌شود.
    • Preview.setOnPreviewOutputUpdateListener
    • FocusMeteringAction.Builder.setAutoFocusCallback
    • ImageAnalysis.setAnalyzer
    • ImageCapture.takePicture
    • CameraView.takePicture
    • CameraView.startRecording
    • VideoCapture.startRecording

CameraInfo با بررسی میاناهای برنامه‌سازی کاربردی «فلاش دردسترس» و «چرخش حسگر» اضافه شد

  • 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 توصیف می‌شود (که جهتی را نسبت‌به جهت طبیعی توصیف می‌کند) ارائه می‌دهد.

تغییرات API و رفع اشکال

  • نسبت‌های ابعادی: برای هر مورد استفاده، برنامه‌ها باید فقط یکی از setTargetResolution() یا setTargetAspectRatio() را فراخوانی کنند. فراخوانی هر دو در یک سازنده، خطایی را برمی‌گرداند.
    • به‌طور کلی، توصیه می‌شود براساس طراحی میانای کاربر برنامه از setTargetAspectRatio() استفاده کنید. وضوح‌های خاص براساس مورد استفاده است. برای مثال، پیش‌نمایش نزدیک به وضوح صفحه‌نمایش است و ضبط تصویر عکس‌های با وضوح بالا ارائه می‌دهد. برای اطلاعات بیشتر، جدول حل‌وفصل خودکار را ببینید.
    • از setTargetResolution() برای موارد خاص‌تر استفاده کنید، مثلاً وقتی که حداقل (برای صرفه‌جویی در محاسبات) یا حداکثر وضوح (برای پردازش جزئیات) موردنیاز است.
  • Executor API: تماس setCallbackHandler() از میاناهای برنامه‌سازی کاربردی پیکربندی مورد استفاده برداشته شد. درعوض، برنامه‌ها می‌توانند اجراکننده را به‌عنوان پارامتری در میاناهای برنامه‌سازی کاربردی مختلف دیگری که فراخوان برگشتی تنظیم می‌کنند، تنظیم کنند.
  • حاشیه‌نویسی‌های تهی برای توابع مختلف به‌روزرسانی شد.
  • مشکلی که باعث می‌شد هنگام باز کردن دوربین، java.lang.IllegalStateException at Camera$StateCallback.onError ایجاد شود برطرف شد.
  • مشکلی برطرف شد که در آن وقتی برنامه وضوح‌های بزرگ‌تر یا پیش‌فرض را درخواست می‌کرد، وضوح‌های خیلی کوچک (کمتر از ۶۴۰×۴۸۰) انتخاب می‌شد و درنتیجه تصویر پیش‌نمایش شطرنجی یا تار می‌شد. برنامه‌هایی که به‌طور خاص به وضوح‌های کوچک‌تر نیاز دارند می‌توانند صریحاً آن‌ها را درخواست کنند.
  • مشکلی که باعث می‌شد دوربین پس‌از بازگشت از قصدی که برنامه دوربین دیگری را راه‌اندازی کرده بود صفحه سیاه نشان دهد (راه‌اندازی دوربین ناموفق بود) برطرف شد.
  • اشکالی که باعث می‌شد هنگام شروع یا توقف مکرر برنامه‌ها خطای زیر نشان داده شود برطرف شد؛ 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

۵ سپتامبر ۲۰۱۹

‫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 API با Tap-to-Focus APIs اضافه شد

    • میانای برنامه‌سازی کاربردی برای دریافت 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();

    • میاناهای برنامه‌سازی کاربردی برای Metering Point Factories اضافه شد که به ترجمه مختصات ضربه به مختصات حسگر براساس کلاس‌های نما کمک می‌کند:

      MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView); MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);

  • Enforce calling the following methods on the Main (UI) thread, throwing an IllegalStateException when they are not. نسخه‌های آینده امکان استفاده در رشته‌های دیگر را فراهم خواهند کرد و سریال‌سازی را تضمین می‌کنند.

    • CameraX.bindToLifecycle()
    • CameraX.unbind()
    • CameraX.unbindAll()
    • ImageAnalysis.setAnalyzer()
    • ImageAnalysis.getAnalyzer()
    • ImageAnalysis.removeAnalyzer()
    • Preview.removePreviewOutputListener()
    • Preview.getOnPreviewOutputUpdateListener()
    • Preview.setOnPreviewOutputUpdateListener()
  • تنظیمات پیکربندی مختلف اکنون پارامترهای تهی را می‌پذیرند و گیرنده‌های مربوطه ممکن است تهی برگردانند.

  • مشکل هنگام آزمایش در شبیه‌سازهایی که از تنظیمات AF/AE/AWB پشتیبانی نمی‌کنند برطرف شد.

  • اشکال ازکارافتادن هنگام چرخش درحین تجزیه‌وتحلیل تصویر برطرف شد.

  • اشکالی که باعث می‌شد پیش‌نمایش در شروع (بدون داده‌های دوربین)، پس‌از چرخش، یا جابه‌جایی بین دوربین جلو و پشت سیاه نشان داده شود برطرف شد.

  • آزمایش برای چندین مورد استفاده از تجزیه‌وتحلیل تصویر هم‌زمان برداشته شد. برای اطمینان از سازگاری، برنامه‌ها باید فقط یک مورد استفاده از تجزیه‌وتحلیل تصویر را پیوست کنند.

  • Added initial robolectric tests for fake camera in camera-testing suite (WIP).

  • آزمایش Camera2Inititalizer برداشته شد، زیرا پوشش آن نامشخص/گمراه‌کننده بود.

Camera-Camera2 و Camera-Core نسخه 1.0.0-alpha04

۷ اوت ۲۰۱۹

‫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 جلسه را ایجاد و مدیریت می‌کند، اما همیشه باید اندازه‌های تصویر برگردانده‌شده را در خروجی مورد استفاده در کد خود بررسی کنید و بر این اساس تنظیم کنید.

تغییراتی در تنظیم وضوح و نسبت ابعادی ایجاد شده است که هدف آن شفاف‌تر کردن میانای برنامه‌سازی کاربردی است:

  • اکنون درنظر گرفته می‌شود که مورد استفاده پیش‌نمایش دارای نسبت ابعادی پیش‌فرض ۴:۳ است، وقتی هیچ نسبت ابعادی‌ای تنظیم نشده باشد.
  • وقتی CameraX به‌طور داخلی تغییرات در وضوح و نسبت ابعادی درخواستی را براساس قابلیت دستگاه درنظر می‌گیرد، ابتدا سعی می‌کند همان نسبت ابعادی را حفظ کند (همان‌طور که توسط هریک از فراخوانی‌های setTargetAspectRatio یا setTargetResolution تعیین شده است)
  • نسخه «نزدیک‌ترین mod16» از وضوح به‌عنوان همان نسبت ابعادی درنظر گرفته می‌شود.

حالت غیرمسدودکننده ImageAnalysis

  • رفتار ImageReaderMode.ACQUIRE_LATEST_IMAGE اکنون غیرمسدودکننده است. این API جدیدترین تصویر را در صف دریافت می‌کند، اما تصاویر استفاده‌نشده را به‌طور مداوم دور می‌اندازد تا از مسدود شدن خط لوله دوربین جلوگیری کند.
  • تحلیل‌گر می‌تواند یک تصویر را به‌طور نامحدود بدون توقف خط لوله نگه دارد.
  • اگر برنامه اجراکننده‌ای ارائه دهد که سپس مسدود شود، مورد استفاده ImageAnalysis مسدود می‌شود.
  • مجری پیش‌فرض که به‌طور داخلی تنظیم شده است به‌عنوان مجری غیرمسدودکننده عمل می‌کند.

رفع اشکال‌ها

  • مشکلات وقفه زمانی در انتظار برای همگرایی 3A هنگام ثبت تصاویر در دستگاه‌های بدون فوکوس خودکار، نوردهی خودکار، و تراز سفیدی خودکار برطرف شد
  • مشکل مربوط به عکس گرفتن سریع با ImageCapture برطرف شد. خطای java.lang.IllegalStateException: maxImages (2) has already been acquired را برطرف می‌کند
  • مشکلی که باعث می‌شد setLensFacing برای مورد استفاده فراخوانی نشود و درنتیجه java.lang.IllegalArgumentException: Unable to get camera ID for use case رخ دهد برطرف شد.
  • مشکل مربوط به دستگاه LEGACY که به نسبت ابعادی خاصی به‌عنوان حداکثر وضوح JPEG نیاز داشت برطرف شد
  • مشکل مربوط به انتقال برنامه به پس‌زمینه هنگام باز شدن دوربین برطرف شد
  • مشکل در میانای برنامه‌سازی کاربردی < ۲۵ برطرف شد، خطای checkAndUpdateEglState: invalid current EGLDisplay برداشته شد
  • مشکل مربوط به لغو اتصال پیش‌نمایش پس‌از فعال کردن و شروع افزونه‌ها برطرف شد
  • ساخت مصنوعات برای camera-view و camera-extensions اکنون به‌عنوان نسخه‌های آلفا منتشر شده‌اند

Camera-Camera2 و Camera-Core نسخه 1.0.0-alpha03

‫۲ ژوئیه ۲۰۱۹

‫androidx.camera:camera-core:1.0.0-alpha03 و androidx.camera:camera-camera2:1.0.0-alpha03 منتشر شده‌اند. نسخه 1.0.0-alpha03 حاوی این ارسال‌ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • توضیحات javadoc برای «هدف» در فراخوانی‌های پیکربندی setTarget اضافه شد

Camera-Core

  • خرابی «سطح ورودی/خروجی» پیکربندی‌نشده در باز/بسته کردن یا متصل/جدا کردن سریع برطرف شد
  • انتقال به پیاده‌سازی‌های جدید Futures
  • آزمایش کردن اصلاحات برای آزمایش‌های قوی‌تر
  • آزمایش ادغام هسته اکنون زمان ثبت عکس‌ها را نشان می‌دهد
  • کلاس سازگاری داخلی برای «مجریان» توسعه داده شد
  • زمان‌بندی برنامه آزمایشی برای ضبط تصاویر منتظر تکمیل شدن تصویر قبلی می‌ماند و پایداری بهبود یافته است

افزونه‌ها

  • بررسی‌های نسخه‌بندی اضافه شد
  • پوشش آزمایشی بیشتر - پاسخ تماس‌های رویداد افزونه
  • بهبودهایی برای تصویر و فراداده‌های مرتبط داخلی
  • اصلاحات مربوط به تغییر حالت در برنامه آزمایشی

Camera-Camera2 و Camera-Core نسخه 1.0.0-alpha02

۵ ژوئن ۲۰۱۹

‫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

۷ مه ۲۰۱۹

‫androidx.camera:camera-core:1.0.0-alpha01 و androidx.camera:camera-camera2:1.0.0-alpha01 منتشر شده‌اند. نسخه 1.0.0-alpha01 حاوی این commit-ها است.

Camera-Lifecycle نسخه 1.0.0-beta11

‫۱۴ اکتبر ۲۰۲۰

‫androidx.camera:camera-lifecycle:1.0.0-beta11 منتشر شده است. نسخه 1.0.0-beta11 حاوی این commit-ها است.

رفع اشکال‌ها

  • <UseCase>.getTargetRotation() Surface.ROTATION_0 را برمی‌گرداند اگر قبل‌از پیوست شدن به نمونه Camera فراخوانی شود، مگراینکه targetRotation در Builder یا UseCase تنظیم شده باشد. (I80fcd)

Camera-Lifecycle نسخه 1.0.0-beta10

۲۳ سپتامبر ۲۰۲۰

‫androidx.camera:camera-lifecycle:1.0.0-beta10 منتشر شده است. نسخه 1.0.0-beta10 شامل این commit-ها است.

رفع اشکال‌ها

Camera-Lifecycle نسخه 1.0.0-beta09

‫۱۶ سپتامبر ۲۰۲۰ (۲۶ شهریور ۱۳۹۹)

‫androidx.camera:camera-lifecycle:1.0.0-beta09 منتشر شده است. نسخه 1.0.0-beta09 شامل این commitها است.

Camera-Lifecycle نسخه 1.0.0-beta08

‫۱۹ اوت ۲۰۲۰

‫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

‫۲۲ ژوئیه ۲۰۲۰

‫androidx.camera:camera-lifecycle:1.0.0-beta07 منتشر شده است. نسخه 1.0.0-beta07 شامل این commit-ها است.

Camera-Lifecycle نسخه 1.0.0-beta06

۲۴ ژوئن ۲۰۲۰

‫androidx.camera:camera-lifecycle:1.0.0-beta06 منتشر شده است. نسخه 1.0.0-beta06 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • اکنون می‌توان CameraX را با ProcessCameraProvider#configureInstance() قبل‌از فراخوانی ProcessCameraProvider#getInstance() پیکربندی کرد. این امکان سفارشی‌سازی CameraXConfig را بدون نیاز به پیاده‌سازی CameraXConfig.Provider در کلاس Application برنامه فراهم می‌کند. (Ia1a8d)

Camera-Lifecycle نسخه 1.0.0-beta05

‫۱۰ ژوئن ۲۰۲۰

‫androidx.camera:camera-lifecycle:1.0.0-beta05 منتشر شده است. نسخه 1.0.0-beta05 شامل این ارسال‌ها است.

رفع اشکال‌ها

  • خرابی هنگام راه‌اندازی برنامه در زمان مقداردهی اولیه CameraX وقتی تلفن در حالت «مزاحم نشوید» است برطرف شد. InitializationException حاوی CameraUnavailableException به‌جای ازکار انداختن برنامه، روی ListenableFuture نتیجه مقداردهی اولیه تنظیم خواهد شد. (I9909a، b/149413835)

Camera-Lifecycle نسخه 1.0.0-beta04

‫۲۷ مه ۲۰۲۰

‫androidx.camera:camera-lifecycle:1.0.0-beta04 منتشر شده است. نسخه 1.0.0-beta04 حاوی این کدهای ثبت‌شده است.

Camera-Lifecycle نسخه 1.0.0-beta03

۱۵ آوریل ۲۰۲۰

‫androidx.camera:camera-lifecycle:1.0.0-beta03 منتشر شده است. نسخه 1.0.0-beta03 حاوی این commit-ها است.

رفع اشکال‌ها

  • رگرسیون از beta03 که در آن فراخوانی bindToLifecycle() با صفر UseCase باعث ایجاد استثنا می‌شد برطرف شد. این کار مانع از بازیابی Camera بدون اتصال UseCase شد.
  • اصلاحاتی برای پشتیبانی از انتشار camera-core

Camera-Lifecycle نسخه 1.0.0-beta01

‫۲۶ فوریه ۲۰۲۰ (۷ اسفند ۱۳۹۸)

‫androidx.camera:camera-lifecycle:1.0.0-beta01 منتشر شده است. نسخه 1.0.0-beta01 حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • اسناد اصلاح شد تا مشخص شود که هنگام دریافت ProcessCameraProvider درطول مقداردهی اولیه، از پیکربندی پیش‌فرض استفاده می‌شود و گسترش Application اختیاری است. (I5e395)

Camera-Lifecycle نسخه 1.0.0-beta02

‫۱ آوریل ۲۰۲۰

‫androidx.camera:camera-lifecycle:1.0.0-beta02 منتشر شده است. نسخه 1.0.0-beta02 شامل این commit-ها است.

رفع اشکال‌ها

  • برای پشتیبانی از رفع اشکال‌ها در داده‌های جلسه camera-camera2:1.0.0-beta02 و camera-core:1.0.0-beta02 به‌روز شد.

Camera-Lifecycle نسخه 1.0.0-alpha10

‫۱۰ فوریه ۲۰۲۰ (۲۱ بهمن ۱۳۹۸)

‫androidx.camera:camera-lifecycle:1.0.0-alpha10 منتشر شده است. نسخه 1.0.0-alpha10 شامل این commitها است.

تغییرات میانای برنامه‌سازی کاربردی

  • حاشیه‌نویسی @MainThread به روش‌های BindToLifecycle،‏ unbind، و unbindAll اضافه شد. (I990d2)

Camera-Lifecycle نسخه 1.0.0-alpha03

‫۲۲ ژانویه ۲۰۲۰ (۲ بهمن ۱۳۹۸)

‫androidx.camera:camera-lifecycle:1.0.0-alpha03 منتشر شده است. نسخه 1.0.0-alpha03 حاوی این ارسال‌ها است.

به‌روزرسانی‌ها

  • اصلاحات و به‌روزرسانی‌های مختلف برای پشتیبانی از تغییرات Camera Core و Camera2.

Camera-Lifecycle نسخه 1.0.0-alpha02

‫۱۸ دسامبر ۲۰۱۹

‫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

۴ دسامبر ۲۰۱۹

‫androidx.camera:camera-lifecycle:1.0.0-alpha01 منتشر شده است. نسخه 1.0.0-alpha01 از camera-lifecycle حاوی این commitها است

یادداشت‌های میانای برنامه‌سازی کاربردی

  • ساخته camera-lifecycle اضافه شده است که میانای LifeCycleCameraProvider و پیاده‌سازی‌ای به‌نام ProcessCameraProvider را ارائه می‌دهد. این پیاده‌سازی بسیاری از عملکردهای کلاس CameraX قبلی را در هسته ارائه می‌دهد و ازطریق روش getInstance() به‌دست می‌آید.
  • برنامه‌ها باید شامل کتابخانه camera-lifecycle باشند تا بتوانند از CameraX استفاده کنند.
  • برای نحوه انجام مقداردهی اولیه CameraX بااستفاده از ProcessCameraProvider، یادداشت‌های بخش camera-core را ببینید.

Camera-Extensions و Camera-View نسخه ۱.۰.۰

نسخه 1.0.0-alpha32

۱۵ دسامبر ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha32 و androidx.camera:camera-view:1.0.0-alpha32 منتشر شده‌اند. نسخه 1.0.0-alpha32 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • حاشیه‌نویسی‌های غیرضروری @RequiresApi(21) از کلاس‌ها/میاناهای داخلی برداشته شد. (I8e286، b/204917951)
  • Update api files for camera-extensions artifact. (If683a، b/161377155)

رفع اشکال‌ها

  • به برنامه اجازه ندهید هنگام اتصال VideoCapture، حالت‌های افزونه را فعال کند. «افزونه‌های CameraX» فقط از ImageCapture و Preview پشتیبانی می‌کند. هنوز از VideoCapture پشتیبانی نمی‌شود. اگر برنامه VideoCapture را مقید کند و هرگونه حالت افزونه را فعال کند، IllegalArgumentException ایجاد خواهد شد. (I0d87b)
  • CameraSelector#filter دیگر وقتی مجموعه نتایج خالی است IllegalArgumentException را برنمی‌گرداند. (I27804)
  • نام میانای برنامه‌سازی کاربردی ExtensionsManager#getInstance به getInstanceAsync تغییر کرد چون ListenableFuture را برمی‌گرداند. پسوند Async در نام تابع می‌تواند به‌وضوح نشان دهد که این تابع ناهمگام است. (I279d2)
  • پارامتر وضوح را از ExtensionsManager#getEstimatedCaptureLatencyRange API بردارید چون کاربران نمی‌توانند بدانند کدام اندازه‌ها برای مورد استفاده ImageCapture پشتیبانی می‌شود و نمی‌توانند تشخیص دهند که اطلاعات تأخیر برگردانده‌شده برای حداکثر اندازه خروجی ضبط است یا پارامتر وضوح ورودی. (I74bb2)
  • پارامتر CameraProvider از توابع ExtensionsManager را به میانای برنامه‌سازی کاربردی getInstance() منتقل کنید. تا کاربران مجبور نباشند هربار که توابع ExtensionsManager را فراخوانی می‌کنند، پارامتر CameraProvider را وارد کنند. (Ic7e48)

نسخه 1.0.0-alpha31

‫۱۷ نوامبر ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha31 و androidx.camera:camera-view:1.0.0-alpha31 منتشر شده‌اند. نسخه 1.0.0-alpha31 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • CameraSelector#filter به میانای برنامه‌سازی کاربردی عمومی اضافه شد تا فهرست CameraInfos براساس CameraSelector فیلتر شود. (I105d0)

رفع اشکال‌ها

  • مشکل ازکارافتادن هنگام تعویض سریع حالت افزونه‌ها در برخی‌از دستگاه‌ها برطرف شد. (Iebbef)

نسخه 1.0.0-alpha30

‫۱۳ اکتبر ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha30 و androidx.camera:camera-view:1.0.0-alpha30 منتشر شده‌اند. نسخه 1.0.0-alpha30 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • حاشیه‌نویسی ‎ @RequiresApi(21)‎ به همه کلاس‌های CameraX اضافه شد و minSdkVersion از AndroidManifest.xml حذف شد. این کار باعث می‌شود camera-core به‌راحتی در برنامه‌هایی که minSdkVersion کمتر از ۲۱ دارند اما می‌خواهند به‌طور مشروط از مسیرهای کد متکی بر میانای برنامه‌سازی کاربردی ۲۱ و بالاتر استفاده کنند ادغام شود. برای هر برنامه‌ای با حداقل نسخه کیت توسعه نرم‌افزار ۲۱ یا بالاتر، این تغییر نیازی به اقدام ندارد. (Ie7f2e،‏ b/200599470)

رفع اشکال‌ها

  • مشکل AbstractMethodError که هنگام فعال بودن proguard رخ می‌دهد برطرف شد. (Iae468، b/201177844)

نسخه 1.0.0-alpha29

‫۲۹ سپتامبر ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha29 و androidx.camera:camera-view:1.0.0-alpha29 منتشر شده‌اند. نسخه 1.0.0-alpha29 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • حاشیه‌نویسی 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 در یک Activity استفاده می‌شود دوربین به‌طور غیرمنتظره بسته شود برطرف شد. (Ibfd18، b/197539358)

نسخه 1.0.0-alpha28

‫۱۸ اوت ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha28 و androidx.camera:camera-view:1.0.0-alpha28 منتشر شده‌اند. نسخه 1.0.0-alpha28 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • اکنون که میاناهای برنامه‌سازی کاربردی دیگر آزمایشی نیستند، حاشیه‌نویسی ExperimentalUseCaseGroupLifecycle برداشته شده است. (I17b85)
  • RotationListener بازسازی کد شد و نام آن به RotationProvider تغییر کرد. این مؤلفه همچنان همان ویژگی را با میانای برنامه‌سازی کاربردی کمی متفاوت ارائه می‌دهد. (Idffc5)
  • rename TAP_TO_FOCUS_UNSUCCESSFUL to TAP_TO_FOCUS_NOT_FOCUSED and TAP_TO_FOCUS_SUCCESSFUL to TAP_TO_FOCUS_FOCUSED. Made OutputSize final (I099fa)

رفع اشکال‌ها

  • کلاس‌های منسوخ‌شده <EffectName><UseCase>Extender، ExtensionsErrorListener، و میاناهای برنامه‌سازی کاربردی ExtensionsManager مرتبط برداشته شد. (I3b8c3)

نسخه 1.0.0-alpha27

‫۲۱ ژوئیه ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha27 و androidx.camera:camera-view:1.0.0-alpha27 منتشر شده‌اند. نسخه 1.0.0-alpha27 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • Viewport API از حالت آزمایشی ارتقا یافت. حذف حاشیه‌نویسی آزمایشی API. (I717ea)
  • Renamed CoordinateTransform#getTransform to CoordinateTransform#transform and update JavaDoc (I864ae)

رفع اشکال‌ها

  • مشکل کشیدگی حالت PreviewView PERFORMANCE هنگام استفاده از آن با Compose UI برطرف شد. (Ie1137، b/183864890)

نسخه 1.0.0-alpha26

‫۳۰ ژوئن ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha26 و androidx.camera:camera-view:1.0.0-alpha26 منتشر شده‌اند. نسخه 1.0.0-alpha26 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • روش جدیدی CameraController#getTapToFocusState() اضافه کنید که جدیدترین نتیجه ضربه زدن برای فوکوس را نشان دهد. (Iaccb0)
  • افزودن ویژگی‌های هسته دوربین بیشتر به CameraController: گیرنده‌ها/تنظیم‌کننده‌ها برای نسبت ابعادی هدف، وضوح هدف، حالت ضبط، CameraControl، و مجریان سفارشی. (Iea8f2)
  • کلاس RotationReceiver را اضافه کنید که تغییرات چرخش Surface را دریافت می‌کند. از این ویژگی می‌توان برای تنظیم چرخش هدف وقتی دستگاه در حالت عمودی/افقی ثابت است استفاده کرد. (Ib278f)
  • میاناهای برنامه‌سازی کاربردی عمومی جدید getEstimatedCaptureLatencyRange در کلاس ExtensionsManager ارائه شده است. (I6a8ec)
  • ExtensionsErrorListener منسوخ‌شده. درحال‌حاضر، این میانای کاربری فقط برای نظارت بر اینکه آیا «پیش‌نمایش» یا ImageCapture هنگام فعال کردن حالت‌های افزونه وجود ندارد استفاده می‌شود. CameraX به‌طور خودکار یک «پیش‌نمایش» یا ImageCapture اضافی اضافه می‌کند تا عملکردهای افزونه به‌خوبی کار کنند. پس‌از آن، هیچ خطایی ازطریق این میانای کاربری گزارش نخواهد شد. (I47d9e)
  • میاناهای برنامه‌سازی کاربردی عمومی جدید ExtensionsManager getInstance،‏ isExtensionAvailable، و getExtensionEnabledCameraSelector را درمعرض دید قرار دادیم و کلاس‌های قدیمی <EffectName><UseCase>Extender و میاناهای برنامه‌سازی کاربردی مرتبط را منسوخ کردیم. (I329e6)

نسخه 1.0.0-alpha25

‫۲ ژوئن ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha25 و androidx.camera:camera-view:1.0.0-alpha25 منتشر شده‌اند. نسخه 1.0.0-alpha25 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • میاناهای برنامه‌سازی کاربردی ExperimentalCameraFilter اکنون از مرحله آزمایشی خارج شده‌اند و به میاناهای برنامه‌سازی کاربردی رسمی تبدیل شده‌اند. می‌توان از آن‌ها بدون OptIn حاشیه‌نویسی‌شده استفاده کرد. (I4bc94)
  • ابزاری اضافه کنید که مختصات را بین موارد استفاده تبدیل کند. نمونه کاربرد: تبدیل مختصات شناسایی‌شده در مورد استفاده ImageAnalysis و برجسته کردن شیء شناسایی‌شده در پیش‌نمایش. (I63ab1، b/137515129)
  • ‫CameraView حذف شد. CameraView با CameraController جایگزین شده است. لطفاً برای نحوه انتقال، به راهنمای انتقال مراجعه کنید.: (Id5005)

رفع اشکال‌ها

  • ‫ExperimentalUseCaseGroupLifecycle با ExperimentalUseCaseGroup جایگزین شد. (I3b2ef، b/159033688)

نسخه 1.0.0-alpha24

‫۲۱ آوریل ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha24 و androidx.camera:camera-view:1.0.0-alpha24 منتشر شده‌اند. نسخه 1.0.0-alpha24 شامل این commit-ها است.

رفع اشکال‌ها

  • حاشیه‌نویسی @Experimental با @RequiresOptIn برای میاناهای برنامه‌سازی کاربردی آزمایشی جایگزین شد. برای فراخوانی میاناهای برنامه‌سازی کاربردی آزمایشی، به‌جای androidx.annotation.experimental.UseExperimental منسوخ‌شده از androidx.annotation.OptIn استفاده کنید. (Iff226)
  • مشکل کشیدگی PreviewView در Samsung J5 Prime برطرف شد (Ib10b6)

افزونه‌های دوربین و نسخه نمای 1.0.0-alpha23

‫۲۴ مارس ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha23 و androidx.camera:camera-view:1.0.0-alpha23 منتشر شده‌اند. نسخه 1.0.0-alpha23 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • CameraView درحال منسوخ شدن است. لطفاً به‌جای آن از LifecycleCameraController استفاده کنید. راهنمای انتقال (Idac2c) را ببینید
  • حاشیه FloatRange به setLinearZoom() اضافه شد (I69971)

رفع اشکال‌ها

  • وابستگی‌های نمای دوربین سنجاق‌شده برای تکیه بر آرتیفکت‌های نسخه ۱.۰.۰. وابستگی به camera-view دیگر باعث نمی‌شود که وضوح وابستگی gradle به‌طور خودکار camera-core،‏ camera-camera2، و camera-lifecycle را به جدیدترین مصنوعات نسخه ۱.۱.۰ ارتقا دهد، هرچند camera-view همچنان با آن مصنوعات سازگار است اگر صریحاً برای استفاده از نسخه ۱.۱.۰ تنظیم شده باشند. (Ic8fa1، b/181599852)
  • مشکل پیش‌نمایش کشیده Samsung A3 در PreviewView برطرف شد. (Iacb30، b/180121821)
  • مشکلی که باعث می‌شد انتخابگر دوربین قبل‌از راه‌اندازی دوربین تنظیم نشود برطرف شد. (Ic8bd0)

افزونه‌های دوربین و نسخه نمای 1.0.0-alpha22

‫۲۴ فوریه ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha22 و androidx.camera:camera-view:1.0.0-alpha22 منتشر شده‌اند. نسخه 1.0.0-alpha22 شامل این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • یک گیرنده CameraInfo به CameraController اضافه کنید. (Ib8138، b/178251727)

رفع اشکال‌ها

  • ‫ExtensionsErrorListener اصلاح شد تا وقتی فقط «پیش‌دید» یا ImageCapture محدود شده است، خطاها را گزارش کند. (I5ae39)

افزونه‌های دوربین و نسخه نمای 1.0.0-alpha21

‫۲۷ ژانویه ۲۰۲۱

‫androidx.camera:camera-extensions:1.0.0-alpha21 و androidx.camera:camera-view:1.0.0-alpha21 منتشر شده‌اند. نسخه 1.0.0-alpha21 شامل این commit-ها است.

درحال انتشار برای پشتیبانی از دیگر مصنوعات کتابخانه دوربین.

افزونه‌های دوربین و نسخه نمای 1.0.0-alpha20

‫۱۶ دسامبر ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha20 و androidx.camera:camera-view:1.0.0-alpha20 منتشر شده‌اند. نسخه 1.0.0-alpha20 حاوی این commit-ها است.

درحال انتشار برای پشتیبانی از دیگر مصنوعات کتابخانه دوربین.

Camera-Extensions و Camera-View نسخه 1.0.0-alpha19

‫۱۱ نوامبر ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha19 و androidx.camera:camera-view:1.0.0-alpha19 منتشر شده‌اند. نسخه 1.0.0-alpha19 حاوی این commit-ها است.

رفع اشکال‌ها

  • گزارمان @ExperimentalVideo به نمای دوربین معرفی شد. این حاشیه‌نویسی میاناهای برنامه‌سازی کاربردی را علامت‌گذاری می‌کند که عملکرد آزمایشی ویدیو را نشان می‌دهند که با توسعه کامل ویژگی‌ها ممکن است تغییر کند. هر روشی که از این میاناهای برنامه‌سازی کاربردی استفاده می‌کند باید از حاشیه‌نویسی @UseExperimental با ExperimentalVideo به‌عنوان markerClass استفاده کند. (I6d729)

Camera-Extensions نسخه 1.0.0-alpha18

‫۱۴ اکتبر ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha18 منتشر شده است. نسخه 1.0.0-alpha18 شامل این commit-ها است.

رفع اشکال‌ها

  • تأخیر مقداردهی اولیه CameraX و bindToLifecycle بهبود یافته است (I61dc5)
  • <UseCase>.getTargetRotation() Surface.ROTATION_0 را برمی‌گرداند اگر قبل‌از پیوست شدن به نمونه Camera فراخوانی شود، مگراینکه targetRotation در Builder یا UseCase تنظیم شده باشد. (I80fcd)

Camera-View نسخه 1.0.0-alpha18

‫۱۴ اکتبر ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha18 منتشر شده است. نسخه 1.0.0-alpha18 شامل این commit-ها است.

درحال انتشار برای پشتیبانی از دیگر مصنوعات کتابخانه دوربین.

Camera-Extensions نسخه ۱.۰.۰-alpha17

۲۳ سپتامبر ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha17 منتشر شده است. نسخه 1.0.0-alpha17 حاوی این commitها است.

رفع اشکال‌ها

Camera-View نسخه 1.0.0-alpha17

۲۳ سپتامبر ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha17 منتشر شده است. نسخه 1.0.0-alpha17 حاوی این commit-ها است.

رفع اشکال‌ها

Camera-Extensions نسخه 1.0.0-alpha16

‫۱۶ سپتامبر ۲۰۲۰ (۲۶ شهریور ۱۳۹۹)

‫androidx.camera:camera-extensions:1.0.0-alpha16 منتشر شده است. نسخه 1.0.0-alpha16 حاوی این commit-ها است.

رفع اشکال‌ها

  • روش اضافه‌شده در ExtensionsManager برای دریافت شیء Extensions که برای فعال کردن و پرسمان افزونه‌ها در نمونه‌های «دوربین» استفاده می‌شود (I4fb7e)

Camera-View نسخه 1.0.0-alpha16

‫۱۶ سپتامبر ۲۰۲۰ (۲۶ شهریور ۱۳۹۹)

‫androidx.camera:camera-view:1.0.0-alpha16 منتشر شده است. نسخه 1.0.0-alpha16 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫PreviewView#setDeviceRotationForRemoteDisplayMode() و PreviewView#getDeviceRotationForRemoteDisplayMode() حذف شد. این دو روش برای سفارشی‌سازی چرخش پیش‌نمایش است، زمانی که چرخش موردنظر چرخش نمایشگر نیست، مثلاً نمایشگر ازراه‌دور. برای مدیریت چرخش پیش‌نمایش غیرنمایشی، چرخش موردنظر را با Preview#setTargetRotation() و PreviewView#getViewPort(targetRotation) جدیداً اضافه‌شده تنظیم کنید. (Ib62cc)
  • نام createSurfaceProvider() به getSurfaceProvider() تغییر کرد. این روش همیشه همان نمونه Preview.SurfaceProvider را برمی‌گرداند. (Iff83c)

رفع اشکال‌ها

  • اگر جلوه افزونه فعال باشد و پیاده‌سازی کتابخانه فروشنده نیاز به انجام فرایند خاصی روی سطح خروجی داشته باشد، PreviewView مجبور به استفاده از TextureView می‌شود. (I0c3cc)
  • اجازه دادن به چرخش هدف دلخواه برای «پیش‌نمایش». اطلاعات تبدیل محاسبه می‌شود و ازطریق یک TranformationInfoListener فراخوانی جدید به‌طور هم‌زمان به کاربر برگردانده می‌شود. (I21470)

مشکلات شناخته‌شده

  • در PreviewView، وقتی کاربر نهایی روی PreviewView کلیک می‌کند، OnClickListener#onClick() فراخوانده نمی‌شود. رویداد لمسی به‌اشتباه توسط PreviewView#onTouchEvent()‎ مصرف می‌شود. این مشکل در نسخه بعدی برطرف خواهد شد.
  • اگر از ViewPort با PreviewView استفاده شود، MeteringPoint به‌دست‌آمده از PreviewView#getMeteringPointFactory() ممکن است اشتباه باشد.

Camera-Extensions نسخه 1.0.0-alpha15

‫۱۹ اوت ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha15 منتشر شده است. نسخه 1.0.0-alpha15 شامل این commit-ها است.

رفع اشکال‌ها

  • روش ExtensionsManager.init() اکنون به‌جای داشتن ۰ آرگومان، Context را به‌عنوان پارامتر می‌گیرد. (Ife754)
  • هنگام استفاده از Context که شیء Application را از Context.getApplicationContext() برنمی‌گرداند، مقداردهی اولیه نباید دیگر ازکار بیفتد. (I3d3c9، b/160817073)

    Camera-View نسخه 1.0.0-alpha15

    ‫۱۹ اوت ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha15 منتشر شده است. نسخه 1.0.0-alpha15 شامل این commit-ها است.

رفع اشکال‌ها

  • DisplayOrientedMeteringPointFactory به‌جای CameraSelector، نمونه CameraInfo را می‌گیرد، بنابراین نگاشت مستقیمی وجود دارد که کارخانه برای کدام دوربین نقاط را تولید خواهد کرد. همه کلاس‌هایی که از DisplayOrientedMeteringPointFactory استفاده می‌کنند، به‌جای CameraSelector، نمونه CameraInfo را نیز می‌پذیرند. (I400c1)
  • ‫TextureViewMeteringPointFactory حذف شد. ‫PreviewView یک میانای برنامه‌سازی کاربردی عمومی (createMeteringPointFactory()) برای ایجاد کارخانه نقطه اندازه‌گیری ارائه می‌دهد، صرف‌نظر از اینکه از TextureView یا SurfaceView استفاده می‌کند. (Ide693)
  • نام حالت‌های پیاده‌سازی SURFACE_VIEW/TEXTURE_VIEW در PreviewView را به PERFORMANCE/COMPATIBLE تغییر دهید. PERFORMANCE همان حالت قدیمی SURFACE_VIEW است و COMPATIBLE همان حالت قدیمی TEXTURE_VIEW است. (I0edc2)
  • برای ضبط تصویر، پرچم چرخش افقی را در فراداده براساس جهت دوربین بازنویسی کنید. (I28499)

Camera-Extensions نسخه 1.0.0-alpha14

‫۲۲ ژوئیه ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha14 منتشر شده است. نسخه 1.0.0-alpha14 شامل این commit-ها است.

Camera-View نسخه 1.0.0-alpha14

‫۲۲ ژوئیه ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha14 منتشر شده است. نسخه 1.0.0-alpha14 شامل این commit-ها است.

Camera-Extensions نسخه 1.0.0-alpha13

۲۴ ژوئن ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha13 منتشر شده است. نسخه 1.0.0-alpha13 حاوی این commit-ها است.

رفع اشکال‌ها

  • رابط‌های آزمایشی برای فیلتر کردن دوربین‌ها براساس شناسه دوربین و CameraCharacteristics اضافه شد. (I28f61)

Camera-View نسخه 1.0.0-alpha13

۲۴ ژوئن ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha13 منتشر شده است. نسخه 1.0.0-alpha13 حاوی این commit-ها است.

رفع اشکال‌ها

  • CameraView دیگر با IllegalArgumentException ازکار نمی‌افتد وقتی به LifecycleOwner متصل می‌شود که Lifecycle آن کمی پس‌از متصل شدن به حالت DESTROYED منتقل می‌شود. «چرخه‌های حیات» مقید در وضعیت «نابودشده» برای باز کردن دوربین تلاش نخواهند کرد. (I7c2b8)
  • PreviewView StreamState اکنون ازطریق CameraView.getPreviewStreamState() (I21a2b) دردسترس است

Camera-Extensions نسخه 1.0.0-alpha12

‫۱۰ ژوئن ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha12 منتشر شده است. نسخه 1.0.0-alpha12 شامل این commit-ها است.

رفع اشکال‌ها

  • خرابی هنگام راه‌اندازی برنامه در زمان مقداردهی اولیه CameraX وقتی تلفن در حالت «مزاحم نشوید» است برطرف شد. InitializationException حاوی CameraUnavailableException به‌جای ازکار انداختن برنامه، روی ListenableFuture نتیجه مقداردهی اولیه تنظیم خواهد شد. (I9909a، b/149413835)

Camera-View نسخه 1.0.0-alpha12

‫۱۰ ژوئن ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha12 منتشر شده است. نسخه 1.0.0-alpha12 حاوی این commit-ها است.

رفع اشکال‌ها

  • افزودن میانای برنامه‌سازی کاربردی PreviewView#getBitmap() که نمایش Bitmap محتوای نمایش‌داده‌شده در سطح پیش‌نمایش را برمی‌گرداند. (I9b500، b/157659818)

Camera-Extensions نسخه 1.0.0-alpha11

‫۲۷ مه ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha11 منتشر شده است. نسخه 1.0.0-alpha11 حاوی این commit-ها است.

Camera-View نسخه 1.0.0-alpha12

‫۱۰ ژوئن ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha12 منتشر شده است. نسخه 1.0.0-alpha12 شامل این commit-ها است.

ویژگی‌های جدید

تغییرات میانای برنامه‌سازی کاربردی

رفع اشکال‌ها

  • افزودن میانای برنامه‌سازی کاربردی PreviewView#getBitmap() که نمایش Bitmap محتوای نمایش‌داده‌شده در سطح پیش‌نمایش را برمی‌گرداند. (I9b500، b/157659818)

Camera-View نسخه 1.0.0-alpha11

‫۲۷ مه ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha11 منتشر شده است. نسخه 1.0.0-alpha11 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • افزودن PreviewView#getPreviewStreamState API که به برنامه‌ها اجازه می‌دهد مشاهده کنند پیش‌نمایش درحال جاری‌سازی است یا نه. وقتی PreviewView در حالت TEXTURE_VIEW باشد، وضعیت STREAMING همچنین تضمین می‌کند که تصویر پیش‌نمایش قابل‌مشاهده است. (Ic0906، b/154652477)
  • ‫PreviewView#setDeviceRotationForRemoteDisplayMode() API اضافه شد تا چرخش دستگاه را برای محاسبات تبدیل درصورتی‌که برنامه در حالت نمایش ازراه‌دور اجرا می‌شود ارائه دهد. (I59b95،‏ b/153514525)

رفع اشکال‌ها

  • مشکل اعوجاج پیش‌نمایش در دوربین‌های FULL/LIMITED/LEVEL_3 که Android نسخه ۷.۰ و پایین‌تر را اجرا می‌کنند برطرف شد. وقتی نسخه Android‏ ۷.۰ یا پایین‌تر است، استفاده از حالت ImplementationMode#TEXTURE_VIEW اجباری است. (I83e30، b/155085307)
  • پارامتر CameraInfo از PreviewView#createSurfaceProvider() برداشته شد، PreviewView اکنون آن را به‌طور داخلی از SurfaceRequest بازیابی می‌کند. (If18f0، b/154652477)
  • نسبت ابعادی پیش‌فرض VideoCapture در CameraView روی ۱۶:۹ ثابت شد. (Ie6a7b، b/153237864)
  • Fix PreviewView black screen issues when swiped out Preview fragment and then swiped back in ViewPager2. همچنین مشکل removeView(previewview) و سپس addView(previewView) برطرف شد. (Iab555، b/149877652، b/147354615)
  • ‫CameraView#takePicture() API را به‌روز کنید تا ذخیره کردن تصاویر در Uri و OutputStream مجاز شود. برنامه آزمایشی را به‌روز کنید تا از Uri به‌عنوان نمونه متعارف استفاده کند. (Ia2459، b/153607583)
  • می‌توانید نوع مقیاس PreviewView را از چیدمان XML با تنظیم مشخصه ScaleType تنظیم کنید. (I08565، b/153015659)
  • CameraView.ScaleType برداشته شد. درعوض، از PreviewView.ScaleType برای تنظیم/دریافت نوع مقیاس با CameraView استفاده کنید. (Ia8974، b/153014831)
  • اگر PreviewView ازقبل رنگ پس‌زمینه ندارد، به‌طور پیش‌فرض به آن رنگ پس‌زمینه می‌دهد. این کار از نمایان شدن محتوای پشت آن قبل‌از شروع جاری‌سازی پیش‌نمایش جلوگیری می‌کند. (I09fad)

Camera-Extensions نسخه 1.0.0-alpha10

۱۵ آوریل ۲۰۲۰

‫androidx.camera:camera-extensions:1.0.0-alpha10 منتشر شده است. نسخه 1.0.0-alpha10 حاوی این ارسال‌ها است.

رفع اشکال‌ها

  • اصلاحاتی برای پشتیبانی از انتشار Camera-Core

Camera-View نسخه 1.0.0-alpha10

۱۵ آوریل ۲۰۲۰

‫androidx.camera:camera-view:1.0.0-alpha010 منتشر شده است. نسخه 1.0.0-alpha010 حاوی این commit-ها است.

رفع اشکال‌ها

  • مشکل شناخته‌شده قبلی را برطرف می‌کند که در آن پیاده‌سازی surfaceView مربوط به PreviewView در برخی‌از دستگاه‌ها به‌خوبی کار نمی‌کرد و باعث می‌شد برنامه پس‌از ازسرگیری پیش‌نمایش از کار بیفتد. (I5ed6b)

Camera-Extensions نسخه 1.0.0-alpha09

‫۱ آوریل ۲۰۲۰

‫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

Camera-View نسخه 1.0.0-alpha09

‫۱ آوریل ۲۰۲۰ 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)

Camera-Extensions نسخه 1.0.0-alpha08

‫۲۶ فوریه ۲۰۲۰ (۷ اسفند ۱۳۹۸)

‫androidx.camera:camera-extensions:1.0.0-alpha08 منتشر شده است. نسخه 1.0.0-alpha08 شامل این commit-ها است.

Camera-View نسخه 1.0.0-alpha08

‫۲۶ فوریه ۲۰۲۰ (۷ اسفند ۱۳۹۸)

‫androidx.camera:camera-view:1.0.0-alpha08 منتشر شده است. نسخه 1.0.0-alpha08 حاوی این commit-ها است.

رفع اشکال‌ها

  • ‫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 نسخه 1.0.0-alpha07

‫۱۰ فوریه ۲۰۲۰ (۲۱ بهمن ۱۳۹۸)

‫androidx.camera:camera-extensions:1.0.0-alpha07 منتشر شده است. نسخه 1.0.0-alpha07 شامل این commit-ها است.

رفع اشکال‌ها

  • متغیرهای مستقلی که قبلاً در ImageCapture.OnImageSavedCallback.onError() و ImageCapture.OnImageCapturedCallback.onError() ارسال شده بودند اکنون با یک متغیر مستقل ImageCaptureException جایگزین شده‌اند که همچنان حاوی همه اطلاعاتی است که قبلاً ارسال شده بود.
  • متغیر مستقل فایل که قبلاً در ImageCapture.OnImageSavedCallback.onImageSaved() ارسال شده بود برداشته شده است. (I750d2)

Camera-View نسخه 1.0.0-alpha07

‫۱۰ فوریه ۲۰۲۰ (۲۱ بهمن ۱۳۹۸)

‫androidx.camera:camera-view:1.0.0-alpha07 منتشر شده است. نسخه 1.0.0-alpha07 حاوی این commit-ها است.

تغییرات میانای برنامه‌سازی کاربردی

  • پیاده‌سازی 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)

نسخه Camera-Extensions‏ 1.0.0-alpha06

‫۲۲ ژانویه ۲۰۲۰ (۲ بهمن ۱۳۹۸)

‫androidx.camera:camera-extensions:1.0.0-alpha06 منتشر شده است. نسخه 1.0.0-alpha06 حاوی این commitها است.

به‌روزرسانی‌ها

  • اصلاحات و به‌روزرسانی‌های مختلف برای پشتیبانی از تغییرات Camera Core و Camera2.

Camera-View نسخه 1.0.0-alpha06

‫۲۲ ژانویه ۲۰۲۰ (۲ بهمن ۱۳۹۸)

‫androidx.camera:camera-view:1.0.0-alpha06 منتشر شده است. نسخه 1.0.0-alpha06 حاوی این commitها است.

به‌روزرسانی‌ها

  • اصلاحات و به‌روزرسانی‌های مختلف برای پشتیبانی از تغییرات Camera Core و Camera2.

Camera-Extensions نسخه 1.0.0-alpha05

‫۱۸ دسامبر ۲۰۱۹

‫androidx.camera:camera-extensions:1.0.0-alpha05 منتشر شده است. نسخه 1.0.0-alpha05 حاوی این commitها است.

رفع اشکال‌ها

  • به‌روزرسانی شد تا با میاناهای برنامه‌سازی کاربردی داخلی Camera Core مطابقت داشته باشد.

Camera-View نسخه 1.0.0-alpha05

‫۱۸ دسامبر ۲۰۱۹

‫androidx.camera:camera-view:1.0.0-alpha05 منتشر شده است. نسخه 1.0.0-alpha05 شامل این ارسال‌ها است.

مشکلات شناخته‌شده

  • هنگام استفاده از PreviewView، ممکن است نسبت ابعادی نادرست باشد (b/146215202).

ویژگی‌های جدید

  • کلاس جدیدی به‌نام PreviewView.TextureViewImplementation پیاده‌سازی شد که چرخه حیات SurfaceTexture را با استفاده دوربین از سطح TextureView همگام‌سازی می‌کند.

نسخه 1.0.0-alpha04 از Camera-Extensions

۴ دسامبر ۲۰۱۹

‫androidx.camera:camera-extensions:1.0.0-alpha04 منتشر شده است. نسخه 1.0.0-alpha04 از camera-extensions حاوی این commitها است

تغییرات میانای برنامه‌سازی کاربردی

  • بررسی دردسترس بودن و فعال کردن افزونه اکنون CameraSelector را به‌عنوان پارامتر ورودی می‌گیرد. این باید همان CameraSelector باشد که برای اتصال مورد استفاده استفاده می‌شود.

    val cameraSelector = CameraSelector.DEFAULT_BACK_CAMERA
    val builder = ImageCapture.Builder()
    val bokehImageCaptureExtender = BokehImageCaptureExtender.create(builder)
    if (bokehImageCaptureExtender.isExtensionAvailable(cameraSelector)) {
        bokehImageCaptureExtender.enableExtension(cameraSelector)
    }
    val imageCapture = builder.build()
    mCameraProvider?.bindToLifecycle(this, cameraSelector, imageCapture)
    
  • قبل‌از استفاده از کتابخانه افزونه، باید افزونه‌ها را مقداردهی اولیه کنید.

    val availability = ExtensionsManager.init()
    Futures.addCallback<ExtensionsManager.ExtensionsAvailability>(
       availability,
       object : FutureCallback<ExtensionsManager.ExtensionsAvailability> {
           override fun onSuccess(availability: ExtensionsManager.ExtensionsAvailability?) {
               // Ready to make extensions calls
           }
           override fun onFailure(throwable: Throwable) {
               // Extensions could not be initialized
           }
       },
       Executors.newSingleThreadExecutor()
    )
    

Camera-View نسخه 1.0.0-alpha04

۴ دسامبر ۲۰۱۹

‫androidx.camera:camera-view:1.0.0-alpha04 منتشر شده است. نسخه 1.0.0-alpha04 از camera-view حاوی این commit-ها است

تغییرات میانای برنامه‌سازی کاربردی

  • کلاس PreviewView برای نمایش آسان خروجی از مورد استفاده «پیش‌نمایش» در برنامه ارائه شده است.
  • PreviewView می‌تواند در چیدمان گنجانده شود:

    <androidx.camera.view.PreviewView
      android:id="@+id/preview_view"
      … />
    
  • PreviewView یک PreviewSurfaceProvider ارائه می‌دهد تا به‌راحتی به مورد استفاده «پیش‌نمایش» متصل شوید

    preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
    
  • «ZoomLevel» اکنون در نام‌گذاری میانای برنامه‌سازی کاربردی «ZoomRatio» است

  • قابلیت تهی‌پذیری برخی‌از پارامترهای روش تغییر کرده است

Camera-Extensions و Camera-View نسخه 1.0.0-alpha03

۹ اکتبر ۲۰۱۹

‫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 هستند.

ویژگی‌های جدید

  • مقداردهی اولیه بافت برای افزونه‌ها اضافه شد. نسخه افزونه‌ها به ۱.۱.۰ افزایش یافت

Camera-Extensions و Camera-View نسخه 1.0.0-alpha02

۵ سپتامبر ۲۰۱۹

‫androidx.camera:camera-extensions:1.0.0-alpha02 و androidx.camera:camera-view:1.0.0-alpha02 منتشر شده‌اند. These are the commits included in camera-extensions:1.0.0-alpha02 and these are the commits included camera-view:1.0.0-alpha02.

  • آزمایش‌هایی برای درستی‌سنجی اینکه PreviewImageProcessorImpl مُهرهای زمان را به‌درستی پیاده‌سازی کرده است اضافه شد.
  • ExtensionTest آزمایش ناموفق را در Nexus 5 (سطح میانای برنامه‌سازی کاربردی ۲۱) برطرف کنید و مطمئن شوید پیش‌نمایش دردسترس است.

Camera-Extensions و Camera-View نسخه 1.0.0-alpha01

۷ اوت ۲۰۱۹

‫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 هستند

  • کتابخانه جدید برای «افزونه‌های دوربین» آینده برای دسترسی به جلوه‌ها در دستگاه‌های پشتیبانی‌شده. این کتابخانه درحال توسعه است.
  • کلاس «نمای دوربین» جدید. این کتابخانه درحال توسعه است.