CameraX
این جدول همه مصنوعات موجود در گروه 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 حاوی این موارد ثبت است.
تغییرات میانای برنامهسازی کاربردی
- نام
ImplementationModeEnums مربوط به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در رشتهCameraXOpenGLبرطرف شد، زمانی که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اکنون از اشارههای داخلی برای زومپیش یا زومپس با انگشتان و ضربه زدن برای فوکوس پشتیبانی میکند و پشتیبانی از چشمکزنی صفحه و وضعیت جاریسازی را اضافه میکند.FocusStateis 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 ادغام میکند. این انتقال مزایای متعددی دارد:
- عملکرد بهبودیافته: پردازش و ادغام ویدیو کارآمدتر شده است.
- مقاومت دربرابر خرابی: محافظت بهبودیافته دربرابر خرابی فایل ویدیویی، که تضمین میکند دادهها حتی درصورت خرابی برنامه درحین ضبط حفظ میشوند.
۳. بهبود گروه ویژگی
- Feature Group API اکنون از «لرزشگیر ویدیو» و ضبط 4K پشتیبانی میکند.
GroupableFeaturesشاملVIDEO_STABILIZATION،UHD_RECORDINGاست تا به برنامهها اجازه دهد آنها را همراه با ویژگیهای دیگر فعال کنند. CameraEffectوImageAnalysisدرSessionConfigوقتی گروه ویژگی فعال باشد پشتیبانی میشود.
۴. Stabilized SessionConfig API
SessionConfigاز حالت آزمایشی به میانای برنامهسازی کاربردی عمومی کاملاً پایدار ارتقا یافته است، ازجملهSessionConfigوHighSpeedVideoSessionConfig. اکنون میتوان «افزونههای CameraX» را باExtensionSessionConfigAP جدید پیادهسازی کرد.isSessionConfigSupportedAPI جدیدی معرفی شده است که به توسعهدهندگان امکان میدهد قبلاز اتصال به چرخه حیات، پرسوجو کنند که آیا ترکیب خاصی از موارد استفاده و ویژگیها (مانند 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 حاوی این ارسالها است.
رفع اشکالها
- مشکل ضبط درونحافظهای
ImageCaptureOUTPUT_FORMAT_RAW_JPEGIllegalArgumentExceptionبرطرف شد. (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)ExtensionSessionConfigAPI درمعرض خطر قرار گرفت. برنامهها میتوانندExtensionSessionConfigایجاد کنند و اکنون از آن برای ایجاد جلسه افزونهها استفاده کنند. (I6354c، b/448524373)androidx.camera.video.HighSpeedVideoSessionConfigAPI دیگر آزمایشی نیست و اکنون یک API عمومی کاملاً پایدار است. (I492d4، b/447558239)androidx.camera.core.SessionConfigAPI دیگر آزمایشی نیست و اکنون یک 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وFeatureGroupAPI: میانای برنامهسازی کاربردی جدید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.isFeatureGroupSupportedAPI امکان میدهد قبلاز اتصالSessionConfigبدانید که آیا گروه ویژگی پشتیبانی میشود یا نه.SessionConfigهمچنین امکان تنظیم شنونده را فراهم میکند تا بدانید درنهایت کدام ویژگیها هنگام محدود شدن پیکربندی جلسه انتخاب میشوند. (Ie4d60) -
SessoinConfig.Builder.setFrameRateRange(Range<Integer>)وCameraInfo.getSupportedFrameRateRanges(SessionConfig)API جدید اضافه شد که به توسعهدهندگان امکان میدهد نرخهای فریم پشتیبانیشده تضمینی را که توسطSessionConfigخاصی محدود شدهاند جستجو کنند و سپس نرخ فریم را رویSessionConfigاعمال کنند. (Ieacf7) SessionConfigAPI جدید معرفی شد که شامل انتزاع بهتری برای پیکربندی موارد استفاده، پارامترهای جلسه،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زیربنایی نمیتواند فعال نگه داشته شود،CameraXViewfinderSurfaceRequestCameraX فعلی را باطل میکند و به CameraX اجازه میدهد ازSurfaceجدید استفاده کند. (I79432)- مشکلی را در Android 10/11 برطرف میکند که در آن
EXTERNALCameraXViewfinderممکن است بهدلیل اعمال زودهنگام عملیات تبدیل (مانند مقیاس یا ترجمه) کشیده یا نادرست بهنظر برسد. اکنون سیستم قبلاز اعمال این تبدیلها در مرحله چیدمان، منتظر میماند تا Surface ایجاد شود و از خروجی صحیح اطمینان حاصل میکند. (Icc77c) - Composable
CameraXViewfinderاکنون بهدرستی باPagerCompose کار میکند. این تغییر تضمین میکند که Composable میتواند با پیادهسازی callbackonResetاز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.OnImageCapturedCallbackAPI فراخوانی میشود، اکنون میتوان از 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 منتشر شده است که یک جریان پیشنمایش از CameraXSurfaceRequestازcamera-coreرا نمایش میدهد. (I8666e) - یک ترکیبپذیر جدید،
CameraXViewfinder، اضافه شد که بهعنوان یک ترکیبپذیر اصطلاحی عمل میکند کهSurfaceRequestCameraX را برای ترکیبپذیر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.setScreenFlashOverlayColorAPI برای مواردی که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+ImageCaptureUseCaseانتخاب میکند برطرف شد. (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)RetryPolicyAPI جدید به توسعهدهندگان امکان میدهد رفتار تکرار مجدد را برای مقداردهی اولیه 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-coreAPI more generic so it can be used bycamera-viewfinderandcamera-viewfinder-compose. (I1e295) - افزودن تابع
getSurfaceبهViewfinderSurfaceRequest. (I781a0) - از
camera-viewfinder-coreدرcamera-viewfinderاستفاده کنید وViewfinderSurfaceRequestوCameraViewfinderرا منسوخ کنید. (I6198c) ZoomGestureDetectorاضافه شد که اشارههای مقیاسبندی را که بهطور خاص برای فعالیت نزدیک کردن انگشتان برای بزرگنمایی پیکربندی شدهاند تفسیر میکند. (Ifafbf)
رفع اشکالها
- مشکل انتخاب وضوح
ImageAnalysisمربوط به تنظیم وضوح هدف پیشفرض تحلیلگر برطرف شد: وضوح هدف بهاشتباه روی ۶۴۰×۴۸۰ باقی میماند، حتی اگر برنامهها تنظیم وضوح پیشفرض تحلیلگر متفاوتی را تنظیم کرده بودند. اگر برنامهها با این مشکل (۱.۳.۰ تا ۱.۳.۲) مواجه شوند و نتوانند برای استفاده از نسخههای جدیدتر که حاوی راهحل هستند ارتقا یابند، تنظیم مستقیمResolutionSelectorبا وضوح ترجیحی وAspectRatioStrategyمنطبق باImageAnalysisUseCaseمیتواند این مشکل را برطرف کند. (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تا آماده شدن دوربین منتظر میمانند. همچنین اطلاعاتی درباره نحوه دریافت حداکثر میدان دید با#takePictureAPI اضافه شد. (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منطبق باImageAnalysisUseCase میتواند این مشکل را برطرف کند. (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 منتشر شده است. نسخه ۱.۳.۰ حاوی این ارسالها است.
تغییرات مهم از نسخه ۱.۲.۰
- ویژگیهای ویدیو شامل HDR ده بیتی، برش، آینهای/غیرآینهای، بیصدا/باصدا، تنظیم نرخ فریم، و غیره.
- دوربین همزمان دوگانه
- کتابخانه جلوهها
- انتخابگر وضوح
- انتخاب دوربین تلسکوپی و زاویه فوقباز
- جابهجایی دوربین درحین ضبط ویدیو (ویژگی آزمایشی)
نسخه 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) - یک
isImageAnalysisSupportedAPI به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() را ببینید
- معرفی
ResolutionSelectorAPI جدید که ویژگیهای زیر را پوشش میدهد:- برنامهها میتوانند راهبردهای نسبت ابعادی و وضوح را برای انتخاب بهترین وضوح برای نیازهایشان مشخص کنند.
- همه اندازهها و پارامترهای نسبت ابعادی در مختصات حسگر دستگاه دوربین بیان میشوند.
- برنامهها میتوانند فیلتر وضوح سفارشی را برای مرتب کردن اندازههای پشتیبانیشده به ترتیب دلخواه پیادهسازی کنند.
- برنامهها همچنین میتوانند ضبط با وضوح بالا را فعال کنند تا تصاویر با وضوح بالاتری دریافت کنند. بااینحال، لطفاً توجه داشته باشید که استفاده از وضوح بالا ممکن است منجر به کندتر شدن زمان ضبط شود.
VideoCaptureمیانای برنامهسازی کاربردی قرینهسازی اضافه شد. ویدیوهای ضبطشده باVideoCaptureبهطور پیشفرض آینهای نیستند. بااینحال، پیشنمایش دوربین بهطور پیشفرض در دوربین جلو آینهای است.VideoCaptureAPIهای قرینهسازی امکان تراز کردن با پیشنمای دوربین را هنگام استفاده از دوربین جلو فراهم میکنند. سه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منسوخ شده است. لطفاً درعوض ازResolutionSelectorAPI جدید استفاده کنید. (I542c3) - میاناهای برنامهسازی کاربردی عمومی برای دوربین دوگانه همزمان اضافه شد، ازجمله
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)boolean isConcurrentCameraModeOn()وConcurrentCameraConfig،SingleCameraConfigوConcurrentCamera(Iab1c1)
- Make
ImageProcessor.Response#getOutputImageNonNull (Ib9c60) - میاناهای برنامهسازی کاربردی قرینهسازی
VideoCapture، ازجملهVideoCapture.Builder.setMirrorMode(int)وVideoCapture.getMirrorMode()، اضافه شد. این میاناهای برنامهسازی کاربردی برای برنامههایی مفید هستند که نیاز دارند ضبط ویدیو با رفتار معمول پیشنمایش دوربین مطابقت داشته باشد، یعنی پیشنمایش دوربین پشت آینهای نباشد اما پیشنمایش دوربین جلو آینهای باشد. (I713b6، b/194634656) - Add
setTargetFrameRate()API in theVideoCapture.BuilderandgetTargetFramerate()API inVideoCapture(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را هدف قرار میدهند برایVideoCaptureUseCase اعمال خواهند شد؛ جلوههایی که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)
- رفع مشکل صفحه سیاه در پیادهسازی
PreviewViewSurfaceViewدرViewPager2. بهعنوان بخشی از اصلاح،PreviewViewازSurfaceViewخود مجدداً استفاده خواهد کرد اگر وضوح درخواستی تغییر نکند. (Ib3f27) - پشتیبانی از برش ویدیو (ویژگی WYSIWYG) هنگام استفاده از
ViewPortیاCameraControllerAPI. (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-ها است.
تغییرات میانای برنامهسازی کاربردی
- Add API level requirement for
setOutputImageRotationEnabled(I26e3e, b/240993561)
رفع اشکالها
- راهحل موقت برای برگرداندن افقی ناحیه فوکوس خودکار دوربینهای جلو در 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
isFocusSuccessfulfalse if theFocusMeteringActionis 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دادهشده در دوربین فعلی پشتیبانی میشود یا نه. getResolutionInfoAPI برای ارائه اطلاعات وضوح برای «پیشنمایش»،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
UseCaseGroupAPI 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به میانای برنامهسازی کاربردی مبتنی بر فهرست تغییر کرد
رفع اشکالها
- مشکل
YuvToJpegProcessorEOFExceptionهنگام فعال بودن حالت افزونه و تنظیم بودن حالت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)
- مشکل
YuvToJpegProcessorEOFException هنگام فعال بودن حالت افزونه و تنظیم حالت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-Core 1.0.0-beta10
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به markerClassExperimentalCamera2Interopنیاز دارد.
Camera-Core نسخه 1.0.0-alpha09
۲۲ ژانویه ۲۰۲۰ (۲ بهمن ۱۳۹۸)
androidx.camera:camera-core:1.0.0-alpha09 منتشر شده است. نسخه 1.0.0-alpha09 حاوی این ارسالها است.
تغییرات میانای برنامهسازی کاربردی
- پارامتر
SurfaceOrientedMeteringPointFactoryuseCaseForSurfaceبه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)برای پیوست کردن سطح مدیریتشده توسط برنامه، به اسناد مراجعه کنید. در این موارد، برنامه چرخه حیات سطح را مدیریت میکند.
مهم: پیادهسازی روش
ImageAnalysisAnalyzer باید پساز اتمام استفاده از تصاویر دریافتی،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.setOnPreviewOutputUpdateListenerFocusMeteringAction.Builder.setAutoFocusCallbackImageAnalysis.setAnalyzerImageCapture.takePictureCameraView.takePictureCameraView.startRecordingVideoCapture.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تغییر کرد
- نام
CameraControlAPI با 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
IllegalStateExceptionwhen 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-Core 1.0.0-beta10
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#getEstimatedCaptureLatencyRangeAPI بردارید چون کاربران نمیتوانند بدانند کدام اندازهها برای مورد استفاده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#getTransformtoCoordinateTransform#transformand 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-Core 1.0.0-beta10
Camera-View نسخه 1.0.0-alpha17
۲۳ سپتامبر ۲۰۲۰
androidx.camera:camera-view:1.0.0-alpha17 منتشر شده است. نسخه 1.0.0-alpha17 حاوی این commit-ها است.
رفع اشکالها
- نسخه پخش برای پشتیبانی از Camera-Core 1.0.0-beta10
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#getPreviewStreamStateAPI که به برنامهها اجازه میدهد مشاهده کنند پیشنمایش درحال جاریسازی است یا نه. وقتی 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
PreviewViewblack screen issues when swiped outPreviewfragment 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 هستند
- کتابخانه جدید برای «افزونههای دوربین» آینده برای دسترسی به جلوهها در دستگاههای پشتیبانیشده. این کتابخانه درحال توسعه است.
- کلاس «نمای دوربین» جدید. این کتابخانه درحال توسعه است.