CameraX
این جدول تمام مصنوعات موجود در گروه androidx.camera
را فهرست می کند.
مصنوع | انتشار پایدار | کاندید را آزاد کنید | نسخه بتا | انتشار آلفا |
---|---|---|---|---|
دوربین-دوربین 2 | 1.4.1 | - | - | 1.5.0-alpha04 |
هسته دوربین | 1.4.1 | - | - | 1.5.0-alpha04 |
دوربین - آهنگسازی | - | - | - | 1.5.0-alpha04 |
جلوه های دوربین | 1.4.1 | - | - | 1.5.0-alpha04 |
پسوند دوربین | 1.4.1 | - | - | 1.5.0-alpha04 |
دوربین-ویژگی-ترکیب-پرس و جو | - | - | - | 1.5.0-alpha04 |
دوربین-ویژگی-ترکیب-پرس و جو-بازی-سرویس | - | - | - | 1.5.0-alpha04 |
چرخه عمر دوربین | 1.4.1 | - | - | 1.5.0-alpha04 |
دوربین-ملکیت-دید | 1.4.1 | - | - | 1.5.0-alpha04 |
دید دوربین | 1.4.1 | - | - | 1.5.0-alpha04 |
دوربین - منظره یاب | - | - | 1.3.0-beta02 | 1.4.0-alpha07 |
دوربین-فیلم | 1.4.1 | - | - | 1.5.0-alpha04 |
تست دستگاه
CameraX بر روی دستگاه های بسیاری در آزمایشگاه ما آزمایش شده است. برای مشاهده فهرستی از دستگاههایی که در حال حاضر در آزمایشگاه هستند، به دستگاههای آزمایششده در آزمایشگاه CameraX مراجعه کنید.
اعلام وابستگی ها
برای افزودن وابستگی به CameraX، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.
وابستگیهای مصنوعات مورد نیاز خود را در فایل build.gradle
برای برنامه یا ماژول خود اضافه کنید:
شیار
dependencies { // CameraX core library using the camera2 implementation def camerax_version = "1.5.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.5.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 def camerax_version = "1.5.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.5.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 کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.
برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.
Camera Viewfinder Compose نسخه 1.0
نسخه 1.0.0-alpha02
12 ژوئن 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha02
منتشر شد. نسخه 1.0.0-alpha02 حاوی این تعهدات است.
نسخه 1.0.0-alpha01
14 مه 2024
androidx.camera:camera-viewfinder-compose:1.0.0-alpha01
منتشر شد. نسخه 1.0.0-alpha01 حاوی این تعهدات است.
ویژگی های جدید
- کتابخانه جدید این کتابخانه یک Compose native Viewfinder را معرفی می کند که می تواند با CameraX و Camera2 استفاده شود. منظره یاب قابل ترکیب از نسبت های مختلف تصویر و مدیریت رویدادهای لمسی پشتیبانی می کند.
منظره یاب دوربین نسخه 1.4
نسخه 1.4.0-alpha07
12 ژوئن 2024
androidx.camera:camera-viewfinder:1.4.0-alpha07
و androidx.camera:camera-viewfinder-core:1.4.0-alpha07
منتشر شد. نسخه 1.4.0-alpha07 حاوی این commit ها است.
نسخه 1.4.0-alpha06
14 مه 2024
androidx.camera:camera-viewfinder:1.4.0-alpha06
و androidx.camera:camera-viewfinder-core:1.4.0-alpha06
منتشر شد. نسخه 1.4.0-alpha06 حاوی این commit ها است.
تغییرات API
- برای انعکاس بهتر پیاده سازی های اساسی، و افزودن ثابت های ثابت برای
TransformationInfo.sourceRotation
نامViewfinder
ImplementationMode
تغییر نام دهید. ( IC6149 ) -
ZoomGestureDetector.ZoomEvent
اضافه شد تا حالتهای حرکت زوم را در بر بگیرد. ( I84cdf )
دوربین نسخه 1.5
نسخه 1.5.0-alpha04
11 دسامبر 2024
androidx.camera:camera-*:1.5.0-alpha04
منتشر شد. نسخه 1.5.0-alpha04 حاوی این تعهدات است.
تغییرات API
- Exposur
ImageCapture.Builder#setOutputFormat
وImageCaptureCapabilities#getSupportedOutputFormats
به عنوان APIهای پایدار ( Ieb04a ) - برای دریافت اطلاعات وضوح زمانی که
VideoCapture
به چرخه زندگی متصل است،VideoCapture.getResolutionInfo()
اضافه کنید. ( ICB478 ) -
PreviewView.getScreenFlash
وPreviewView.setScreenFlashOverlayColor
به عنوان APIهای پایدار نمایش داده شد. ( I74fee )
رفع اشکال
- مشکل خرابی عکسبرداری در دستگاه Vivo 1610 هنگام عکس گرفتن با فلاش در تاریکی برطرف شد. ( I366f4 )
- روشن شدن خاموش شدن غیرمنتظره مشعل پس از ثبت تصویر در Redmi Note 6 Pro. ( I2e0e8 , b/377144569 )
- مشکلی در دستگاههای Pixel Android 15 برطرف شد که در آن حالت NIGHT در برنامههای افزودنی تا زمانی که دوربین روی یک شیء نزدیک فوکوس نکند، عکسهای ثابت ثبت نمیکند. ( I228d4 )
- هنگامی که برنامههای افزودنی فعال هستند و
VideoCapture
به هم متصل میشوند، مشکل عدم کارکرد ضبط تصاویر ثابت برطرف شد. ( I5c745 ) - در صورتی که دستگاه بتواند از آن پشتیبانی کند، پشتیبانی از ضبط تصاویر ثابت
UltraHDR
برای برنامههای افزودنی فعال است. ( I48300 ) - مشکل زمانبندی فلاش برای ضبط فلاش با هدفگیری
CameraEffect
ضبط تصویر در دستگاههای TCL برطرف شد. ( I7698c )
نسخه 1.5.0-alpha03
30 اکتبر 2024
androidx.camera:camera-*:1.5.0-alpha03
منتشر شد. نسخه 1.5.0-alpha03 حاوی این commit ها است.
تغییرات API
- APIهای فرمت خروجی را برای RAW و RAW + JPEG
ImageCapture
اضافه کنید، بررسی قابلیت دستگاه درImageCaptureCapabilities#getSupportedOutputFormats
نمایش داده می شود.OUTPUT_FORMAT_RAW
برای گرفتن تصویر RAW است که فرمت Adobe DNG است وOUTPUT_FORMAT_RAW_JPEG
برای گرفتن همزمان تصاویر RAW و JPEG است.ImageCapture#takePicture
API جدید برای ضبط همزمان تصویر استفاده می شود، باید دوOutputFileOptions
ارائه کند، اولی برای تصویر RAW و دومی برای تصویر JPEG. ( Ib0f3d )
رفع اشکال
- هنگامی که
VideoCapture
فعال است، مشکل پیشنمایش و عدم نوردهی ویدیو در دستگاههای TCL برطرف شد. ( ID7a64 ) - مشکلی که در فراخوانی
startFocusMetering
باPreviewView.getMeteringPointFactory
زمانی که یک افکت فعال میشود یا زمانی که 4 مورد استفاده محدود میشود، مختصات حسگر صحیح را دریافت نمیکند، برطرف شد. ( I916c5 , b/345993685 ) - رویداد
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE
هنگام ضبط ویدیو فعال نمیشود و فضای ذخیرهسازی کافی در دسترس نیست. ( I35779 , b/356399842 )
نسخه 1.5.0-alpha02
2 اکتبر 2024
androidx.camera:camera-*:1.5.0-alpha02
منتشر شد. نسخه 1.5.0-alpha02 حاوی این تعهدات است.
ویژگی های جدید
- API های جدید برای جستجو در ویژگی های دوربین که توسط دستگاه پشتیبانی می شود. به عنوان مثال، بررسی اینکه آیا HDR و 60FPS را می توان همزمان فعال کرد یا خیر. این شامل 2 مصنوع است: دوربین-ویژگی-ترکیب-پرس و جو و دوربین-ویژگی-ترکیب-پرسش-بازی-سرویس. این نسخه سازگار
CameraManager#getCameraDeviceSetup#isSessionConfigurationSupported
API با اطلاعات اضافی ارائه شده توسط Google Play Service است.
رفع اشکال
- مشکل نرخ فریم هدف
Preview/VideoCapture
در دستگاههای سطح LEGACY برطرف شد. نرخ فریم هدف تنظیم شده از طریقsetTargetFrameRate
یاCamera2Interop
API همیشه روی مقدار ارائه شده توسطAeFpsRangeLegacyQuirk
بازنویسی می شد. با این اصلاح، کتابخانه CameraX به مقدار تنظیم شده از طریقsetTargetFrameRate
یاCamera2Interop
API احترام می گذارد. ( Ie2d32 ) - اضافه شدن قابلیت های فلاش/مشعل/3A برای عکس برداری با
CameraEffect
. عکسهای گرفته شده باCameraEffect
اکنون باید همان پردازشهای قبل و بعد از عکسبرداری را داشته باشند (مثلاً ماشه فلاش، همگرایی 3A و غیره در صورت لزوم) مانند ضبط تصویر بدونCameraEffect
. ( I5ff30 ) - اندازههای خروجی مشکلدار برای
ImageAnalysis
در دستگاه Samsung SM-A057G حذف شد. هنگامی کهImageAnalysis
از وضوح بزرگتر یا برابر با 1920x1440 استفاده می کند، مشکل پیش نمایش سیاه را ایجاد می کند. برای جلوگیری از بروز مشکل،ExcludedSupportedSizesQuirk
روی دستگاه SM-A057G اعمال کنید. ( I63dfe , b/365877975 ) - مشکل نرخ فریم هدف
Preview/VideoCapture
زمانی که مکانیزم اشتراکگذاری جریان به صورت داخلی برای اشتراکگذاری یک جریان درPreview
وVideoCapture
فعال است، برطرف شد. ( I4fdac ) - راه حل برای رفع مشکل نادرست فراداده تصویر JPEG در دستگاه های Samsung S10e و S10+ فعال شد. با رفع این مشکل، CameraX میتواند با موفقیت تصویر JPEG را ذخیره کند، یا در صورت بروز مشکل فراداده تصویر JPEG نادرست، میتوان هنگام فراخوانی تابع
ImageProxy.toBitmap()
در این دستگاهها، اشیای Bitmap درست را برگرداند. ( Iae493 , b/356428987 ) - برنامههای افزودنی غیرفعال برای دوربین پشتی Samsung A52s که شناسه آن 0 است، زیرا ممکن است هنگام ثبت تصاویر HDR و پیکربندی جلسات ضبط برای حالتهای BOKEH یا FACE_RETOUCH، خرابیهای بومی رخ دهد. ( I03ec9 , b/364152642 )
- رویداد
VideoRecordEvent.Finalize.ERROR_INSUFFICIENT_STORAGE
هنگام ضبط ویدیو فعال نمیشود و فضای ذخیرهسازی کافی در دسترس نیست. ( Ia5b4f , b/356399842 ) - مشکلی که در آن تلاش دوم برای ضبط ویدیو در Oppo A5 (CPH1931) ناموفق بود، برطرف شد. ( I181d6 )
نسخه 1.5.0-alpha01
4 سپتامبر 2024
androidx.camera:camera-*:1.5.0-alpha01
منتشر شد. نسخه 1.5.0-alpha01 حاوی این تعهدات است.
تغییرات API
- API را برای تنظیم تنظیمات ترکیب برای فیلمبرداری همزمان با دوربین دوگانه ارائه دهید. تنظیمات شامل مقدار آلفا برای ترکیب، افست در مختصات 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 )
دوربین نسخه 1.4
نسخه 1.4.1
11 دسامبر 2024
androidx.camera:camera-*:1.4.1
منتشر شد. نسخه 1.4.1 شامل این commit ها است.
رفع اشکال
- مشکلی در دستگاههای Pixel Android 15 برطرف شد که در آن حالت NIGHT در برنامههای افزودنی تا زمانی که دوربین روی یک شیء نزدیک فوکوس نکند، عکسهای ثابت ثبت نمیکند. ( I228d4 )
- مشکل نقص
ImageCapture#takePicture
هنگامی که برنامههای افزودنی فعال هستند وVideoCapture
به هم متصل میشوند، رفع شد. ( I5c745 )
نسخه 1.4.0
30 اکتبر 2024
androidx.camera:camera-*:1.4.0
منتشر شد. نسخه 1.4.0 حاوی این تعهدات است.
تغییرات مهم از 1.3.0
CameraX 1.4.0 مملو از به روز رسانی های هیجان انگیز است! در اینجا خلاصه ای وجود دارد:
ویژگی عنوان: 10 بیت HDR:
- عکس ها و فیلم های HDR خیره کننده را به راحتی ثبت کنید.
- از کدگذاری HLG و 10 بیتی HEVC پشتیبانی می کند.
- از پیش نمایش 10 بیتی HDR و قابلیت های دستگاه پرس و جو لذت ببرید.
- با تصاویر
UltraHDR
و ویدیوهای HDR در طیف رو به رشدی از دستگاه ها کار می کند.
سایر ویژگی های جالب:
- برنامه های افزودنی Kotlin: عملکردهای
takePicture
وawaitInstance
را اضافه کرد. - جلوههای بیدرنگ: جلوههایی مانند واترمارک و برجستهسازی اشیا را اعمال کنید.
- CameraController API: کنترل های جدید برای پیکربندی ضبط ویدیو.
- تثبیت پیش نمایش: قابلیت دستگاه را جستجو کنید و تثبیت را فعال کنید.
- بهبودهای VideoCapture: کنترل دقیق تر بر کیفیت و دسترسی به وضوح بالاتر.
- CameraX Extensions ادغام: ادغام یکپارچه با
VideoCapture
و ویژگی های جدیدImageCapture
. - API صدای شاتر: به راحتی الزامات صدای شاتر منطقه ای را بررسی کنید.
- فلاش صفحه: بهبود عکسهای کم نور برای دوربینهای جلو.
- APIهای فراداده برنامههای افزودنی دوربین: پشتیبانی از API برای تنظیم قدرت برنامههای افزودنی و دریافت اعلان از حالت برنامههای افزودنی فعلی در
ExtensionMode#AUTO
. میتوانید رفع اشکالهای بیشتری را در اطلاعیههای بتا و RC ما پیدا کنید.
نسخه 1.4.0-rc04
16 اکتبر 2024
androidx.camera:camera-*:1.4.0-rc04
منتشر شد. نسخه 1.4.0-rc04 حاوی این commit ها است.
رفع اشکال
- مشکلی که در فراخوانی
startFocusMetering
باPreviewView.getMeteringPointFactory
زمانی که یک افکت فعال میشود یا زمانی که 4 مورد استفاده محدود میشود، مختصات حسگر صحیح را دریافت نمیکند، برطرف شد. ( I916c5 , b/345993685 )
نسخه 1.4.0-rc03
2 اکتبر 2024
androidx.camera:camera-*:1.4.0-rc03
منتشر شد. نسخه 1.4.0-rc03 حاوی این commit ها است.
رفع اشکال
- اضافه شدن قابلیت های فلاش/مشعل/3A برای عکس برداری با
CameraEffect
. عکسهای گرفته شده باCameraEffect
اکنون باید همان پردازشهای قبل و بعد از عکسبرداری را داشته باشند (مثلاً ماشه فلاش، همگرایی 3A و غیره در صورت لزوم) مانند ضبط تصویر بدونCameraEffect
. ( I5ff30 ) - بهینه سازی نرمی نزدیک به زوم در
PreviewView
( I04ffc ) - Ultra HDR را از قابلیت خروجی 10 بیت جدا کنید، زیرا پشتیبانی Ultra HDR دیگر نیازی به دستگاهها ندارد که دارای قابلیت خروجی 10 بیتی باشند. ( I96ff2 , I0c3b3 )
نسخه 1.4.0-rc02
18 سپتامبر 2024
androidx.camera:camera-*:1.4.0-rc02
منتشر شد. نسخه 1.4.0-rc02 حاوی این commit ها است.
رفع اشکال
- خرابی زمانی که
bindToLifecycle
باLifecycleOwner
از بین رفته فراخوانی می شود، رفع شد. ( I6e6d8 ) - انیمیشن دید در
ScreenFlashView
برایScreenFlash#apply
اضافه شده است که همچنین اشکالات ناشی از تغییر روشنایی را که به صورت ناهمزمان پس از مدتی تکمیل میشود برطرف میکند. ( I37cdb ) - با نادیده گرفتن تنظیمات زوم در چارچوب در دستگاه های پشتیبانی شده، نرمی زوم را بهبود بخشید.
نسخه 1.4.0-rc01
7 آگوست 2024
androidx.camera:camera-*:1.4.0-rc01
منتشر شد. نسخه 1.4.0-rc01 حاوی این commit ها است.
ویژگی های جدید
-
CameraInfo.getCameraInfo
آزمایشی اضافه شد تا اطلاعات دوربین خاصی را بدون نیاز به اتصال موارد استفاده به دوربین ارائه دهد. ( I550d1 )
تغییرات API
- APIهای
PreviewView.getScreenFlash
وPreviewView.setScreenFlashOverlayColor
برای مواردی کهScreenFlashView
صراحتاً اضافه نشده است اضافه شد. ( I43945 )
رفع اشکال
- مشکلات نوردهی و ته رنگ را در هنگام گرفتن عکس با فلاش فعال در نور کم با محدودیت استفاده از VideoCapture برطرف کرد. ( IC9814 )
- این مشکل را برطرف کنید که قطع کردن درخواست
takePicture
با فعال کردن برنامههای افزودنی ممکن است به نتیجه نرسد و درخواستtakePicture
بعدی دیگر کار نکند. ( Iae78f ) - مشکل نشت حافظه که هنگام فعال کردن برنامههای افزودنی رخ میدهد، برطرف شد. ( Iab276 )
- رفع نقص عملکرد افزونههای CameraX در دستگاههایی مانند Pixel 7/8 و سری Samsung Galaxy S24. این مشکل، ناشی از مشکل تبدیل
Camera2OutputConfigImpl
در حالت انتشار، پس از ارتقاء AGP به 8.5.1 و فعال کردن کوچکسازی ظاهر شد. ( I99598 , b/354824993 )
نسخه 1.4.0-beta02
12 ژوئن 2024
androidx.camera:camera-*:1.4.0-beta02
منتشر شد. نسخه 1.4.0-beta02 حاوی این تعهدات است.
تغییرات API
- مشابه
VideoCapture
،setMirrorMode
برای استفاده از حالت Preview اضافه کنید. از حالت آینه روشن و خاموش برای پخش جریانی پیشنمایش از طریقOutputConfiguration.setMirrorMode
از API 33 و بالاتر پشتیبانی میکند، برای APIهای قدیمیتر، بدون عملیات است. ( I821f4 )
رفع اشکال
- وقتی
ImageCapture
1920x1080 را در ترکیبPreview
+VideoCapture
+ImageCapture
UseCase
انتخاب میکند، برنامهها نمیتوانند با موفقیت در Samsung Tab A8 عکس بگیرند، رفع شد. ( I5a463 , b/336925549 ) - ضبط مداوم ثابت ممکن است پس از تعویض دوربین، ضبط را ادامه ندهد. ( ICb0a1 )
نسخه 1.4.0-beta01
14 مه 2024
androidx.camera:camera-*:1.4.0-beta01
منتشر شد. نسخه 1.4.0-beta01 حاوی این تعهدات است.
تغییرات API
-
ZoomGestureDetector.ZoomEvent
اضافه شد تا حالتهای حرکت زوم را در بر بگیرد. ( I84cdf )
رفع اشکال
- اشکالی رفع شد که همچنان از مقادیر تکرار درخواست FPS/حالت تثبیت استفاده نمیکند که ممکن است جلسه ضبط را دوباره ایجاد کند و باعث ایجاد مشکلات تأخیر یا توقف پیشنمایش در برخی دستگاهها شود. ( I7dc0b )
- رفع اشکالی که در آن هنگام فعال بودن
CameraEffect
در برخی دستگاهها، نمیتوان وضوح بالا را انتخاب کرد. (به عنوان مثال 4000x3000 در Samsung A32 5G). ( Ie3ed3 , b/337336152 ) - رفع خرابی هنگام عکسبرداری با پیشنمایش،
ImageCapture
وVideoCapture(UHD)
در Pixel 4XL API29. ( I5b288 ) - پشتیبانی از دستگاههای مجازی: متنی که به
ProcessCameraProvider
منتقل میشود، شناسه دستگاه را برای اطمینان از عملکرد در یک محیط دستگاه مجازی حفظ میکند. ( I5ba48 )
نسخه 1.4.0-alpha05
17 آوریل 2024
androidx.camera:camera-*:1.4.0-alpha05
منتشر شد. نسخه 1.4.0-alpha05 حاوی این تعهدات است.
ویژگی های جدید
-
ProcessCameraProvider
را به پیاده سازی Kotlin تبدیل کرد. ( I46d4f ) - توابع تعلیق
ImageCapture.takePicture
اضافه شد تا امکان فراخوانی آن را به روشی اصطلاحی Kotlin فراهم کند. ( I920be )
تغییرات API
- APIهای فرمت خروجی را به
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
جایگزین کنید. مقدار ثابت ثابت باقی می ماند. این برای ادغام تمام ثابت ها در یک مکان است. ( I890bb ) -
RetryPolicy
API جدید به توسعه دهندگان این امکان را می دهد تا رفتار تلاش مجدد را برای مقداردهی اولیه CameraX سفارشی کنند. ( I36dd2 ) - فعال کردن ایجاد شی
ImageCaptureLatencyEstimate
برای کمک به آزمایش پذیری ( Iaba99 ) - یک
ImageAnalysis#COORDINATE_SYSTEM_SENSOR
اضافه کنید. هنگامی که از این مورد استفاده می شود،MlKitAnalyzer
مختصات را در سیستم مختصات سنسور دوربین برمی گرداند. ( I3ec61 ) - API فراداده برنامههای افزودنی در معرض دید. رابطهای جدید
CameraExtensionsInfo
وCameraExtensionsControl
به برنامهها اجازه میدهند تا تنظیمات قدرت افزونه را نظارت و تنظیم کنند. برنامهها میتوانند نمونهCameraExtensionsInfo
یاCameraExtensionsControl
را از طریق روشهایExtensionsManager#getCameraExtensionsInfo()
یاExtensionsManager#getCameraExtensionsControl()
که به تازگی اضافه شده است، دریافت کنند. ( I28e1a ) -
ProcessCameraProvider.awaitInstance
اضافه شد که نسخه معلقProcessCameraProvider.getInstance
( Ib22b9 ) است - یک API
PreviewView#getSensorToViewTransform()
اضافه کنید. ماتریس تبدیل از مختصات سنسور دوربین به مختصاتPreviewView
را نشان می دهد. این می تواند برای تبدیل مختصات از یکUseCase
به دیگری استفاده شود. به عنوان مثال، تبدیل مختصات اشیاء شناسایی شده درImageAnalysis
بهPreviewView
overlay. ( I947ab ) - API
camera-viewfinder-core
را عمومیتر کنید تا بتوان از آن توسطcamera-viewfinder
وcamera-viewfinder-compose
استفاده کرد. ( I1e295 ) - تابع
getSurface
بهViewfinderSurfaceRequest
اضافه کنید. ( I781a0 ) -
camera-viewfinder-core
درcamera-viewfinder
استفاده کنید وViewfinderSurfaceRequest
وCameraViewfinder
منسوخ کنید. ( I6198c ) -
ZoomGestureDetector
اضافه شد که حرکات مقیاسبندی را که بهطور خاص برای فعالیتهای نزدیک به زوم پیکربندی شدهاند، تفسیر میکند. ( ایفافف )
رفع اشکال
- مشکل انتخاب رزولوشن
ImageAnalysis
مربوط به تنظیم وضوح هدف پیشفرض تحلیلگر برطرف شد: وضوح هدف به اشتباه 640x480 نگه داشته شد، حتی اگر برنامهها تنظیمات وضوح پیشفرض تحلیلگر متفاوتی را تنظیم کرده باشند. اگر برنامهها با این مشکل مواجه شدند (1.3.0 ~ 1.3.2) و نمیتوانند برای استفاده از نسخههای جدیدتر که حاوی راهحل هستند، آن را ارتقا دهند، تنظیم مستقیمResolutionSelector
با وضوح ترجیحی و یکAspectRatioStrategy
منطبق باImageAnalysis
UseCase
میتواند این مشکل را حل کند. . ( I81f72 , b/330091012 ) - مشکلی را برطرف کرد که در صورت عدم موفقیت درخواست فعلی ممکن است درخواست
takePicture
در صف اجرا نشود. ( Ie0801 ) - بررسی دادههای JPEG نامعتبر را روی دستگاههای Vivo X60 و X60 Pro اعمال کنید. این می تواند مشکل تصویر غیرعادی بزرگ را در این دستگاه ها برطرف کند. ( I82247 , b/288828159 )
- مشکل فراداده تصویر JPEG نادرست در دستگاه های Samsung A24 برطرف شد. با رفع این مشکل، CameraX میتواند با موفقیت تصویر JPEG را ذخیره کند، یا هنگام فراخوانی تابع
ImageProxy.toBitmap()
در دستگاههای A24 سامسونگ، اشیاء Bitmap صحیح را میتوان برگرداند. ( I8d6eb , b/309005680 ) - اگر تصویر گرفته شده بزرگتر از 10 مگابایت باشد، بررسی داده های JPEG نامعتبر را برای همه دستگاه های سامسونگ اعمال کنید. این می تواند مشکل iamge غیرعادی بزرگ را در دستگاه های سامسونگ برطرف کند. ( Ic2a65 , b/288828159 )
- پشتیبانی
ImageAnalysis
در برنامههای افزودنی CameraX حذف شد زیرا بسیاری از برنامههای افزودنی OEM باImageAnalysis
کار نمیکنند و ممکن است مشکلات متناقضی ایجاد کنند. ( I2d926 )
نسخه 1.4.0-alpha04
24 ژانویه 2024
androidx.camera:camera-*:1.4.0-alpha04
منتشر شد. نسخه 1.4.0-alpha04 حاوی این commit ها است.
ویژگی های جدید
- مصنوع جدید: جلوههای دوربین: کتابخانهای برای اعمال جلوههای بلادرنگ در خروجی CameraX، از جمله
Preview
،VideoCapture
و/یاImageCapture
. این مصنوع شامل پیاده سازی های OpenGL ازCameraEffect
API است که خروجی دوربین را به طور موثر دستکاری می کند. -
OverlayEffect
: برای ترسیم همپوشانی با Canvas API Android. این به برنامه اجازه می دهد تا یک واترمارک اعمال کند یا اشیاء شناسایی شده را در خروجی های دوربین برجسته کند. - APIهای
DynamicRange
برای حالت استفاده پیشنمایش: اکنون میتوان محدوده دینامیکی را مستقل از حالت استفاده از ویدئو، روی حالت استفاده پیشنمایش تنظیم کرد. این اجازه می دهد تا محدوده های دینامیکی HDR مانند HLG10 برای پیش نمایش به تنهایی. APIهای جدیدی نیز درCameraInfo
در دسترس هستند تا بپرسید هر دوربین از کدام محدوده دینامیکی پشتیبانی می کند.
تغییرات API
-
ScreenFlashUiCompleter
بهScreenFlashListener
تغییر نام داد وScreenFlashUiCompleter#getExpirationTimeMillis
به پارامترexpirationTimeMillis
ScreenFlash#apply
منتقل شد. ( I13944 ) - APIهای جدیدی اضافه شدهاند تا امکان تنظیم محدوده دینامیکی در حالت استفاده از پیشنمایش، و پرس و جو محدودههای پویا پشتیبانی شده توسط هر دوربین را فراهم کنند. این اجازه میدهد تا محدودههای دینامیکی HDR، مانند HLG10، به تنهایی با کیس استفاده پیشنمایش مورد استفاده قرار گیرد، و دیگر نیازی به اتصال همزمان
VideoCapture
نیست. ( If25e3 ) - تغییر نام
getMirroring()
بهisMirroring()
( I47063 ) - پشتیبانی از تخمین زمان تأخیر در CameraX اضافه شد. برنامههای افزودنی دوربین به برنامهها اجازه میدهند از یک API استفاده کنند که تخمینی از مدت زمانی که عکسبرداری طول میکشد ارائه میدهد. این برآورد شرایط محیط فعلی، وضعیت دوربین را در نظر میگیرد و شامل زمان صرف شده برای پردازش درخواستهای ضبط چند فریمی به همراه هر زمان اضافی برای رمزگذاری بافرهای پردازش شده در صورت لزوم میشود. ( I05c3a )
- تغییر نام
ScreenFlashUiControl
بهScreenFlash
،ScreenFlashUiControl#applyScreenFlashUi
بهScreenFlash#apply
،ScreenFlashUiControl#clearScreenFlashUi
بهScreenFlash#clear
، و اضافه شدنgetScreenFlashUiApplyTimeoutSeconds
متدهای exploitSSCREEN_FLASH_UI_APPLY_TIMEOUT_SECONDS
مستقیم. ( 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
13 دسامبر 2023
androidx.camera:camera-*:1.4.0-alpha03
منتشر شد. نسخه 1.4.0-alpha03 حاوی این commit ها است.
ویژگی های جدید
-
CameraInfo.mustPlayShutterSound
اضافه شد تا اطلاعاتی در مورد اینکه آیا صدای شاتر باید مطابق با محدودیت های منطقه ای پخش شود یا خیر. ( Ifda84 ) -
OnImageCapturedCallback.onCaptureStarted
وOnImageSavedCallback.onCaptureStarted
برای اطلاع از زمانی که دوربین شروع به نمایش یک فریم کرده است اضافه شد. توصیه می شود در این مرحله صدای شاتر یا انیمیشن شاتر را پخش کنید. ( IC49b3 ) - پشتیبانی از ویژگی فلاش صفحه در CameraX برای ضبط تصویر دوربین جلو اضافه شد. CameraX از مدیریت API سمت چارچوب مراقبت می کند و در صورت لزوم زمان بندی را با تغییرات رابط کاربری برنامه همگام می کند (به عنوان مثال، ماشه پیش گرفتن AE پس از تغییر رنگ/روشنایی صفحه نمایش برنامه). برنامه ها فقط باید پیاده سازی های جانبی UI خود را در رابط
ScreenFlashUiControl
ارائه شده به CameraX اضافه کنند. ( I8ae84 ) - اضافه شدن ویژگی Screen Flash پشتیبانی از پیاده سازی سمت UI در CameraX. برنامهها میتوانند یک پیادهسازی اولیه
ImageCapture.ScreenFlashUiControl
را ازPreviewView
یاScreenFlashView
جدید اضافه شده دریافت کنند که نمای همپوشانی تک رنگ اضافه میکند و روشنایی صفحه را در طول گرفتن عکس با فلاش صفحه به حداکثر میرساند. ( I1810e )
تغییرات API
- پشتیبانی از ویژگیهای برنامههای افزودنی جدید (پستنما و پیشرفت فرآیند ضبط): افزودن API
ImageCapture#getImageCaptureCapabilities()
برای برنامهها برای پرسوجو درباره قابلیتهای پسنمایش و گرفتن پاسخ به تماس پیشرفت فرآیند. برنامه ها می توانند نمایش پست را با استفاده ازImageCapture.Builder#setPostviewEnabled()
فعال کنند. اندازه postview را می توان با استفاده ازImageCapture.Builder#setPostviewResolutionSelector()
انتخاب کرد. هنگام فراخوانیtakePicture()
،onPostviewBitmapAvailable
وonCaptureProcessProgressed
میتوان درOnImageSavedCallback
یاOnImageCapturedCallback
پیادهسازی کرد تا در صورت پشتیبانی، اعلانهای postview و پیشرفت فرآیند را دریافت کنند. ( I5cd88 ) - APIهایی برای محاسبه تبدیل مختصات از حسگر به بافر فعلی، با پرچمی که نشان میدهد آیا سطح اطلاعات جهتگیری دوربین را دارد یا خیر. ( I59096 )
- API را در معرض درخواست
PreviewCapabitlity
در PreviewUseCase
قرار دهید. ( Ie5b6c ) - APIهایی برای پشتیبانی از کیفیت های بیشتر برای
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 گرفته شده در دستگاه های سری A71 و M51 سامسونگ رفع شد. تصاویر JPEG گرفته شده حاوی داده های اضافی 0 در بخش داده های فشرده JFIF هستند. این باعث می شود که تصاویر گرفته شده اندازه فایل فوق العاده ای داشته باشند. آن دادههای اضافی 0 حذف میشوند تا تصاویر گرفتهشده اندازه فایلهای تصویری معمولی داشته باشند. ( I01afc , b/288828159 )
- پشتیبانی
ImageAnalysis
در Pixels غیرفعال کنید تا از اشکالی در Pixel جلوگیری کنید که اندازههای غیرخالی پشتیبانی شدهImageAnalysis
بهطور تصادفی برمیگرداند. ( I7ec31 ) - رفع مشکل عملکرد که در آن بارگیری CPU و مصرف انرژی با فعال کردن برنامههای افزودنی افزایش مییابد. ( Ibdccb )
- اسنپدراگون 480 به
CameraUseInconsistentTimebaseQuirk
اضافه شد. این مشکل را در Android 12 برای دستگاههایی که از این چیپست استفاده میکنند، برطرف میکند که در آن صدای ضبطشده با مدت زمانی که دستگاه در حالت تعلیق قرار دارد، جبران میشود. ( I58010 )
نسخه 1.4.0-alpha02
18 اکتبر 2023
androidx.camera:camera-*:1.4.0-alpha02
منتشر شد. نسخه 1.4.0-alpha02 حاوی این commit ها است.
تغییرات API
- نام API را به
setCameraOpenRetryMaxTimeoutInMillisWhileResuming
تغییر دهید و نام آرگومان را تغییر دهید. ( I72370 ) - افزودن APIها برای بررسی قابلیت دستگاه و فعال کردن تثبیت ویدئو/پیش نمایش. ( I87544 )
- API را برای سفارشی کردن باز کردن دوربین با حداکثر زمان وقفه مجدد ارائه دهید. ( I0c642 )
-
ProcessCameraProvider.shutdownAsync
بهعنوان یک API آزمایش عمومی منتشر کرد تا به ارائهدهنده دوربین پردازش در مجموعههای آزمایشی که ممکن است نیاز به مقداردهی اولیه CameraX به روشهای مختلف بین آزمایشها داشته باشند، اجازه میدهد. ( I9eca7 ) - APIهایی را برای پیکربندی محدوده دینامیکی ضبط ویدیو، نرخ فریم و حالت آینه اضافه کنید. ( Ifb8f7 )
-
OutputSize
منسوخ کنید و آن را باResolutionSelector
جایگزین کنید.ResolutionSelector
راه جامع تری برای انتخاب وضوح است و با API هسته دوربین سازگار است. ( I93abd , b/286801438 )
رفع اشکال
- مشکل پیشنمایش سیاه در Samsung Galaxy S23 Ultra 5G هنگامی که Extensions Bokeh یا Face-Retouch با
ImageAnalysis
در دوربین عقب فعال است، برطرف شد. ( I2e8b1 ) - مشکلات پیشنمایش و
VideoCapture
در Moto E5 Play برطرف شد. ( 73dce2 )
نسخه 1.4.0-alpha01
20 سپتامبر 2023
androidx.camera:camera-*:1.4.0-alpha01
منتشر شد. نسخه 1.4.0-alpha01 حاوی این commit ها است.
تغییرات API
- افزودن API جدید برای دسترسی به اطلاعات دامنه صدا در حین ضبط. ( ID4925 )
رفع اشکال
- با اطمینان از اینکه رویدادهای مقداردهی اولیه و اولیه سازی به ترتیب صحیح راه اندازی می شوند، ثبات برنامه های افزودنی را بهبود بخشید. ( Ib3b8e )
- شکست پیکربندی جلسه ضبط برای بیش از حد ترکیب سطح پشتیبانی شده به دلیل اضافه کردن سطح تکرار شونده اضافی در داخل، رفع شد. ( ID718c )
- مشکل بزرگ عکس JPEG ثبت شده در دستگاه Vivo S16 برطرف شد. تصاویر JPEG گرفته شده حاوی داده های اضافی 0 در بخش داده های فشرده JFIF هستند. باعث می شود تصاویر گرفته شده حجم فایل بالایی داشته باشند. آن دادههای اضافی 0 حذف میشوند تا تصاویر گرفتهشده اندازه فایلهای تصویری معمولی داشته باشند. ( I79505 , b/299069235 )
- رفع مشکل عدم اتصال
ImageAnalysis
باImageCapture
و Preview زمانی که برخی از حالت های برنامه افزودنی در برخی از دستگاه ها فعال هستند. هنگامی که برنامهها در دسترس بودنImageAnalysis
را از طریقExtensionsManager#isImageAnalysisSupported()
پرس و جو کنند، این اصلاح مقدار صحیح را برمیگرداند. ( I7d538 ) - JavaDoc را برای مطابقت با رفتار به روز کنید. به جای اینکه فوراً تکمیل شود،
#setZoomRatio
،#setLinearZoom
و#enableTorch
منتظر بمانند تا دوربین آماده شود. همچنین اطلاعاتی درباره نحوه دریافت حداکثر FOV با#takePicture
API اضافه شده است. ( I23588 )
نسخه 1.3
نسخه 1.3.4
12 ژوئن 2024
androidx.camera:camera-*:1.3.4
منتشر شد. نسخه 1.3.4 شامل این commit ها است.
رفع اشکال
- مشکلی که
getZoomRatio
به اشتباه مقدار کاهش یافته را هنگام اعمال نسبت بزرگنمایی افزایش می دهد، برطرف شد. ( I4aa0d , b/317543616 ) - رفع عکسبرداری ثابت/ضربه برای فوکوس بدون استفاده از درخواست تکراری FPS/مقادیر حالت تثبیتسازی که ممکن است جلسه عکسبرداری را دوباره ایجاد کند و باعث ایجاد مشکلات تأخیر یا توقف پیشنمایش در برخی دستگاهها شود. ( I7dc0b )
- مشکل تنظیم نرخ فریم روی مقدار کمتری هنگام فراخوانی
setTargetFrameRate
باFRAME_RATE_RANGE_UNSPECIFIED
برطرف شد. ( I78c61 )
نسخه 1.3.3
17 آوریل 2024
androidx.camera:camera-*:1.3.3
منتشر شد. نسخه 1.3.3 حاوی این commit ها است.
رفع اشکال
- مشکل انتخاب رزولوشن
ImageAnalysis
مربوط به تنظیم وضوح هدف پیشفرض تحلیلگر برطرف شد: وضوح هدف به اشتباه 640x480 نگه داشته شد، حتی اگر برنامهها تنظیمات وضوح پیشفرض تحلیلگر متفاوتی را تنظیم کرده باشند. اگر برنامهها با این مشکل مواجه شدند (1.3.0 ~ 1.3.2) و نمیتوانند برای استفاده از نسخههای جدیدتر که حاوی راهحل هستند، آن را ارتقا دهند، تنظیم مستقیمResolutionSelector
با وضوح ترجیحی و یکAspectRatioStrategy
منطبق باImageAnalysis
UseCase میتواند این مشکل را حل کند. . ( I81f72 , b/330091012 )
نسخه 1.3.2
6 مارس 2024
androidx.camera:camera-*:1.3.2
منتشر شد. نسخه 1.3.2 شامل این commit ها است.
رفع اشکال
- مشکل فراداده JPEG در دستگاه های سامسونگ A24 برطرف شد. CameraX اکنون تصاویر را با دقت ذخیره می کند و تابع
ImageProxy.toBitmap()
اشیاء Bitmap درست را برمی گرداند. ( I8d6eb , b/309005680 ) - به دلیل مشکلات، گزینه رزولوشن 9280x6944 در دستگاههای Redmi Note 9 Pro حذف شد. ( Ia23da )
نسخه 1.3.1
13 دسامبر 2023
androidx.camera:camera-*:1.3.1
منتشر شد. نسخه 1.3.1 حاوی این commit ها است.
رفع اشکال
عملکرد ProcessCameraProvider#bindToLifecycle()
بهبود بخشید. تغییر عمده بهینه سازی فرآیند شناسایی مناسب ترین ترکیب اندازه برای UseCases
است. نتایج بهینه بر اساس ترکیبات خاص UseCase
و تعداد اندازه های خروجی پشتیبانی شده برای دستگاه های مورد نظر متفاوت است. ( I454f2 )
در اینجا برخی از نتایج مرجع برای سناریوهای مختلف آورده شده است:
چهار
UseCases
:Preview
+ImageCapture
+ImageAnalysis
+VideoCapture
- Google Pixel 7: تقریباً 430 ms تا 60 ms
- Samsung Galaxy S23 Ultra: تقریباً 540 ms تا 45 ms
- Samsung A53 5G: تقریباً 115 میلیثانیه تا 70 میلیثانیه
سه
UseCases
:Preview
+ImageCapture
+ImageAnalysis
- Google Pixel 7: تقریباً 9 ms تا 7 ms
- Samsung Galaxy S23 Ultra: تقریباً 6 تا 5 میلی ثانیه
- Samsung A53 5G: تقریباً 32 ms تا 12 ms
اسنپدراگون 480 به
CameraUseInconsistentTimebaseQuirk
اضافه شد. این مشکل را در Android 12 برای دستگاههایی که از این چیپست استفاده میکنند، برطرف میکند که در آن صدای ضبطشده با مدت زمانی که دستگاه در حالت تعلیق قرار دارد، جبران میشود. ( I58010 )
نسخه 1.3.0
18 اکتبر 2023
androidx.camera:camera-*:1.3.0
منتشر شد. نسخه 1.3.0 حاوی این commit ها است.
تغییرات مهم از 1.2.0
- ویژگیهای ویدیویی شامل 10 بیت HDR ، برش ، آینه/غیر آینه ، بیصدا/لغو ، تنظیم نرخ فریم و موارد دیگر.
- دوربین دوگانه همزمان
- کتابخانه اثر
- انتخابگر رزولوشن
- انتخاب دوربین فوق عریض و تلسکوپی
- تعویض دوربین در حین ضبط ویدیو (ویژگی آزمایشی)
نسخه 1.3.0-rc02
20 سپتامبر 2023
androidx.camera:camera-*:1.3.0-rc02
منتشر شد. نسخه 1.3.0-rc02 حاوی این commit ها است.
رفع اشکال
- با اطمینان از اینکه رویدادهای مقداردهی اولیه و اولیه سازی به ترتیب صحیح راه اندازی می شوند، ثبات برنامه های افزودنی را بهبود بخشید. با این کار برخی از مشکلات پیشنمایش سیاه هنگام تغییر حالت برنامههای افزودنی یا تعویض دوربین برطرف شد. ( ایداک )
- رفع مشکل عدم اتصال
ImageAnalysis
باImageCapture
و Preview زمانی که برخی از حالت های برنامه افزودنی در برخی از دستگاه ها فعال هستند. هنگامی که برنامهها در دسترس بودنImageAnalysis
را از طریقExtensionsManager#isImageAnalysisSupported()
پرس و جو کنند، این اصلاح مقدار صحیح را برمیگرداند. ( I7d538 ) - مشکل عدم هماهنگی صدا و ویدیوی ضبط شده در هنگام فعال شدن حالت Mirroring در Xiaomi Poco X3 NFC برطرف شد. ( I20b4c )
نسخه 1.3.0-rc01
23 آگوست 2023
androidx.camera:camera-*:1.3.0-rc01
منتشر شد. نسخه 1.3.0-rc01 حاوی این commit ها است.
تغییرات API
-
PendingRecording.asPersistentRecording
اضافه شد تا به یک ضبط اجازه دهد تا زمانی کهVideoCapture
که ضبط کننده آن به آن متصل است، به طور مداوم ضبط کند. ( I517c6 )
رفع اشکال
- رفع خرابی هنگام اشتراکگذاری جریان با
VideoCapture
و Preview. همچنین هنگامی که اشتراکگذاری جریان فعال است، صفحه سیاه در دستگاههای LEGACY برطرف شد. - مسئله تصویر JPEG بزرگ ضبط شده در دستگاه های سری Samsung S7 (SM-G930T ، SM-G930V). تصاویر JPEG ضبط شده حاوی داده های بالشتک 0 در بخش داده فشرده شده JFIF است. این باعث می شود تصاویر ضبط شده اندازه پرونده بزرگ داشته باشند. این داده های بالشتک 0 redundant 0 حذف می شوند تا تصاویر ضبط شده دارای اندازه فایل تصویر عادی باشند. ( i407b0 ، b/288828159 )
- مسئله تصویر JPEG بزرگ ضبط شده در سامسونگ S22 (SM-S901B ، SM-S901B/DS) و S22+ (SM-S906B). تصاویر JPEG ضبط شده حاوی داده های بالشتک 0 در بخش داده فشرده شده JFIF است. این امر باعث می شود تصاویر ضبط شده اندازه پرونده بزرگ در حدود 13 مگابایت در دستگاه S22 SM-S901B/DS داشته باشند. این داده های بالشتک 0 redundant 0 حذف می شوند تا تصاویر ضبط شده دارای اندازه فایل تصویر عادی باشند. ( i73be9 ، b/288828159 )
- مسئله تصویر JPEG بزرگ ضبط شده در دستگاه های سری Samsung A5 ، A52 ، A70 و A72. تصاویر JPEG ضبط شده حاوی داده های بالشتک 0 در بخش داده فشرده شده JFIF است. این باعث می شود تصاویر ضبط شده اندازه پرونده شدید داشته باشند (سابق در حدود 32 مگابایت یا حتی 96 مگابایت). این داده های بالشتک 0 redundant 0 حذف می شوند تا تصاویر ضبط شده دارای اندازه فایل تصویر عادی باشند. ( i97C4d ، b/288828159 )
- هنگام عکس گرفتن با برنامه های افزودنی فعال شده ، تصادف بومی را برطرف کرد ( I698F5 )
نسخه 1.3.0-beta02
26 جولای 2023
androidx.camera:camera-*:1.3.0-beta02
منتشر شد. نسخه 1.3.0-beta02 شامل این تعهدات است.
رفع اشکال
- برای بهبود کیفیت ضبط در نور کم ، از مشعل به عنوان فلش برای انواع پیکسل 4 و 5 استفاده کنید ( I56FF5 ، B/280221967 )
- مسئله تصویر JPEG بزرگ ضبط شده در دستگاه های سری Samsung A5 (2017). تصاویر JPEG ضبط شده حاوی داده های بالشتک 0 در بخش داده فشرده شده JFIF است. این باعث می شود تصاویر ضبط شده حدود 32 مگابایت اندازه پرونده داشته باشند. این داده های بالشتک 0 redundant 0 حذف می شوند تا تصاویر ضبط شده دارای اندازه فایل تصویر عادی باشند. ( I29837 ، b/288828159 )
- تلاش مجدد ثابت در صورت عدم موفقیت در دستگاه های مشکل ساز که در
CaptureFailedRetryQuirk
ذکر شده است ، به درستی تحریک نمی شود. ( i7b589 )
نسخه 1.3.0-beta01
21 ژوئن 2023
androidx.camera:camera-*:1.3.0-beta01
منتشر شد. نسخه 1.3.0-beta01 حاوی این تعهدات است.
تغییرات API
-
ResolutionSelector.Builder#setHighResolutionEnabledFlag(int)
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
setAllowedResolutionMode
را تغییر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 ) - یک API
isImageAnalysisSupported
بهExtensionsManager
اضافه شده است که برنامه ها می توانند تعیین کنند که آیا یک مورد استفادهImageAnalysis
می تواند به همراه پیش نمایش وImageCapture
در هنگام فعال شدن برنامه ها محدود شود. ( i1bc63 ) - کلاس جدید
VideoCapabilities
به دست آمده ازRecorder
می تواند برای پرس و جو از دامنه ها و خصوصیات پویا پشتیبانی شده برای ضبط ویدیویی در دستگاه استفاده شود. روشهای دریافتیQualitySelector
getSupportedQualities()
و روشهایisQualitySupported()
در حال کاهش است. لطفاً به جای آن از روشهایVideoCapabilities
getSupportedQualities()
وisQualitySupported()
استفاده کنید. ( I04014 ) -
CameraController#setVideoCaptureTargetQuality()
بهsetVideoCaptureQualitySelector
تغییر نام داده می شود و ArguranceQualitySelector
می گیرد ، که انعطاف پذیری بیشتری را برای تنظیم کیفیت فیلم فراهم می کند.CameraController#getVideoCaptureTargetQuality()
بر این اساس بهgetVideoCaptureQualitySelector
تغییر یافته است. ( i520ed ) - حاشیه نویسی تجربی را برای ویژگی های ویدیویی حذف کرد. ویژگی های ویدئویی اکنون پایدار هستند. ( i1a113 )
رفع اشکال
- برای بهبود سرعت و کیفیت تصویر ضبط شده در نور کم ، از مشعل به عنوان فلاش در مدل های SMSUNG SM-A320 استفاده کنید. ( i6a022 ، b/286190938 )
- پشتیبانی از فرمت
ImageFormat.JPEG
را برایImageProxy.toBitmap()
اضافه کنید. اگر آرایه بایت jpeg قابل رمزگشایی نباشد ، یکUnsupportedOperationException
پشتیبانی می شود. ( i81958 ، b/282057603 )
نسخه 1.3.0-alpha07
24 مه 2023
androidx.camera:camera-*:1.3.0-alpha07
منتشر شده است. نسخه 1.3.0-alpha07 شامل این تعهدات است.
ویژگی های جدید
- API جدید
VideoCapture.Builder# setTargetFrameRate(Range)
اجازه می دهد تا ضبط های ویدیویی علاوه بر پیش فرض دستگاه ، در سایر نرخ های فریم ضبط شوند. نرخ فریم موجود برای ضبط ها را می توان از طریق API جدیدCameraInfo#getSupportedFrameRates()
پرسید.
تغییرات API
- تغییر نام
ResolutionSelector#HIGH_RESOLUTION_FLAG_OFF
/ON
onstants toALLOWED_RESOLUTIONS_NORMAL
/SLOW
و نام کاربری سازندهsetHighResolutionEnabledFlag
بهsetAllowedResolutionMode
تغییر نام داد. ( IAE817 ) -
CameraInfo#getSupportedFrameRateRanges()
اکنونSet
ای را به جای یکList
باز می گرداند تا بهتر نشان دهد که دامنه ها بدون هماهنگی هستند. ( I02F43 ) - برای رسیدگی به خطاهای غیرقابل برگشت ، شنونده خطا را به
CameraEffect
اضافه کنید ( ICE471 ) - برای آزمایش بهتر ، سازنده عمومی را در
ResolutionInfo
اضافه کنید ( IF6D1C ) - یک API
UseCase.snapToSurfaceRotation(int)
را برای جایگزینی استفاده ازsetTargetRotationDegrees
و تخریب apiImageAnalysis.setTargetRotationDegrees(int)
ImageCapture.setTargetRotationDegrees(int)
وVideoCapture.setTargetRotationDegrees(int)
ارائه می دهد. ( IA9010 ) -
Preview#getTargetFrameRate
andPreview.Builder#setTargetFrameRate
قادر به تنظیم و بازیابی نرخ فریم هدف برای مورد استفاده پیش نمایش ( IF4F22 ) -
VideoRecordEvent.Finalize
اکنون با خطای خطا در هنگام متوقف شدن شیءRecording
به دلیل جمع آوری زباله ، با کد خطاERROR_RECORDING_GARBAGE_COLLECTED
تکمیل می شود. ( IBA974 )
رفع اشکال
- ثابت
NullPointerException
هنگامی که اندازه خروجی ذخیره شده در جریانStreamConfigurationMapCompat
تهی است. ( IDF124 ، B/282025204 ) - این مسئله را برطرف کرد که
Preview.setSurfaceProvider(null)
پیش نمایش را در پسوند مکث نمی کند ( IA903E ) - مسئله ای را برطرف کرد که در هنگام
ConcurrentModificationException
در هنگام باز شدن دوربین ، در هنگام باز شدنVideoCapture
پرتاب می شود. ( IC8AC4 )
نسخه 1.3.0-alpha06
19 آوریل 2023
androidx.camera:camera-*:1.3.0-alpha06
منتشر شد. نسخه 1.3.0-alpha06 شامل این تعهدات است.
ویژگی های جدید
- دوربین همزمان یک ویژگی جدید است که از Android 11 معرفی شده است ، که از پخش همزمان دستگاه های دوربین پشتیبانی می کند ، به عنوان مثال ، به یک دستگاه اجازه می دهد تا دوربین های جلو و عقب همزمان کار کند. Camerax در حال حاضر فقط از دوربین های همزمان دوگانه پشتیبانی می کند ، که به دو دوربین امکان پذیر است ، در همان زمان ، با حداکثر دو {Link Usecase} S برای هر یک. وضوح حداکثر 720p یا 1440p است ، جزئیات بیشتر در لینک زیر ، به فیلمبردار#getConcurrentCameraids مراجعه کنید ()
- معرفی API
ResolutionSelector
جدید که ویژگی های زیر را در بر می گیرد:- برنامه ها می توانند استراتژی های نسبت ابعاد و وضوح را برای انتخاب بهترین وضوح برای نیازهای خود مشخص کنند.
- پارامترهای اندازه و نسبت ابعاد در مختصات سنسور دستگاه دوربین بیان شده است.
- برنامه ها می توانند یک فیلتر با وضوح سفارشی را برای ترتیب اندازه های پشتیبانی شده به ترتیب مورد نظر پیاده سازی کنند.
- برنامه ها همچنین می توانند ضبط با وضوح بالا را برای به دست آوردن تصاویر با وضوح بالاتر امکان پذیر کنند. با این حال ، لطفاً توجه داشته باشید که استفاده از وضوح بالا ممکن است منجر به زمان ضبط کندتر شود.
- اضافه شده API های آینه کاری
VideoCapture
. فیلم های ضبط شده توسطVideoCapture
به طور پیش فرض آینه نمی شوند. با این حال ، پیش نمایش دوربین به طور پیش فرض روی دوربین جلو آینه می شود. API های آینه کاریVideoCapture
امکان استفاده از پیش نمایش دوربین را هنگام استفاده از دوربین جلو امکان پذیر می کنند. سهMirrorMode
،OFF
،ON
وON_FRONT_ONLY
وجود دارد. برای تراز کردن با پیش نمایش دوربین ، توصیه می شودON_FRONT_ONLY
استفاده کنید ، به این معنی که آینه کاری برای دوربین عقب فعال نیست بلکه برای دوربین جلو فعال است.
تغییرات API
- در معرض
ResolutionSelector
جدید API. برنامه ها می توانند استراتژی های نسبت ابعاد و وضوح را با قوانین بازپرداخت یا فیلتر وضوح سفارشی مشخص کنند تا نتایج مطلوب را بدست آورند. برنامه ها می توانند یک پرچم را برای فعال کردن ضبط با وضوح بالا مشخص کنند. این به Camerax اجازه می دهد تا هنگام گرفتن عکس یا فیلم ، قطعنامه های بالاتر را انتخاب کند. با این حال ، لطفاً توجه داشته باشید که استفاده از وضوح بالا ممکن است منجر به زمان ضبط کندتر شود. ( ibed95 ) - دامنه های FPS که توسط الگوریتم AE پشتیبانی می شوند ، اکنون می توانند از طریق
CameraInfo#getSupportedFrameRateRanges()
پرسیده شوند. ( IAA67F ) - نام همه روشهای نرخ فریم را در استفاده از "Framerate" تلفیق کنید. تصحیح اشتباه Javadoc در
VideoCapture#getTargetFrameRate()
( I83304 ) - میراث
setTargetAspectRatio
و APIsetTargetResolution
کاهش داد. لطفاً به جای آن از APIResolutionSelector
جدید استفاده کنید. ( i542c3 ) - اضافه شده API های عمومی برای دوربین دوتایی همزمان ، از جمله
-
List<List<CameraInfo>> getAvailableConcurrentCameraInfos()
-
ConcurrentCamera bindToLifecycle(@NonNull ConcurrentCameraConfig concurrentCameraConfig)
-
boolean isConcurrentCameraModeOn()
وConcurrentCameraConfig
،SingleCameraConfig
وConcurrentCamera
( IAB1C1 )
-
-
ImageProcessor.Response#getOutputImage
nonnull ( IB9C60 ) - اضافه شده API های آینه کاری
VideoCapture
، از جملهVideoCapture.Builder.setMirrorMode(int)
وVideoCapture.getMirrorMode()
. API ها برای برنامه های کاربردی مفید هستند که ضبط ویدیو با رفتار پیش نمایش دوربین مشترک سازگار باشد ، یعنی پیش نمایش دوربین عقب آینه ای نیست اما پیش نمایش دوربین جلو آینه می شود. ( i713b6 ، b/194634656 ) - اضافه کردن API
setTargetFrameRate()
درVideoCapture.Builder
وgetTargetFramerate()
API درVideoCapture
( I109D4 ) -
SurfaceOutput
در بسته شدن بسته و مخفی کنید و سازنده عمومیurfaceOutput.Event
را پنهان کنید. ( i60ea8 ) -
Recording.mute
اضافه شده است. mute برای نادیده گرفتن پویا یا یک ضبط در پردازش. هنگام ضبط در پردازش به صراحت ،RecordingStats
شاملAudioStats.AUDIO_STATE_MUTED
خواهد بود. ( IE17FC ) - ساخته شده
#setEffects()
پارامتر غیر تهی. برای پاکسازی اثرات یک API#clearEffects()
اضافه کنید. برای حذف جلوه ها ، برنامه باید با#clearEffects()
تماس بگیرد. ( i4b4d9 ) - یک سازنده دوم را برای
ViewfinderSurfaceRequest.Builder
اضافه کنید تا یک سازنده را برای سازنده کپی بگیرید ( I621A7 )
رفع اشکال
- مسئله ای را برطرف کرد که برنامه هایی که API با استفاده از برنامه های افزودنی API می توانند هنگام بستن دوربین خراب شوند ( IB27E5 )
- مسئله ای را برطرف کرد که در آن
VideoCapture
نمی تواند با دوربین جلو در برخی از دستگاه ها کار کند. به عنوان مثال ، در سامسونگ گلکسی S23 و شیائومی 2107113SG. ( ibec7e ، b/270656244 ) - این مسئله را برطرف کرد که گرفتن عکس با استفاده از فایل در پوشه عمومی ذخیره سازی خارجی همیشه در اندروید 10 یا بالاتر شکست خواهد خورد. لطفاً توجه داشته باشید که در Android 10 ، گرفتن عکس با استفاده از فایل در پوشه عمومی ذخیره سازی خارجی همچنین نیاز به تنظیم
requestLegacyExternalStorage
به True در برچسب برنامه دارد. ( i11b2c ) - رفع یک تصادف
RejectedExecutionException
درDefaultSurfaceProcessor
. این تصادف ممکن است هنگامی اتفاق بیفتد کهVideoCapture
محدود شود و فعالیت مکث شود. ( IDB46a ، b/273713906 )
نسخه 1.3.0-alpha05
22 مارس 2023
androidx.camera:camera-*:1.3.0-alpha05
منتشر شد. نسخه 1.3.0-alpha05 شامل این تعهدات است.
تغییرات API
- اضافه شده API های چرخش
VideoCapture
، از جملهVideoCapture.Builder.setTargetRotation(int)
،VideoCapture.setTargetRotation(int)
،VideoCapture.setTargetRotationDegrees(int)
وVideoCapture.getTargetRotation()
. API ها برای برنامه هایی که جهت گیری دستگاه را قفل می کنند مفید هستند.ImageCapture.setTargetRotationDegrees(int)
وImageAnalysis.setTargetRotationDegrees(int)
نیز اضافه می شوند. ( id3ffe ، b/205242781 ) - اجازه دهید
VIDEO_CAPTURE
وPREVIEW|VIDEO_CAPTURE
به عنوان هدف جلوه. جلوه هایی کهVIDEO_CAPTURE
هدف قرار می دهد ، در USECaseVideoCapture
اعمال می شود. جلوه هایی کهPREVIEW|VIDEO_CAPTURE
قبل از کپی کردن برای پیش نمایش و جریانVideoCapture
، روی یک جریان مشترک اعمال می شود. ( IEE6F3 )
رفع اشکال
- از دوربین
1.2.2
: مسئله ای را که در آن برنامه های کاربردی فیلمبرداری به درستی کار نمی کنند ، هنگامی که Proguard در برخی از دستگاه ها مانند Pixel ( I90AA2 ) فعال نیست ، رفع کرد. - رفع اشکال
PreviewView
که اگر برنامه به خودی خود جهت گیری صفحه را کنترل کند. پیش نمایش ممکن است پس از چرخش تحریف شود. این فقط در دستگاه های خاص اتفاق می افتد. می توان آن را در پیکسل A4 ، پیکسل 5 و پیکسل 6A تکثیر کرد. ( I14340 ، b/223488673 )
نسخه 1.3.0-alpha04
22 فوریه 2023
androidx.camera:camera-*:1.3.0-alpha04
منتشر شد. نسخه 1.3.0-alpha04 حاوی این commit ها است.
ویژگی های جدید
یک ویژگی جدید برای پشتیبانی از ترکیبات سطح قبلاً پشتیبانی نشده با به اشتراک گذاشتن یک جریان در چندین USECASES.
- پیش از این ، هنگام اتصال "پیش نمایش ، فیلمبرداری ، ImageAnalysis" در سطح سخت افزار دوربین به طور کامل و پایین ، یا اتصال "پیش نمایش ، فیلمبرداری ، ImageCapture" در میراث سطح سخت افزار ، دوربین فیلمبرداری
IllegalArgumentException
پرتاب می کند. - رفتار جدید این است که اتصالات بدون پرتاب استثنائات کار می کنند. در عوض ، Camerax از OpenGL برای کپی کردن یک جریان مشترک در پیش نمایش و VideoCapture استفاده می کند.
- به عنوان هزینه کپی بافر ، برنامه ممکن است شاهد افزایش تأخیر و مصرف برق باشد.
تغییرات API
- API را برای تبدیل
ImageProxy
بهBitmap
اضافه کنید. فرمتImageProxy
پشتیبانی شدهImageFormat.YUV_420_888
وPixelFormat.RGBA_8888
است. اگر این قالب نامعتبر باشد ،IllegalArgumentException
است. ( IC7110 ) - برای پشتیبانی از پیکربندی منظره یاب با استفاده از توابع تعلیق در کوتلین ،
CoroutineCameraViewfinder
اضافه کنید. ( i657bc ) - سازنده عمومی جدید را برای
ViewfinderSurfaceRequest
اضافه کنید. این انعطاف پذیری را فراهم می کند که کاربر نتواندCameraCharacteristics
ارائه دهد. ( IE6549 )
رفع اشکال
- تصادف پسوند را که در برخی از دستگاه های سامسونگ اتفاق می افتد هنگام مکث/از سرگیری سریع برنامه ، بر روی برخی از دستگاه های سامسونگ ثابت کرد ( IACA26 )
نسخه 1.3.0-alpha03
25 ژانویه 2023
androidx.camera:camera-*:1.3.0-alpha03
منتشر شد. نسخه 1.3.0-alpha03 حاوی این commit ها است.
تغییرات API
- اضافه شده
CameraInfo.getIntrinsicZoomRatio
برای ارائه زاویه اطلاعات نسبت به دوربین پیش فرض. ( IB300C ) - اضافه شده
CameraInfo.getLensFacing
برای ارائه اطلاعات با لنز.CameraSelector#LENS_FACING_EXTERNAL
به عنوان یک ویژگی آزمایشی برای انتخاب دوربین های خارجی. ( ICAF3E ) -
#setEffect()
را بهCameraController
اضافه کنید که امکان اضافه کردن جلوه ها به خروجی دوربین را فراهم می کند. ( i1d21f ) - روش
invalidate()
را بهSurfaceRequest
اضافه کنید. ارائه دهنده سطح می تواند اطلاع دهد که سطح قبلاً ارائه شده دیگر معتبر نیست. ( IDC649 ) - یک API
ImageProcessor
را اضافه کنید. این رابط برای تزریق جلوه های پس از پردازش در خط لولهImageCapture
است. ( i575c6 ) - اضافه شده API
Recorder.Builder.setAspectRatio()
که می تواند باQualitySelector
برای پشتیبانی از قطعنامه های ویدیویی بیشتر ترکیب شود. ( i8a082 ) - اضافه شده
Recorder.Builder#setTargetVideoEncodingBitRate
برای تنظیم ویدیوی هدفBitRate
وRecorder#getTargetVideoEncodingBitRate
برای دریافت ویدیوی هدف رمزگذاری Bitrate. ( i5984d )
رفع اشکال
-
ImageCapture
ثابت در صورت عدم وجود واحد فلش و حالت فلش انجام نشد. ( i9e8b4 ، b/263391112 ) - مسئله فساد تصویر JPEG ثابت در صورت نوشتن داده های موقعیت مکانی exif در برخی از دستگاه های Android 12 سامسونگ. ( IB7086 ، B/263747161 ، B/263289024 )
- هنگام تنظیم مشعل/بزرگنمایی قبل از اجزای اولیه سازی دوربین ، به عنوان مثال فراخوانی
CameraController#enableTorch
، عمل در انتظار ذخیره می شود و پس از شروع اولیه سازی ، ذخیره می شود. ( i11e92 ، b/264157663 )
نسخه 1.3.0-alpha02
7 دسامبر 2022
androidx.camera:camera-*:1.3.0-alpha02
منتشر شد. نسخه 1.3.0-alpha02 حاوی این commit ها است.
تغییرات API
- یک API جدید برای استفاده از اثر پس از پردازش برای پیش نمایش خروجی اضافه کنید. ( IC17D5 )
- تغییر نام به
OutputOptions.getDurationLimit
بهOutputOptions.getDurationLimitMillis
وOutputOptions.setDurationLimit
toOutputOptions.setDurationLimitMillis
. ( i91f0c ) - کلاس
AudioConfig
را اضافه کنید تا هنگام ضبط فیلم ، تنظیمات مربوط به صدا را انجام دهد. حاشیه نویسی@RequiresPermission
از توابعstartRecording
بهAudioConfig
منتقل می شود تا از درخواست های غیر ضروری برای مواردی که نیاز به صدا نیست ، جلوگیری شود. ( I28755 ) - کلاسهای ابرداده ،
OnVideoSavedCallback
،OutputFileOptions
وOutputFileResults
را حذف کنید که دیگر پس از استفاده از API ضبط ویدیوی جدید دیگر مورد استفاده قرار نمی گیرند. ( i38cd8 ) - API ضبط ویدیوی جدید را اعمال کنید. روشهای
getVideoCaptureTargetSize
وsetVideoCaptureTargetSize
با روشgetVideoCaptureTargetQuality
جایگزین می شوند و به همین ترتیب روش هایsetVideoCaptureTargetQuality
، به عنوانsetTargetResolution
دیگر پشتیبانی نمی شود. ( i2a1d5 )
رفع اشکال
-
core.VideoCapture
API را حذف کنید. ( i531e0 ) - این مسئله را رفع کرد که پاسخ به تماس
onError
هنگام عکس گرفتن بدون اجازه ذخیره سازی فراخوانده نمی شود. ( i936db ، b/244807669 ) - کیفیت و قابلیت اطمینان پسوند دوربین را بهبود بخشید. پسوندهای دوربین در دستگاه های موتورولا با استفاده از پسوندهای دوربین v1.1.0 و بالاتر به دلیل مشکلات مربوط به پشتیبانی بوکه ، ضبط تصویر و پیش نمایش از سر گرفته نمی شوند. ( id3ce3 )
- تصادف بومی ثابت هنگام کشت ویدیویی از طریق
ViewPort
در دستگاه های میراث فعال می شود. ( i16b8a ، b/251357665 )
نسخه 1.3.0-alpha01
9 نوامبر 2022
androidx.camera:camera-*:1.3.0-alpha01
منتشر شده است. نسخه 1.3.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
-
Camera-viewfinder
به طور رسمی منتشر شده است.Camera-viewfinder
یک ویجت منظره یاب پایه را فراهم می کند که می تواند خوراک دوربین را برای Camera2 نشان دهد. لطفاً برای مثال کد نمونه را بررسی کنید.
تغییرات API
- اضافه شده
OutputOptions.setDurationLimit
برای ایجاد محدودیت مدت زمان فیلم. ضبط به طور خودکار در صورت فراتر از حد مدت زمان مشخص نهایی می شود. ( i902a0 ) - اضافه کردن ضبط ویدیو خطای صوتی
AudioStats.AUDIO_STATE_SOURCE_ERROR
. ارسال شده در صورت عدم موفقیت تنظیم منبع صوتی یا برخی از خطا. ( i37410 )
رفع اشکال
- Quirk را اضافه کنید تا برخی از دستگاه های مشکل ساز هنگام مواجهه با خرابی های ضبط ، یک بار دوباره امتحان کنند. ( id4795 )
- رفع
PreviewView
SurfaceView
صفحه نمایش سیاه درViewPager2
. به عنوان بخشی از FIX ، در صورت عدم تغییر وضوح درخواست شده ،PreviewView
ازSurfaceView
خود استفاده مجدد می کند. ( IB3F27 ) - هنگام استفاده از API
ViewPort
یاCameraController
، از برداشت ویدیویی (ویژگی WysiWyg) پشتیبانی کنید. ( IFBBA8 ، B/201085351 ) - فیلم ثابت ضبط شده با دوربین جلو نمی تواند در Huawei P40 Lite ضبط کند. ( I87C57 ، B/250807400 )
نسخه 1.2
نسخه 1.2.3
24 مه 2023
androidx.camera:camera-*:1.2.3
منتشر می شود. نسخه 1.2.3 شامل این تعهدات است.
رفع اشکال
- مسئله ای را برطرف کرد که در آن
VideoCapture
نمی تواند با دوربین جلو در برخی از دستگاه ها کار کند. به عنوان مثال ، در سامسونگ گلکسی S23 و شیائومی 2107113SG. ( ibec7e ، b/270656244 )
نسخه 1.2.2
22 مارس 2023
androidx.camera:camera-*:1.2.2
منتشر می شود. نسخه 1.2.2 شامل این تعهدات است.
رفع اشکال
- مسئله ای که پسوندهای دوربین فیلمبرداری به درستی کار نمی کنند ، هنگامی که Proguard در برخی از دستگاه ها مانند Pixel ( I90AA2 ) فعال نیست ، به درستی کار نمی کند
نسخه 1.2.1
25 ژانویه 2023
androidx.camera:camera-*:1.2.1
منتشر شده است. نسخه 1.2.1 شامل این تعهدات است.
رفع اشکال
- در صورت نوشتن داده های موقعیت مکانی exif در برخی از دستگاه های Android 12 سامسونگ ، مسئله فساد تصویر JPEG را برطرف کنید. ( b/263289024 )
نسخه 1.2.0
7 دسامبر 2022
androidx.camera:camera-*:1.2.0
منتشر می شود. نسخه 1.2.0 حاوی این commit ها است.
تغییرات مهم از 1.1.0
- دوربین جدید Camera-Mlkit-Vision. دوربین فیلمبرداری را به راحتی با بسیاری از ویژگی های MLKIT ، از جمله اسکن بارکد ، تشخیص چهره ، تشخیص متن و غیره ادغام کنید.
MLKitAnalyzer
به عنوان API های جدید اضافه شده است. - API تاخیر جدید آزمایشی صفر. خط لوله ضبط را بهینه می کند تا ضمن حفظ کیفیت تصویر خوب ، تأخیر بهتری داشته باشد. هنگامی که حالت ضبط روی
CAPTURE_MODE_ZERO_SHUTTER_LAG
تنظیم شده است ، تأخیر بین دکمه شاتر کلیک می شود و انتظار می رود که تصویر به حداقل برسد ، در مقایسه با سایر حالت های ضبط. در دستگاه هایی کهZERO_SHUTTER_LAG
پشتیبانی نمی کنند ، بهCAPTURE_MODE_MINIMIZE_LATENCY
بازگردد. -
android.camera.core.VideoCapture
را کاهش دهید. - اضافه شده
setStreamUseCase()
به عنوان APICamera2Interop
عمومی. - نیاز به سطح API اضافه شده برای
setOutputImageRotationEnabled
. - تغییر نام نام توسط
ImageAnalysis.Analyzer#getTargetResolutionOverride()
بهImageAnalysis.Analyzer#getDefaultTargetResolution()
. - API را برای تنظیم ابرداده موقعیت مکانی به ویدیوی ذخیره شده اضافه کرد.
- فریمر کم ثابت هنگام
VideoCapture
- مسئله پیش نمایش سیاه را که اتفاق می افتد هنگامی که Bokeh Extension در برخی از دستگاه های سامسونگ فعال می شود ، رفع می کند و کاربر دوربین ها را تغییر می دهد.
- ثابت Samsung J7 Prime (SM-G610M) و J7 (SM-J710MN)
Preview/VideoCapture
در دستگاه های API سطح 27. - از آنجا که این مسئله برطرف شده است ، این راهپیمایی را به صورت افقی از دوربین های جلو در Android T سامسونگ غیرفعال کرده است
نسخه 1.2.0-rc01
24 اکتبر 2022
androidx.camera:camera-*:1.2.0-rc01
منتشر شد. نسخه 1.2.0-rc01 حاوی این commit ها است.
تغییرات API
- API
setStreamUseCase
را برایOutputConfiguration
اضافه کنید. کاربر می تواند مورد استفاده جریان را برای جلسه جریان مشخص کند ، و منطق داخلی Camerax را برای انتخاب مورد استفاده جریان به منظور بهینه سازی مطابق نیاز آنها انتخاب کند. ( IB1A95 )
رفع اشکال
- ثابت Samsung J7 Prime (SM-G610M) و J7 (SM-J710MN)
Preview/VideoCapture
در دستگاه های API سطح 27. وضوح 1920x1080 باعث می شود تصاویرPreview/VideoCapture
کشیده شود. راه حل اضافه شده برای انتخاب وضوح 1920x1080 برای پیش نمایش یاVideoCapture
برای جلوگیری از مشکل کشیده شده تصویر. ( i0e04e ) - فریمر کم ثابت هنگام استفاده از
VideoCapture
و پیش نمایش موارد استفاده از نسبت ابعاد 16: 9 در برخی از دستگاه های هواوی. ( IF8C88 ، B/223643510 ) - خرابی باز دوربین ثابت هنگامی که
SurfaceProvider
پیش نمایش تنظیم نشده است. به عنوان بخشی از FIX ، پیش نمایش بدون مجموعهSurfaceProvider
اکنون در جلسه ضبط دوربین پیکربندی نمی شود. ( i99681 )
نسخه 1.2.0-beta02
21 سپتامبر 2022
androidx.camera:camera-*:1.2.0-beta02
منتشر شد. نسخه 1.2.0-beta02 شامل این تعهدات است.
تغییرات API
- نیاز به سطح API برای
setOutputImageRotationEnabled
( i26e3e ، b/240993561 )
رفع اشکال
- از آنجا که این مسئله برطرف شده است ، این راهپیمایی را به صورت افقی از دوربین های جلو در Android T سامسونگ غیرفعال کرده است. ( I05F69 )
- مسئله پیش نمایش سیاه را که هنگام فعال کردن
BOKEH
در برخی از دستگاه های سامسونگ فعال می شود ، برطرف کرد و کاربر دوربین ها را تغییر می دهد. ( IF6168 )
نسخه 1.2.0-beta01
24 آگوست 2022
androidx.camera:camera-*:1.2.0-beta01
منتشر شد. نسخه 1.2.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
-
camera-mlkit-vision
. دوربین فیلمبرداری را به راحتی با بسیاری از ویژگی های MLKIT ، از جمله اسکن بارکد ، تشخیص چهره ، تشخیص متن و غیره ادغام کنید. لطفاً کد نمونه را در اینجا پیدا کنید. - API تاخیر جدید آزمایشی صفر . خط لوله ضبط را بهینه می کند تا ضمن حفظ کیفیت تصویر خوب ، تأخیر بهتری داشته باشد. هنگامی که حالت ضبط روی Capture_Mode_Zero_Shutter_Lag تنظیم شده است ، تأخیر بین دکمه شاتر کلیک می شود و انتظار می رود که تصویر به حداقل برسد ، در مقایسه با سایر حالت های ضبط. در دستگاه هایی که از Zero_Shutter_Lag پشتیبانی نمی کنند ، به ضبط_مود_مینیمیز_لایت بازگردد.
-
ImageAnalysis.Analyzer
وMLKitAnalyzer
به عنوان API های رسمی. - API در معرض تنظیم ابرداده موقعیت مکانی به فیلم ذخیره شده.
- تغییر نام
ImageAnalysis.Analyzer#getTargetResolutionOverride()
بهImageAnalysis.Analyzer#getDefaultTargetResolution()
.
رفع اشکال
- ALPS ثابت K61V1_BASIC_REF شماره ضبط تصویر. تصاویر JPEG ضبط شده از HAL دارای ابرداده EXIF نادرست است. ابرداده exif دارای برچسب 0xFFD9 یا 0xFFDA نیست تا
ExifInterface
به درستی از ویژگی ها جدا کند. ضبط تصاویر با فرمت YUV و سپس فشرده سازی آنها به تصاویر خروجی JPEG برای حل این مسئله. ( i45abb )
نسخه 1.2.0-alpha04
27 جولای 2022
androidx.camera:camera-*:1.2.0-alpha04
منتشر شد. نسخه 1.2.0-alpha04 حاوی این commit ها است.
تغییرات API
- تغییر نام
ImageAnalysis.Analyzer#getTargetResolutionOverride()
بهImageAnalysis.Analyzer#getDefaultTargetResolution()
. این رفتار همچنین به گونه ای تغییر یافته است که مقدار برگشتی توسط این روش می تواند با ارزشImageAnalysis#setTargetResolution()
غلبه کند. ( if1d36 ) - API در معرض تنظیم ابرداده موقعیت مکانی به فیلم ذخیره شده. یک شیء
android.location.Location
را می توان از طریق API جدیدandroidx.camera.video.OutputOptions.Builder.setLocation(Location)
تنظیم کرد. ( i313a0 ، b/204197544 )
رفع اشکال
- این مسئله را حل کنید تا با پیش نمایش Unbind عکس بگیرید ( IE70B6 ، B/235119898 )
- سقوط ثابت در
Recorder
هنگام تلاش برای ضبط در حالی که منبع صوتی در دسترس نیست. ( i9f652 )
نسخه 1.2.0-alpha03
29 ژوئن 2022
androidx.camera:camera-*:1.2.0-alpha03
منتشر شد. نسخه 1.2.0-alpha03 حاوی این commit ها است.
تغییرات API
- حاشیه نویسی تجربی را برای
ImageAnalysis.Analyzer
وMLKitAnalyzer
حذف کرد. ( i0ff22 )
رفع اشکال
- در صورت عدم لغو
FocusMeteringAction
، قسمت AF را با کاذبisFocusSuccessful
FALSE اضافه می کند و قسمت AF در مدت زمان همگرا نمی شود. ( IBC2E3 ) - این مسئله را برطرف کنید تا با پیش نمایش Unbind عکس بگیرید ( I1D3A2 ، B/235119898 )
- اجرای پیشرفته Extender را فعال کرده و نسخه پشتیبانی پشتیبانی Camerax را به 1.2 ( I92256 ) به روز کنید
نسخه 1.2.0-alpha02
1 ژوئن 2022
androidx.camera:camera-*:1.2.0-alpha02
منتشر شد. نسخه 1.2.0-alpha02 حاوی این commit ها است.
ویژگی های جدید
- API LAG صفر-شتر را به عنوان آزمایشی در معرض دید قرار دهید.
تغییرات API
- حالت ضبط جدید
CAPTURE_MODE_ZERO_SHUTTER_LAG
درImageCapture
اضافه کنید وisZslSupported
درCameraInfo
اضافه کنید تا از قابلیت دستگاه استفاده کنید. حالتCAPTURE_MODE_ZERO_SHUTTER_LAG
قصد دارد حداقل تأخیر را برای ضبط فوری فراهم کند. این برنامه بر اساس یک بافر حلقه ای اجرا می شود ، که نتایج ضبط میانی را برای پردازش مجدد بعدی هنگامی که کاربر دکمه ها را برای گرفتن عکس فشار می دهد ، ذخیره می کند. اگر {Link VideoCapture} محدود شده یا حالت فلش خاموش نیست یا پسوند OEM روشن است ، این حالت به طور خودکار غیرفعال می شود. ( i9ae74 ) - اضافه کردن روش
ImageAnalysis.getBackgroundExecutor()
( ICC945 )
رفع اشکال
- روش ثابت تصویربرداری
ImageCapture
مشعل را در دستگاه های گزارش شده خاموش می کند. ( IB5EB5 ، B/228272227 ) - رفع
AssertionError
که در هنگام دریافت ویژگیCONTROL_ZOOM_RATIO_RANGE
به آن رسیدگی نمی شود. ( /IA248a ، B /231701345 )
نسخه 1.2.0-alpha01
18 مه 2022
androidx.camera:camera-*:1.2.0-alpha01
منتشر شده است. نسخه 1.2.0-alpha01 حاوی این commit ها است.
ویژگی های جدید
- دوربین جدید Camera-Mlkit-Vision راه اندازی شده است
رفع اشکال
- Fixed
QualitySelector
هنگام فعال کردن یک استراتژی بازگشت ، نتوانسته است یک فیلم UHD را ضبط کند. این مسئله زمانی اتفاق می افتد کهVideoCapture
باImageCapture
و پیش نمایش در یک دستگاه دوربین سطح سخت افزاری کامل یا بالاتر محدود شود. یک استراتژی برگشتی ازQualitySelector
باعث می شود که به طور نادرستVideoCapture
تا وضوح FHD را بدست آورد. وضوح UHD در واقع برای این ترکیب مورد استفاده پشتیبانی می شود و باید اتخاذ شود. ( i0e788 ، b/230651237 ) -
NullPointerException
ثابت درImageCapture.takePicture()
. ( I92366 ، B/230454568 ، B/229766155 ) - رفع رفتار مکث Async از
androidx.camera.video.Recorder
( IA8ce8 )
دوربین-دوربین 2 ، دوربین ، چرخه دوربین و دوربین-ویدئوی نسخه 1.1.0
نسخه 1.1.0
29 ژوئن 2022
androidx.camera:camera-*:1.1.0
منتشر می شود. نسخه 1.1.0 حاوی این commit ها است.
تغییرات مهم از 1.0.0
- Landed View ، Extension and Video Capture Bileds به عنوان اولین نسخه RC خود. از 1.1.0-beta01 ، تمام کتابخانه های دوربین فیلمبرداری همان شماره نسخه را تراز می کنند. این به توسعه دهندگان کمک می کند تا نسخه ها را بسیار ساده تر ردیابی کنند و پیچیدگی ماتریس سازگاری نسخه بزرگ را کاهش دهند.
- API های عمومی جدید و ویژگی هایی را که از جمله:
- برای پشتیبانی از موارد استفاده از ضبط فیلم ، کتابخانه رسمی دوربین فیلمبرداری را اضافه کنید.
- YUV به RGB تبدیل و قابلیت چرخش (
ImageAnalysis.Builder.setOutputImageRotationEnabled
وsetOutputImageFormat
) - با اجازه دادن به برنامه های دوربین فیلمبرداری برای از سرگیری دوربین در هنگام قطع دوربین توسط یک برنامه دیگر ، از حالت چند پنجره پشتیبانی کنید.
- تضمین می کند که دوربین فیلمبرداری با رفع برخی از مشکلات پیش نمایش ، در دستگاه های تاشو به خوبی کار می کند.
- یک API
CameraState
اضافه کرد که از طریق Camerainfo در معرض دید قرار می گیرد. - برای بازیابی مستقیم اطلاعات در مورد دوربین های موجود ، یک
ProcessCameraProvider.getAvailableCameraInfos()
اضافه شده است - فرمت JPEG خروجی برای
ImageCapture#OnImageCapturedCallback
هنگام فعال شدن پسوندها. - یک API
isFocusMeteringSupported
درCameraInfo
اضافه شده است که به برنامه ها اجازه می دهد تا بررسی کنند که آیاFocusMeteringAction
داده شده در دوربین فعلی پشتیبانی می شود یا خیر. - در معرض API
getResolutionInfo
برای ارائه اطلاعات وضوح برای پیش نمایش ،ImageCapture
وImageAnalysis
. - یک API
ImageCapture.Builder#setJpegQuality
اضافه شده است تا امکان تغییر کیفیت فشرده سازی تصویر JPEG در هنگام گرفتن عکس را فراهم کند. -
CameraSelector#filter
به API عمومی برای فیلتر کردن لیستی ازCameraInfos
بر اساس یکCameraSelector
. - اضافه شده
Camera2CameraControl.clearCaptureRequestOptions
برای پاکسازی گزینه های درخواست ضبط موجود. - یک API آزمایشی برای استفاده از
CameraController
با کتابخانه های پردازش تصویر خارجی اضافه شده است. به عنوان مثال MLKIT - اضافه شده API
CameraInfo#getCameraSelector()
که یکCameraSelector
منحصر به دوربین خود برمی گرداند - چندین API آزمایشی را به API های رسمی عمومی ارتقا داد
- حاشیه نویسی
@Experimental
را با@RequiresOptIn
به API های آزمایشی جایگزین کرد. برای فراخوانی API های آزمایشی ، به جای Androidx.annotation.optin به جای androidx.annotation.experimental.useexperimental استفاده کنید. - API های تجربی زیر
CameraXConfig#getAvailableCamerasLimiter()
به API های رسمی ارتقا داد:CameraXConfig.Builder#setAvailableCamerasLimiter()
CameraXConfig.Builder#setMinimumLoggingLevel()
،CameraXconfig.Builder#setSchedulerHandler()
CameraXConfig#getMinimumLoggingLevel()
،CameraXConfig#getCameraExecutor()
،CameraXConfig#getSchedulerHandler()
- apis
@ExperimentalCameraFilter
- API های جبران خسارت قرار گرفتن در معرض تجربی.
- ترویج
UseCaseGroup
آزمایشی API را برای دوربین هسته ای ، چرخه دوربین و دوربین دوربین.ViewPort#getLayoutDirection
،ViewPort.Builder#setLayoutDirection
andViewPort.Builder#setScaleType
برای سفارشی سازی نمای. - ترویج
ExperimentalUseCaseGroupLifecycle
به API های رسمی عمومی. - تغییر در API های موجود
-
Renamed MediaStoreOutputOptions.getCollection
بهMediaStoreOutputOptions.getCollectionUri
. -
ActiveRecording
برای کاهش کلامی به "ضبط" تغییر نام داده است. - API سازنده
QualitySelector
را به یک API مبتنی بر لیست تغییر داد
رفع اشکال
- مشکل
YuvToJpegProcessor
EOFException
مشکل هنگام فعال کردن حالت پسوند و حالتImageCapture#CAPTURE_MODE_MAX_QUALITY
تنظیم شده است. - پیکربندی کدک ثابت به دلیل ضبط ویدیو در حال بسته شدن است
- نسبت پیش نمایش/جنبه ویدیویی کشیده ثابت هنگام ضبط در FHD
- پس از مکث و از سرگیری برخی از دستگاه ها ، صوتی/تصویری ثابت از همگام سازی شده است
- مسئله ای را که فلش در حین ضربه زدن به فوکوس (
startFocusAndMetering
) ایجاد می شود ، هنگامی که حالت فلش به صورت خودکار یا همیشه_ن در محیط کم نور ایجاد می شود ، رفع شود.
نسخه 1.1.0-RC02
1 ژوئن 2022
androidx.camera:camera-*:1.1.0-rc02
منتشر شد. نسخه 1.1.0-RC02 شامل این تعهدات است.
رفع اشکال
-
NullPointerException
ثابت درImageCapture.takePicture()
. ( I92366 ، B/230454568 ، B/229766155 ) - رفع اشکال در جایی که
AssertionError
هنگام دریافت ویژگیCONTROL_ZOOM_RATIO_RANGE
به آن رسیدگی نمی شود. ( IA248A ، B/231701345 )
نسخه 1.1.0-rc01
11 مه 2022
androidx.camera:camera-*:1.1.0-rc01
منتشر شد. نسخه 1.1.0-rc01 حاوی این commit ها است.
ویژگی های جدید
- اولین نسخه RC را برای دوربین-ویدئو ، نمایش دوربین و دوربین-اکسپرس منتشر کنید
رفع اشکال
- مسئله ای را برطرف کرد که در آن کدک ویدئویی منتشر نشد وقتی
VideoCapture<Recorder>
بی حد و حصر بود ، و باعث شد تا استفاده های بعدی ازVideoCapture<Recorder>
در ضبط باMediaCodec.CodecException
، به ویژه در دستگاه های API 21-22 شکست بخورد. ( IE7F68 ) - تصاویر ضبط شده از
CameraExtensionsActivity
درImageCaptureTest
حذف نمی شوند
نسخه 1.1.0-beta03
6 آوریل 2022
androidx.camera:camera-*:1.1.0-beta03
منتشر شده است. نسخه 1.1.0-beta03 شامل این تعهدات است.
تغییرات API
- سازنده
CaptureRequestOptions
محدود کرد. ( I261B6 ) - یک API آزمایشی برای استفاده از
CameraController
با کتابخانه های پردازش تصویر خارجی اضافه شده است. به عنوان مثال MLKIT ( I4EA71 )
رفع اشکال
- این مسئله را برطرف کرد که پیش نمایش در
PreviewView
به سمت کنار می رود وقتی فعالیت بعد از چرخاندن دستگاه های در چند پنجره مجدداً راه اندازی نمی شود. ( i1ea36 ، b/223488673 ) - یک مسئله چند پنجره را برطرف کنید که وقتی تمرکز به برنامه تغییر می کند ، نمی تواند دوربین را از سر بگیرد وقتی (1) برنامه اولویت بالا یک دوربین متفاوت را باز می کند (2) دستگاه دستگاه های Android 12 سامسونگ است. ( i7e9f2 )
- راه حل شامل دستگاه هایی است که هنگام بررسی در دسترس بودن فلش خراب می شوند. این دستگاه ها مشعل در دسترس نخواهند داشت. ( IF26A3 ، B/216667482 )
- رفع مشکل
AbstractMethodError
زمانی اتفاق افتاد که برنامه ها از برنامه های افزودنی استفاده می کنند و Proguard را فعال می کنند. ( i7cbaf ، b/222726805 ) - Force Disable Mode Extension Bokeh در دستگاه Motorola Razr 5G که باعث ایجاد صفحه نمایش پیش نمایش سیاه می شود. ( i35d49 )
- ثابت صوتی/تصویری خارج از همگام پس از مکث و رزومه در برخی از دستگاه های سامسونگ قبل از API 29. ( I64622 ، B/202798609 ، B/202798572 )
- پس از مکث و رزومه روی سونی G3125 ، صوتی/تصویری ثابت از همگام سازی شده است. ( i2a1a5 ، b/202799148 )
- هنگامی که ضبط کننده با یک نامعتبر با یک
InvalidConfigException
روبرو شد ، تصادف را برطرف کرد. با این حال ، این رفع فقط مانع از خرابی برنامه می شود ، اما علتInvalidConfigException
را برطرف نمی کند. اگرRecorder
هنوز هم نمی تواند پیکربندی شود ، برنامه ها هنگام شروع ضبط ، پاسخ به تماس خطا دریافت می کنند. ( i89c29 ، b/213617227 )
مشارکت خارجی
- به روز شده: آهنگسازی: UI: API آزمون ui (UpdateApi) به دلیل مهاجرت آزمایش-کروتین-لیب ( I3366D )
نسخه 1.1.0-beta02
23 فوریه 2022
androidx.camera:camera-*:1.1.0-beta02
منتشر شد. نسخه 1.1.0-beta02 شامل این تعهدات است.
تغییرات API
- توانایی مشخص کردن شناسه دوربین فیزیکی را از طریق Camera2Interop اضافه کنید. ( i5aed8 )
رفع اشکال
- مسئله پیش نمایش کشیده شده در Oppo Find N ( I7D004 ) را برطرف کرد
- مسئله گلکسی J7 Prime را برطرف کرد که پیش نمایش تحریف شده است. ( i4c500 )
- برای یافتن رمزگذار ویدیویی از Bitrate سازگار استفاده کنید. ( D969052 )
نسخه 1.1.0-beta01
26 ژانویه 2022
androidx.camera:camera-*:1.1.0-beta01
is released. نسخه 1.1.0-beta01 حاوی این تعهدات است.
ویژگی های جدید
- From 1.1.0-beta01, all CameraX libraries will align the same version number. This will help developers track versions much easier and reduce the complexity of large version compatibility matrix.
تغییرات API
- Added
Camera2CameraControl.clearCaptureRequestOptions
for clearing the existing capture request options. ( Ifa07d )
رفع اشکال
- Fixed the crash when recording the video on some pre-Android O(API 26) devices. ( I88fdf , b/212328261 )
- Fixed the incorrect AF region issue when using
cameraControl#startFocusAndMetering()
on front lens-facing camera in Samsung devices ( 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 )
- Enabled applications to resume the camera when camera is interrupted by other higher priority application in the multi-window mode and the focus changes back to the application. Please note that there could be some latency(1 second to 10 seconds or more) between focus changes and camera reopened due to some framework issue. ( I4d092 )
Version 1.1.0-alpha12
15 دسامبر 2021
androidx.camera:camera-*:1.1.0-alpha12
is released. Version 1.1.0-alpha12 contains these commits.
تغییرات API
- Removed unnecessary
@RequiresApi(21)
annotations from the inner classes/interfaces. ( I8e286 , b/204917951 ) - The quality constants and fallback strategy constants of
QualitySelector
have been changed to be represented by class objects. For example,QualitySelector.QUALITY_HD
is changed toQuality.HD
, andQualitySelector.FALLBACK_STRATEGY_LOWER
is changed to the instance returned byFallbackStrategy.lowerQualityOrHigherThan(Quality)
. The API used to createQualitySelector
has been changed to a list-based API. The new APIQualitySelector.fromOrderedList(List<Quality>)
will refer to the order of the input quality list instead of the order created byQualitySelector.Procedure
.QualitySelector.Procedure
class has been removed. ( I43343 ) -
PendingRecording.withEventListener()
was removed and the event listener must now be passed toPendingRecording.start()
. This event listener requirement is meant to encourage handling of asynchronous errors that are reported in theVideoRecordEvent.Finalize
event. ( I1e71d ) -
ActiveRecording
has been renamed toRecording
to reduce verbosity. ( I77ceb )
رفع اشکال
- Fixed the issue that captured photos in
FLASH_AUTO
mode is underexposed in dark conditions on Pixel 3a and Pixel 3a XL ( I13f19 , b/205373142 ) - Always use latest display size to determine the preview
Resolution
. ( I4a694 ) - Filtered out cameras which do not have
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
. Cameras withREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
have the minimal set of capabilities that every camera device supports. Camera withoutREQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
might be a camera to support special functionality and does not support standard color output.CameraX
can't support thePreview
,ImageCapture
,ImageAnalysis
orVideoCapture
use cases for those cameras. Therefore, those cameras should be filtered out to prevent incorrect usage. ( Ib8cda ) -
CameraSelector#filter
no longer throws anIllegalArgumentException
when the result set is empty. ( I27804 ) - Smarter heuristics are now used to select encoder settings based on OEM specified profiles. ( Iaeef0 )
- Fixed Preview will have interlaced color lines after start UHD video recording on Pixel1. ( I833c6 , b/205340278 )
Version 1.1.0-alpha11
November 17, 2021
androidx.camera:camera-*:1.1.0-alpha11
is released. Version 1.1.0-alpha11 contains these commits.
تغییرات API
- Added CameraSelector#filter to the public API to filter a list of CameraInfos based on a CameraSelector. ( I105d0 )
Add setOutputImageRotationEnabled API for ImageAnalysis config. User can enable rotation for YUV/RGB image buffer. The rotation degree is a relative rotation calculated based on sensor rotation and target rotation to keep image upfront.
Add setOutputImageRotationEnabled API for ImageAnalysis config. User can enable rotation for YUV/RGB image buffer. The rotation degree is a relative rotation calculated based on sensor rotation and target rotation to keep image upfront.
Add
getSensorToBufferTransformMatrix
API in ImageInfo. The returned matrix is a mapping from sensor coordinates to buffer coordinates, which is, from the value ofCameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE
to(0, 0, image.getWidth, image.getHeight)
. The matrix can be used to map the coordinates from one {UseCase} to another. For example, mapping coordinates of the face detected with ImageAnalysis to Preview. ( I9ff1e )Added a new API ImageCapture.Builder#setJpegQuality to allow changing the output JPEG image compression quality when taking picture. ( I8dcf4 )
Renamed MediaStoreOutputOptions.getCollection to MediaStoreOutputOptions.getCollectionUri. ( I16639 )
رفع اشکال
- Fixed the issue where flash being triggered during tap-to-focus (startFocusAndMetering) when flash mode is auto or always_on in low-light environment. ( Id4c11 )
- Disabled HDR+ on Pixel 2 XL / Pixel 3 XL in MINIMIZE_LATENCY mode to reduce latency. ( Ib6270 , b/203505523 )
مشارکت خارجی
Version 1.1.0-alpha10
13 اکتبر 2021
androidx.camera:camera-*:1.1.0-alpha10
is released. Version 1.1.0-alpha10 contains these commits.
ویژگی های جدید
- Released
androidx.camera:camera-video:1.1.0-alpha10
as the first alpha version for Video officially. There are several known issues to be fixed in the later releases.
تغییرات API
- Added
@RequiresApi(21)
annotation to all CameraX classes and dropped minSdkVersion from AndroidManifest.xml. This will allow camera-core to be easily integrated into applications that have a minSdkVersion less than 21, but want to conditionally use code paths that rely on API 21 and higher. For any application with minSdkVersion 21 or higher, this change requires no action. ( Ie7f2e , b/200599470 )
رفع اشکال
- Throw an InitializationException to make the app be able to gracefully handle the AssertionError happened when creating CameraCharacteristics. ( Ibec79 )
نسخه 1.1.0-alpha09
29 سپتامبر 2021
androidx.camera:camera-camera2:1.1.0-alpha09
, androidx.camera:camera-core:1.1.0-alpha09
, and androidx.camera:camera-lifecycle:1.1.0-alpha09
are released. نسخه 1.1.0-alpha09 حاوی این commit ها است.
تغییرات API
- ExperimentalUseCaseGroup annotation is removed now that the APIs are no longer experimental. ( I01ef5 )
رفع اشکال
- Fix the issue where the captured photos are blurred in
MAXIMIZE_QUALITY
mode. ( I173a9 , b/193823892 ) - Fixed a Samsung Galaxy J5 issue that camera gets stuck after taking pictures with flash on/auto in dark environment ( I3aab9 )
- When cropping is needed for ImageCapture, compressing the output cropped image with the specified JPEG quality level according to the set capture mode. If the capture mode is
CAPTURE_MODE_MINIMIZE_LATENCY
, the JPEG compression quality will be 95. If the capture mode isCAPTURE_MODE_MAXIMIZE_QUALITY
, the JPEG compression quality will be 100. ( Ieb37c , b/142856426 )
نسخه 1.1.0-alpha08
18 آگوست 2021
androidx.camera:camera-camera2:1.1.0-alpha08
, androidx.camera:camera-core:1.1.0-alpha08
, and androidx.camera:camera-lifecycle:1.1.0-alpha08
are released. نسخه 1.1.0-alpha08 حاوی این commit ها است.
ویژگی های جدید
- Add setOutputImageFormat API for image analysis config. User can select ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 or ImageAnalysis.OUTPUT_IMAGE_FORMAT_RGBA_8888. By default, ImageAnalysis.OUTPUT_IMAGE_FORMAT_YUV_420_888 will be selected. ( I7902d )
تغییرات API
- ExperimentalUseCaseGroupLifecycle annotation is removed now that the APIs are no longer experimental. ( I17b85 )
رفع اشکال
- Fixed Preview screen is too bright on the Huawei P20 Lite. This problem only occurs when certain special Preview resolutions are used together with a large zoom in value. ( Idefce , b/192129158 )
- Fixed an issue that flash is not working on some devices when setting flash mode to FLASH_MODE_ON shortly followed by taking pictures. ( Ieb49b )
- Fixed the issue where Preview will halt for a while when taking pictures if VideoCapture, ImageCapture and Preview are bound. ( I56197 , b/193864120 )
- Allows ImageAnalysis to select a resolution larger than 1080p. A LIMITED-level above device can support a RECORD size resolution for ImageAnalysis when it is bound together with Preview and ImageCapture. The trade-off is the selected resolution for the ImageCapture will also need to be a RECORD size resolution. To successfully select a RECORD size resolution for ImageAnalysis, a RECORD size target resolution should be set on both ImageCapture and ImageAnalysis. This indicates that the application clearly understands the trade-off and prefers the ImageAnalysis to have a larger resolution rather than the ImageCapture to have a MAXIMUM resolution. For the definitions of RECORD, MAXIMUM sizes and more details see https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture. The RECORD size refers to the camera device's maximum supported recording resolution, as determined by CamcorderProfile. The MAXIMUM size refers to the camera device's maximum output resolution for that format or target from StreamConfigurationMap.getOutputSizes(int). ( I1ee97 , b/192911449 )
- Add the Exif info to the captured image. ( I01ff0 , b/193342619 )
- In ImageCapture, return the URI of the saved image if the saving location is File. ( Ib5b49 , b/149241379 )
- Fixed an issue that captured images with flash is dark on many devices. ( I4e510 )
نسخه 1.1.0-alpha07
21 جولای 2021
androidx.camera:camera-camera2:1.1.0-alpha07
, androidx.camera:camera-core:1.1.0-alpha07
, and androidx.camera:camera-lifecycle:1.1.0-alpha07
are released. نسخه 1.1.0-alpha07 حاوی این commit ها است.
رفع اشکال
- Fixed a Samsung Galaxy Note 5 issue that camera gets stuck after taking pictures with flash on/auto in dark environment ( If6871 )
- Fixed
YuvToJpegProcessor
EOFException issue when extension mode is enabled andImageCapture#CAPTURE_MODE_MAX_QUALITY
mode is set. ( I538bd , b/192017012 )
نسخه 1.1.0-alpha06
30 ژوئن 2021
androidx.camera:camera-camera2:1.1.0-alpha06
, androidx.camera:camera-core:1.1.0-alpha06
, and androidx.camera:camera-lifecycle:1.1.0-alpha06
are released. نسخه 1.1.0-alpha06 حاوی این commit ها است.
تغییرات API
- Promote the experimental exposure compensation APIs for camera-core ( I08ee8 )
- Added a API isFocusMeteringSupported in CameraInfo which allows applications to check if the given FocusMeteringAction is supported on current camera or not. ( Ib45ae , b/188606490 )
- Exposed getResolutionInfo API to provide the resolution information for Preview, ImageCapture and ImageAnalysis. ( I2b613 , b/188600718 )
- Promoted the following experimental APIs to official APIs: CameraXConfig.Builder#setAvailableCamerasLimiter(), CameraXConfig.Builder#setMinimumLoggingLevel(), CameraXconfig.Builder#setSchedulerHandler(), CameraXConfig#getAvailableCamerasLimiter(), CameraXConfig#getMinimumLoggingLevel(), CameraXConfig#getCameraExecutor(), CameraXConfig#getSchedulerHandler(). ( I2ade2 )
- Exposed the CameraProvider interface to provide access to a set of cameras. ( I1a7b1 )
- Promote the experimental UseCaseGroup API for camera-core, camera-lifecycle and camera-video. Added
ViewPort#getLayoutDirection
,ViewPort.Builder#setLayoutDirection
andViewPort.Builder#setScaleType
for customizing viewport. ( I7cee8 )
نسخه 1.1.0-alpha05
2 ژوئن 2021
androidx.camera:camera-camera2:1.1.0-alpha05
, androidx.camera:camera-core:1.1.0-alpha05
, and androidx.camera:camera-lifecycle:1.1.0-alpha05
are released. نسخه 1.1.0-alpha05 حاوی این commit ها است.
تغییرات API
- Removed
Camera2CameraFilter
class. Suggest to select camera by CameraFilter and retrieve CameraCharacteristics or other Camera2 related information through Camera2CameraInfo if needed. ( Ib887c ) -
ExperimentalCameraFilter
APIs are now out of experimental stage and become formal APIs. They can be used without annotated OptIn. ( I4bc94 ) - Added camera state API that's exposed through
CameraInfo#getCameraState()
. ( Ia86b4 ) - Added experimental API
CameraInfo#getCameraSelector()
which returns a CameraSelector unique to its camera ( I77f9f )
رفع اشکال
- Fixed the issue that ListenableFuture returned in setZoomRatio and setLinearZoom cannot complete on some android 11 devices ( I716d7 )
- Speed up Camera switching and reduce the error happen rate of the camera device ( I34c99 )
- Replaced ExperimentalUseCaseGroupLifecycle with ExperimentalUseCaseGroup. ( I3b2ef , b/159033688 )
نسخه 1.1.0-alpha04
21 آوریل 2021
androidx.camera:camera-camera2:1.1.0-alpha04
, androidx.camera:camera-core:1.1.0-alpha04
, and androidx.camera:camera-lifecycle:1.1.0-alpha04
are released. نسخه 1.1.0-alpha04 حاوی این commit ها است.
رفع اشکال
- Fixed a memory leak caused by multiple threads concurrently accessing the same collection. The memory leak may cause the Activity or Fragment to be retained by a Preview instance. ( I7b4b8 )
- Replaced annotation
@Experimental
with@RequiresOptIn
to experimental APIs. For calling experimental APIs, useandroidx.annotation.OptIn
instead of deprecatedandroidx.annotation.experimental.UseExperimental
. ( Iff226 ) - Fixed ImageCapture with flash On/Auto takes washed out images on Samsung Galaxy S7. ( I30001 )
- Added a CameraState API that will be exposed through CameraInfo. ( I75392 )
نسخه 1.1.0-alpha03
24 مارس 2021
androidx.camera:camera-camera2:1.1.0-alpha03
, androidx.camera:camera-core:1.1.0-alpha03
, and androidx.camera:camera-lifecycle:1.1.0-alpha03
are released. نسخه 1.1.0-alpha03 حاوی این commit ها است.
رفع اشکال
- Output JPEG format for
ImageCapture#OnImageCapturedCallback
when Extensions modes is enabled. ( I0d7b1 ) - Fixed initialization failure on UMIDIGI BISON devices ( I57d9e , b/180818665 )
- Fixed Samsung A3 stretched preview in PreviewView. ( Iacb30 , b/180121821 )
نسخه 1.1.0-alpha02
24 فوریه 2021
androidx.camera:camera-camera2:1.1.0-alpha02
, androidx.camera:camera-core:1.1.0-alpha02
, and androidx.camera:camera-lifecycle:1.1.0-alpha02
are released. نسخه 1.1.0-alpha02 حاوی این commit ها است.
تغییرات API
- Added an API
ProcessCameraProvider.getAvailableCameraInfos()
to directly retrieve information about the available cameras, which are either all of the device's cameras, or those selected by theCameraSelector
provided inCameraXConfig.Builder.setAvailableCamerasLimiter(CameraSelector)
. ( Ieac08 )
رفع اشکال
- CameraX now tries to force open a camera on the initial attempt, this may result in CameraX stealing the camera away from other camera clients when its app has a higher priority. ( Iab069 , b/175820568 )
- Fixed the Robolectric test failure when setAvailableCamerasLimiter is used in CameraXConfig. ( Ice307 )
- This change catches the exception when the image queue is maxed out in ImageAnalysis. So instead of crashing, you may notice other use cases being frozen or sluggish. eg frozen/sluggish preview. ( Ic12da , b/175851631 )
- Fixed ExtensionsErrorListener to report errors when only Preview or ImageCapture is bound. ( I5ae39 )
- Fixed ImageCapture performance regression by removing the validation of image saved location before taking a picture. After making this change, if the save destination is invalid, it will take longer to get the failure response because it will try to save the image after the photo is taken. ( I1fd4e , b/177061560 )
- Fixed ImageCapture performance regression with "File" type OutputFileOptions. ( I5164a , b/177061560 )
- Documentation updated to recommend against using
ProcessCameraProvider.configureInstance(...)
from library code. ( Ib8a9f )
نسخه 1.1.0-alpha01
27 ژانویه 2021
androidx.camera:camera-camera2:1.1.0-alpha01
, androidx.camera:camera-core:1.1.0-alpha01
, and androidx.camera:camera-lifecycle:1.1.0-alpha01
are released. نسخه 1.1.0-alpha01 حاوی این commit ها است.
رفع اشکال
- Workaround included for intermittent corrupt image data in JPEGs on SM-G930T back-facing camera. ( I52001 , b/159831206 )
- Fixed
IllegalArgumentException
issue that happened when all preview supported sizes are smaller than 640x480 and display size is larger than 640x480. ( I2a63c , b/150506192 ) - Resources in libraries with no explicitly declared public resources (ex. via public.xml) are now private by default. ( Ia1dcc , b/170882230 )
Camera-Camera2, Camera-Core, & Camera-Lifecycle Version 1.0.2
نسخه 1.0.2
29 سپتامبر 2021
androidx.camera:camera-camera2:1.0.2
, androidx.camera:camera-core:1.0.2
, and androidx.camera:camera-lifecycle:1.0.2
are released. Version 1.0.2 contains these commits.
رفع اشکال
- Fix the issue where the captured photos are blurred in
MAXIMIZE_QUALITY
mode. ( I173a9 , b/193823892 ) - Fixed a issue that captured image with flash is dark on many devices. ( I4e510 )
Camera-Camera2, Camera-Core, & Camera-Lifecycle Version 1.0.1
نسخه 1.0.1
21 جولای 2021
androidx.camera:camera-camera2:1.0.1
, androidx.camera:camera-core:1.0.1
, and androidx.camera:camera-lifecycle:1.0.1
are released. نسخه 1.0.1 حاوی این commit ها است.
رفع اشکال
Fixed the issue that the
ListenableFuture
returned insetZoomRatio
andsetLinearZoom
cannot complete on some android 11 devices ( I716d7 )Fixed the issue that the camera gets stuck at closing camera state on some devices and causes black preview. ( I34c99 )
Camera-Camera2, Camera-Core, & Camera-Lifecycle Version 1.0.0
نسخه 1.0.0
5 مه 2021
androidx.camera:camera-camera2:1.0.0
, androidx.camera:camera-core:1.0.0
, and androidx.camera:camera-lifecycle:1.0.0
are released. نسخه 1.0.0 حاوی این commit ها است.
ویژگی های اصلی 1.0.0
- CameraX supports Preview , ImageCapture , and Analysis
- CameraX manages the camera lifecycle within an easy to use API
- CameraX aims to provide a compatibility layer that fixes many issues in the Android Camera Ecosystem
مسائل شناخته شده
- See Known Issue list
Version 1.0.0-rc05
21 آوریل 2021
androidx.camera:camera-camera2:1.0.0-rc05
, androidx.camera:camera-core:1.0.0-rc05
, and androidx.camera:camera-lifecycle:1.0.0-rc05
are released. Version 1.0.0-rc05 contains these commits.
رفع اشکال
- Fixed ImageCapture with flash On/Auto takes washed out images on Samsung Galaxy S7. ( I30001 )
Version 1.0.0-rc04
24 مارس 2021
androidx.camera:camera-camera2:1.0.0-rc04
, androidx.camera:camera-core:1.0.0-rc04
, and androidx.camera:camera-lifecycle:1.0.0-rc04
are released. Version 1.0.0-rc04 contains these commits.
رفع اشکال
- Fixed initialization failure on UMIDIGI BISON devices ( I57d9e , b/180818665 )
Version 1.0.0-rc03
24 فوریه 2021
androidx.camera:camera-camera2:1.0.0-rc03
, androidx.camera:camera-core:1.0.0-rc03
, and androidx.camera:camera-lifecycle:1.0.0-rc03
are released. Version 1.0.0-rc03 contains these commits.
رفع اشکال
- Fix format error in the document of
ProcessCameraProvider#getInstance
- Fixed the Robolectric test failure when setAvailableCamerasLimiter is used in CameraXConfig.
- Fixed ImageCapture performance regression by removing the validation of image saved location before taking a picture. After making this change, if the save destination is invalid, it will take longer to get the failure response because it will try to save the image after the photo is taken
- This change catches the exception when the image queue is maxed out in ImageAnalysis. So instead of crash, you may notice other use cases being frozen or sluggish. eg frozen/sluggish preview.
- Workaround included for intermittent corrupt image data in JPEGs on SM-G930T back-facing camera. ( I52001 , b/159831206 )
- This change catches the exception when the image queue is maxed out in ImageAnalysis. So instead of crashing, you may notice other use cases being frozen or sluggish. eg frozen/sluggish preview. ( Ic12da , b/175851631 )
- Fixed the Robolectric test failure when setAvailableCamerasLimiter is used in CameraXConfig. ( Ice307 )
- Fixed ImageCapture performance regression by removing the validation of image saved location before taking a picture. After making this change, if the save destination is invalid, it will take longer to get the failure response because it will try to save the image after the photo is taken. ( I1fd4e , b/177061560 )
- Fixed ImageCapture performance regression with "File" type OutputFileOptions. ( I5164a , b/177061560 )
Version 1.0.0-rc02
27 ژانویه 2021
androidx.camera:camera-camera2:1.0.0-rc02
, androidx.camera:camera-core:1.0.0-rc02
, and androidx.camera:camera-lifecycle:1.0.0-rc02
are released. Version 1.0.0-rc02 contains these commits.
رفع اشکال
- Fixed IllegalArgumentException issue happened when all preview supported sizes are smaller than 640x480 and display size is larger than 640x480. ( b/150506192 )
Limit number of camera reopen attempts. While attempting to recover from certains issues when opening the camera, CameraX will no longer attempt to reopen the camera indefinitely, instead it will stop after retrying for 10 seconds. I435d2
Fixed
IllegalArgumentException
issue that happened when all preview supported sizes are smaller than 640x480 and display size is larger than 640x480. ( I2a63c , b/150506192 )
نسخه 1.0.0-rc01
16 دسامبر 2020
androidx.camera:camera-camera2:1.0.0-rc01
, androidx.camera:camera-core:1.0.0-rc01
, and androidx.camera:camera-lifecycle:1.0.0-rc01
are released. نسخه 1.0.0-rc01 حاوی این commit ها است.
تغییرات API
- Changed CameraFilter and Camera2Filter to take in CameraInfo. ( I6883d )
- Added experimental class Camera2CameraControl to allow interoperating with Camera2 APIs dynamically. ( I45cf3 )
- Renamed Camera2CameraInfo#fromCameraInfo to #from. ( Ia2bd6 )
- Added an experimental setAvailableCamerasLimiter API to CameraXConfig to allow apps to optimize the initialization latency by avoiding initializing unused cameras. ( I6cf88 )
- Added experimental method
CameraXConfig.Builder#setMinimumLoggingLevel()
to allow setting a minimum logging level for CameraX logs. When not set, it defaults toLog#DEBUG
. ( Ic3245 )
رفع اشکال
- Workaround included for intermittent corrupt image data in JPEGs on SM-G930V back-facing camera. ( I5aca5 , b/159831206 )
- Fixed the issue that taking pictures doesn't receive results when flash is always/on and the environment is dark on Samsung SM-A716 devices. ( If98b2 , b/172036589 )
- Fixed the issue that the Preview cannot be stopped by calling
Preview.setSurfaceProvider(null)
. ( I3ac18 ) - Fixed orientation issue when capturing 4:3 images on some devices. ( I0e3fb , b/171492111 )
Camera Camera2, Core, & Lifecycle Version 1.0.0-beta12
11 نوامبر 2020
androidx.camera:camera-camera2:1.0.0-beta12
, androidx.camera:camera-core:1.0.0-beta12
, and androidx.camera:camera-lifecycle:1.0.0-beta12
are released. Version 1.0.0-beta12 contains these commits.
رفع اشکال
- Disabled auto flash on Samsung A3 devices to fix the crash when taking a photo with auto flash AE mode on Samsung A3 devices. ( Ia5fe3 , b/157535165 )
- Fixed an issue where the preview was stretched on Nexus 4 devices running Android L (API levels 21 and 22). ( I4d407 , b/158749159 )
-
OnImageCapturedCallback#onCaptureSuccess
base class implementation no longer closes the image. This is for preventing unexpected behavior to developers. Developers should not rely on super.onCaptureSuccess to close the image. ( Ifbf9c ) - The androidx variant of the Experimental annotation has been deprecated to provide parity with Kotlin. It has been replaced by the RequiresOptIn annotation, and the Java-facing linter has been updated to support both the new Kotlin annotation and the new androidx variant. ( I52495 , b/151331381 )
Camera-Camera2 Version 1.0.0-beta11
14 اکتبر 2020
androidx.camera:camera-camera2:1.0.0-beta11
is released. Version 1.0.0-beta11 contains these commits.
ویژگی های جدید
- Supports android 11
CONTROL_ZOOM_RATIO
API for zoom on android 11 or later devices which contains validCONTROL_ZOOM_RATIO_RANGE
. ( I62cc6 )
رفع اشکال
- Fixed the NumberFormatException issue happened when the camera Id is a non-integer camera Id. ( Ib2228 )
- Improved the latency of CameraX initialization and bindToLifecycle ( I61dc5 )
- Creation of UseCases do not require initialization of CameraX to complete. 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()
will returnSurface.ROTATION_0
if called before being attached to a Camera instance unless a targetRotation has been set on the Builder or UseCase. ( I80fcd )
Camera-Core Version 1.0.0-beta11
14 اکتبر 2020
androidx.camera:camera-core:1.0.0-beta11
is released. Version 1.0.0-beta11 contains these commits.
New Features - Supports android 11 CONTROL_ZOOM_RATIO
API for zoom on android 11 or later devices which contains valid CONTROL_ZOOM_RATIO_RANGE
. ( I62cc6 )
رفع اشکال
- Fixed the NumberFormatException issue happened when the camera Id is a non-integer camera Id. ( Ib2228 )
- Creation of UseCases do not require initialization of CameraX to complete. 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()
will returnSurface.ROTATION_0
if called before being attached to a Camera instance unless a targetRotation has been set on the Builder or UseCase. ( I80fcd )
Camera-Core Version 1.0.0-beta10
23 سپتامبر 2020
androidx.camera:camera-core:1.0.0-beta10
is released. Version 1.0.0-beta10 contains these commits.
رفع اشکال
- Fix bug in validating file save destination for image capture ( I8c565 , b/167697553 )
Camera-Camera2 Version 1.0.0-beta10
23 سپتامبر 2020
androidx.camera:camera-camera2:1.0.0-beta10
is released. Version 1.0.0-beta10 contains these commits.
رفع اشکال
- Release to support Camera-Core 1.0.0-beta10
Camera-Camera2 Version 1.0.0-beta09
16 سپتامبر 2020
androidx.camera:camera-camera2:1.0.0-beta09
is released. Version 1.0.0-beta09 contains these commits.
تغییرات API
- Instead of providing static methods, Camera2CameraInfo takes in a CameraInfo instance when created to retrieve Camera2 related information from. ( I5b844 )
رفع اشکال
- Fixed target aspect ratio issue on tablet devices. A 16:9 size should be selected when the target aspect ratio is set as
AspectRatio.RATIO_16_9
. ( Ib7fcf , b/151969438 ) - Throw an
InitializationException
to make the app be able to gracefully handle the AssertionError happened when creating CameraCharacteristics. ( I89c8c , b/160524721 ) - Added experimental interfaces for ExposureCompensation ( If96c7 )
Camera-Core Version 1.0.0-beta09
16 سپتامبر 2020
androidx.camera:camera-core:1.0.0-beta09
is released. Version 1.0.0-beta09 contains these commits.
تغییرات API
- fixed the bug where viewport is marked as non-null on UseCaseGroup. Developers should be able to create a viewport without setting a viewport. ( Ie3d2e )
- Added experimental interfaces for
ExposureCompensation
( If96c7 ) - Allow arbitrary target rotation for Preview. The transformation info is calculated and returned to user on-the-fly via a new
TranformationInfoListener
callback. ( I21470 )
رفع اشکال
- Fixed the issue that flash on some devices would not turn off. It happens when the flash mode is set to
FLASH_MODE_ON
to take a picture, and is changed toFLASH_MODE_OFF
when the flash is fired. The symptom is like torch mode enabled. ( Ib4451 , b/162568128 ) - Forced PreviewView to use TextureView if extension effect is enabled and the vendor library implementation needs to do a special process on the output surface. ( I0c3cc )
- Fixed the activity/fragment leak when an activity/fragment context is passed to
ProcessCameraProvider.getInstance(Context)
.
مسائل شناخته شده
- When ViewPort is set, the crop rect of ImageCapture might be incorrect on devices who rotate the image buffer in HAL. This will be fixed in the next release.
Camera-Camera2 Version 1.0.0-beta08
19 آگوست 2020
androidx.camera:camera-camera2:1.0.0-beta08
is released. Version 1.0.0-beta08 contains these commits.
رفع اشکال
- Optimized bindToLifecycle to run quickly on the main thread. ( I1d57e )
- DisplayOrientedMeteringPointFactory takes in a CameraInfo instance instead of a CameraSelector so there is a direct mapping to which Camera the factory will be generating points for. All classes which use DisplayOrientedMeteringPointFactory also take in a CameraInfo instance instead of CameraSelector. ( I400c1 )
- Fixed auto-resolution aspect ratio size grouping issue that a 16:9 mod16 size (864x480) is selected when the target resolution setting is 2016x1080 and there is another 1920x1080 16:9 size supported. ( I53167 , b/159363774 )
- Fix the CameraControl issue where it's unable to work by a race condition ( I2279f , b/152333890 , b/160714166 )
Camera-Core Version 1.0.0-beta08
19 آگوست 2020
androidx.camera:camera-core:1.0.0-beta08
is released. Version 1.0.0-beta08 contains these commits.
تغییرات API
-
DisplayOrientedMeteringPointFactory
takes in aCameraInfo
instance instead of aCameraSelector
so there is a direct mapping to which Camera the factory will be generating points for. All classes which useDisplayOrientedMeteringPointFactory
also take in aCameraInfo
instance instead ofCameraSelector
. ( I400c1 )
رفع اشکال
- For image capture, overwrite the flip horizontal flag in metadata based on camera direction. ( I28499 )
- Initialization should no longer crash when using a Context that does not return an Application object from
Context.getApplicationContext()
. ( I3d3c9 , b/160817073 )
Camera-Camera2 Version 1.0.0-beta07
22 جولای 2020
androidx.camera:camera-camera2:1.0.0-beta07
is released. Version 1.0.0-beta07 contains these commits.
رفع اشکال
- Fixed the issue that the preview is stretched on android 5.0 legacy device. ( I0c03a )
- Excluded some JPEG supported sizes that will cause WYSIWYG issue on some devices. ( Ib5128 )
Camera-Core Version 1.0.0-beta07
22 جولای 2020
androidx.camera:camera-core:1.0.0-beta07
is released. Version 1.0.0-beta07 contains these commits.
تغییرات API
- Merge
FIT_CENTER
,FIT_START
, andFIT_END
fit style withFIT
.FIT
means that the returned crop rect will be the max possible sensor rect. ( Ia73c3 ) - Preview's crop rect is configured by viewport. Only the area covered by the crop rect should be visible to end users. ( I142a4 )
رفع اشکال
- Fixed the issue that the preview is stretched on android 5.0 legacy device. ( I0c03a )
- Fixed the
ConcurrentModificationException
exception issue when unbinding use cases. ( I371c0 )
Camera-Camera2 Version 1.0.0-beta06
24 ژوئن 2020
androidx.camera:camera-camera2:1.0.0-beta06
is released. Version 1.0.0-beta06 contains these commits.
تغییرات API
- Added experimental interfaces for filtering cameras by camera ID and CameraCharacteristics. ( I28f61 )
رفع اشکال
- Fixed the issue where startFocusAndMetering fails to focus successfully on Samsung Galaxy S7. ( If3be7 , b/159039233 )
- Fix the camera can't be closed after quit the app. ( I7a7b3 )
- Fix repeated camera switching breaks preview when using SurfaceView implementation of PreviewView ( I920ce )
-
CameraControl#startFocusAndMetering
will fail if none of the specified MeteringPoint can generate valid metering rectangles. ( Id53ce )
Camera-Core Version 1.0.0-beta06
24 ژوئن 2020
androidx.camera:camera-core:1.0.0-beta06
is released. Version 1.0.0-beta06 contains these commits.
تغییرات API
- Added experimental interfaces for filtering cameras by camera ID and CameraCharacteristics. ( I28f61 )
رفع اشکال
- CameraX can now be configured with
ProcessCameraProvider#configureInstance()
before callingProcessCameraProvider#getInstance()
. This allows for customization of theCameraXConfig
without requiring implementingCameraXConfig.Provider
in the app's Application class. ( Ia1a8d ) -
CameraControl#startFocusAndMetering
will fail if none of the specified MeteringPoint can generate valid metering rectangles. ( Id53ce )
Camera-Camera2 Version 1.0.0-beta05
10 ژوئن 2020
androidx.camera:camera-camera2:1.0.0-beta05
is released. Version 1.0.0-beta05 contains these commits.
رفع اشکال
- Fix the crash on app startup when initialising CameraX while phone is in Do Not Disturb mode. An
InitializationException
contains aCameraUnavailableException
that will be set to theListenableFuture
of the intialization result instead of crashing the application. ( I9909a , b/149413835 ) - Fixed the crash when calling
startFocusAndMetering
on devices thatCONTROL_AF_STATE
is null. ( Ife55e , b/157084254 )
Camera-Core Version 1.0.0-beta05
10 ژوئن 2020
androidx.camera:camera-core:1.0.0-beta05
is released. Version 1.0.0-beta05 contains these commits.
تغییرات API
- Fix the crash on app startup when initialising CameraX while phone is in Do Not Disturb mode. An
InitializationException
contains aCameraUnavailableException
will be set to theListenableFuture
of the intialization result instead of crashing the application. ( I9909a , b/149413835 )
رفع اشکال
- Updated javadocs of
setTargetResolution
andsetTargetRotation
. ( Iae16f )
Camera-Camera2 Version 1.0.0-beta04
27 مه 2020
androidx.camera:camera-camera2:1.0.0-beta04
is released. Version 1.0.0-beta04 contains these commits.
رفع اشکال
- Allowed applications to set any camera2 capture request parameters via
Camera2Interop
without causing a crash. Please note that if there are issues that arise as a result of overriding parameters. Stability and behaviour are not guaranteed when overriding parameters using Camera2Interop. ( Ibe5a1 , b/149103700 ) - Auto-initialization is fixed when using an app on a device that is using a pseudo-locale. ( I3bef3 , b/154767663 )
- Converted error log related to detached use case to a debug log on Camera2CameraImpl. ( I1a565 , b/154422490 )
- Fixed issue where image taken is too dark sometimes even though flash is fired. ( I5d9fa , b/149729613 )
- Fix bug where buffer in
ImageProxy
fromImageCapture
was not rewound ( I0c455 , b/153249512 ) - Fixed the issues where binding ImageCapture only: (1) Failed to take photos with MAX_QUALITY; (2) Generated bad Image quality because auto exposure does not work. ( I17782 , b/145326998 )
- Improved reliability of re-opening camera when CameraX is disconnected by another process or codepath stealing the camera ( I1fbc3 , b/153714651 )
Camera-Core Version 1.0.0-beta04
27 مه 2020
androidx.camera:camera-core:1.0.0-beta04
is released. Version 1.0.0-beta04 contains these commits.
تغییرات API
- Adds an experimental API,
CameraXConfig.Builder#setSchedulerHandler()
for setting the handler used internally by the CameraX camera stack. This new API along withCameraXConfig.Builder#setCameraExecutor()
should allow full control over the threads being used by the CameraX camera stack. ( I7bf32 , b/121160431 )
رفع اشکال
- Fixes crash in
ImageAnalysis
where theImageProxy
is accessed after theImageReaderProxy
has been closed. This also makes it so that allImageProxy
received by theAnalyzer
must be closed before theImageReaderProxy
will be closed. ( I4b299 , b/145956416 , b/154155377 , b/156357269 ) - Removed the
CameraInfo
parameter fromPreviewView#createSurfaceProvider()
,PreviewView
now internally retrieves it from theSurfaceRequest
. ( If18f0 , b/154652477 ) - Auto-initialization is fixed when using an app on a device that is using a pseudo-locale. ( I3bef3 , b/154767663 )
- Fixed issue where image taken is too dark sometimes even though flash is fired. ( I5d9fa , b/149729613 )
- Fix issue with
ImageAnalysis
where multiple calls to setAnalyzer/clearAnalyzer resulted in the analyzer not receiving images to analyze. ( I6169f , b/151605317 , b/153514544 ) - Fix bug where buffer in
ImageProxy
fromImageCapture
was not rewound ( I0c455 , b/153249512 ) - Fixed the issue that the first camera in the supported list from
CameraManager
is not always selected to use. ( I4c624 , b/153418028 ) - Fixed intermittent crash caused by setting
Preview.SurfaceProvider
not releasing the previously requested surface.“java.lang.IllegalStateException: Camera surface session should only fail with request cancellation”
( I8e4e7 , b/155936225 )
Camera-Camera2 Version 1.0.0-beta03
15 آوریل 2020
androidx.camera:camera-camera2:1.0.0-beta03
is released. Version 1.0.0-beta03 contains these commits.
رفع اشکال
- Fixes to support the release of
camera-core
Camera-Core Version 1.0.0-beta03
15 آوریل 2020
androidx.camera:camera-core:1.0.0-beta03
is released. Version 1.0.0-beta03 contains these commits.
رفع اشکال
- Fixed regression from beta03 where calling
bindToLifecycle()
with zeroUseCase
s would cause a thrown exception. This prevented retrieval of aCamera
without binding aUseCase
.
Camera-Camera2 Version 1.0.0-beta02
1 آوریل 2020
androidx.camera:camera-camera2:1.0.0-beta02
is released. Version 1.0.0-beta02 contains these commits.
رفع اشکال
- Fixed the
ImageInfo.getRotationDegrees()
from theImageProxy
produced byImageCapture
so that it matches the EXIF orientation rotational value. ( Id4281 , b/150802561 ) - Explicit ordering of CameraX dependencies within
build.gradle
is no longer required to use the default CameraX/Camera2 implementation. For cases where declaring strict dependencies is required, all CameraX dependencies can now be included in the build file. ( I46e88 ) - Fixed the
IllegalArgumentException
issue happening on the devices where the display size is smaller than 640x480. ( Ife3f2 , b/150506192 ) - Fixed
bindToLifecycle
so that it only modifies the UseCase if it successfully binds. Previously when callingbindToLifecycle
in order to do resolution calculations the UseCase is updated. Now it no longer needs to update the UseCase to do the calculations ( I78d9e )
Camera-Core Version 1.0.0-beta02
1 آوریل 2020
androidx.camera:camera-core:1.0.0-beta02
is released. Version 1.0.0-beta02 contains these commits.
رفع اشکال
- Fixed the
ImageInfo.getRotationDegrees()
from theImageProxy
produced byImageCapture
so that it matches the EXIF orientation rotational value. ( Id4281 , b/150802561 ) - Fixed
bindToLifecycle
so that it only modifies the UseCase if it successfully binds. Previously when callingbindToLifecycle
in order to do resolution calculations the UseCase is updated. Now it no longer needs to update the UseCase to do the calculations ( I78d9e ) - Fixed an issue where the
Preview
use case's capture session wasn't being updated when the preview surface changed after callingPreview.setSurfaceProvider()
more than once.
Camera-Camera2 Version 1.0.0-beta01
26 فوریه 2020
androidx.camera:camera-camera2:1.0.0-beta01
is released. نسخه 1.0.0-beta01 حاوی این تعهدات است.
رفع اشکال
- Renamed
SurfaceRequest.setSurface(Surface)
toSurfaceRequest.provideSurface(Surface)
, andSurfaceRequest.setWillNotComplete()
toSurfaceRequest.willNotProvideSurface()
. ( I224fe ) - Fixed an issue with the aspect ratio of a saved image not being correct after changing the target rotation value using
ImageCapture.setTargetRotation()
. ( I474ea , b/148763432 ) - Fixed initialization of app variants with ProGuard enabled by preserving the flag that sets the default
CameraXConfig
provider. ( I2d6c1 )
Camera-Core Version 1.0.0-beta01
26 فوریه 2020
androidx.camera:camera-core:1.0.0-beta01
is released. نسخه 1.0.0-beta01 حاوی این تعهدات است.
تغییرات API
- Replaced the
ListenableFuture
onSurfaceRequest.provideSurface()
with anExecutor
andCallback
. This simplifies the API by no longer requiring handling of exceptions onprovideSurface()
and enforces that theprovideSurface()
callback cannot be cancelled. This is to prevent crashes on older devices caused by prematurely releasing surfaces. TheSurfaceRequest.Result
object is now used for tracking how aSurfaceRequest
uses the providedSurface
. ( I7854b ) - Renamed
SurfaceRequest.setSurface(Surface)
toSurfaceRequest.provideSurface(Surface)
andSurfaceRequest.setWillNotComplete()
toSurfaceRequest.willNotProvideSurface()
. ( I224fe )
رفع اشکال
- Fixed an issue with the aspect ratio of a saved image not being correct after changing the target rotation value using
ImageCapture.setTargetRotation()
. ( I474ea , b/148763432 ) - Fixed initialization of app variants with ProGuard enabled by preserving the flag that sets the default
CameraXConfig
provider. ( I2d6c1 ) - Updated documentation for flash mode APIs to include possible values. ( I4a3ec )
Camera-Camera2 Version 1.0.0-alpha10
10 فوریه 2020
androidx.camera:camera-camera2:1.0.0-alpha10
is released. نسخه 1.0.0-alpha10 حاوی این تعهدات است .
رفع اشکال
- Improved stability on
INFO_SUPPORTED_HARDWARE_LEVEL_LEGACY
devices by ensuringSurface
s are only retained for duration of use by Camera2. ( I9dac2 ) - Fixed underexposed preview issue on LEGACY devices by adjusting
CONTROL_AE_TARGET_FPS_RANGE
properly. ( 1224638 )
Camera-Core Version 1.0.0-alpha10
10 فوریه 2020
androidx.camera:camera-core:1.0.0-alpha10
is released. نسخه 1.0.0-alpha10 حاوی این تعهدات است .
تغییرات API
- Updated
ImageCapture
to allow saving images toUri
andOutputStream
. Combined overloadedtakePicture
methods into one. Updated test app to useUri
as the canonical example. ( Ia3bec ) -
Preview.PreviewSurfaceProvider
has been renamed toPreview.SurfaceProvider
.SurfaceProvider
s no longer require developers to create their ownListenableFuture
, and providing aSurface
is now done through a newSurfaceRequest
object. ThePreview.getPreviewSurfaceProvider()
method has been removed due to its potential for misuse whenPreview
is paired with other classes such asPreviewView
. ( I20105 ) - Added
getTargetRotation()
andgetTargetName()
toPreview
. ( Iceee7 ) - Added
getTargetRotation()
,getBackpressureStrategy()
, andgetImageQueueDepth()
inImageAnalysis
. ( I9d6d9 ) - Added
getTargetRotation()
andgetCaptureMode()
inImageCapture()
( I5bc17 ) - The arguments that were previously passed in
ImageCapture.OnImageSavedCallback.onError()
andImageCapture.OnImageCapturedCallback.onError()
have now been replaced by a single argumentImageCaptureException
, which still contains all the information that was previously passed. - The file argument previously passed in
ImageCapture.OnImageSavedCallback.onImageSaved()
has been removed. ( I750d2 ) -
Preview
andImageCapture
classes are now marked final. ( I2500b ) - API updated, with
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
, andgetLinearZoom()
methods ofCameraInfo
merging intogetZoomState()
which returns aZoomState
instance. ( Ib19fe ) - Removed API fields
OPTION_TARGET_CLASS
andOPTION_TARGET_NAME
fromCameraXConfig
as they are intended for internal library use only. Removed constructor forCameraXConfig.Builder
. ( I96912 ) - Removed requirement that app must extend
Application
in order to initialize CameraX. CameraX will now be initialized with a default Camera2 configuration as long as thecamera-camera2
artifact is included in the application'sbuild.gradle
. ( I58ff5 ) ( b/146923574 )
Camera-Camera2 Version 1.0.0-alpha09
January 22, 2020
androidx.camera:camera-camera2:1.0.0-alpha09
is released. نسخه 1.0.0-alpha09 حاوی این تعهدات است .
API تغییر می کند
Add camera2 interop path for extracting a Camera2 camera ID. You can extract the camera ID from
CameraInfo
usingCamera2CameraInfo.extractCameraId()
. The following code sample shows how to use this:Camera camera = provider.bindToLifecycle(...); String cameraId = Camera2CameraInfo.extractCameraId(camera.getCameraInfo());
The
Camera2CameraInfo
class requires theExperimentalCamera2Interop
markerClass.
Camera-Core Version 1.0.0-alpha09
January 22, 2020
androidx.camera:camera-core:1.0.0-alpha09
is released. نسخه 1.0.0-alpha09 حاوی این تعهدات است .
API تغییر می کند
- The
SurfaceOrientedMeteringPointFactory
parameteruseCaseForSurface
was renamed touseCaseForAspectRatio
and the reference documentation was expanded. -
FocusMeteringAction.Builder.from()
methods are replaced by the constructorsFocusMeteringAction.Builder()
. - Removed
DisplayOrientedMeteringPointFactory(android.content.Context, androidx.camera.core.CameraSelector, float, float)
. Applications should use the constructor that takes aDisplay
parameter and pass in the current display. - Javadoc improvements for focus and metering APIs regarding
MeteringMode
and 3A Flags, and usage ofDisplay
parameter. - Expanded the reference documentation for
setZoomRatio
andsetLinearZoom
.
رفع اشکال
- Fixed issues when closing then opening cameras resulting in "Precondition" check failure.
- Fixed a
ConcurrentModificationException
that could occur when using torch and zoom APIs. - Fixed issue to now select resolutions closer to requested resolution when a mod16 dimensions size is available.
-
startFocusMetering
andcancelFocusMetering
APIs now behave as documented, with correct timing and potentially returning errors when they occur. - Fixed issue when a specific target resolution was requested with a crop aspect ratio on a device that doesn't support such sizes. Now, a non-cropped size of sufficient resolution to bound the original request will be selected when available.
Camera-Camera2 Version 1.0.0-alpha08
18 دسامبر 2019
androidx.camera:camera-camera2:1.0.0-alpha08
is released. نسخه 1.0.0-alpha08 حاوی این تعهدات است .
مسائل شناخته شده
- Not all Camera2 capture request options work when using the Camera2 interop. If the requested option is not supported, the session fails to start and an error like this may occur:
09-09 14:04:13.643 10117 26020 26036 E AndroidRuntime: java.lang.IllegalArgumentException: Unsupported session configuration combination
رفع اشکال
- Fixed an issue in which a preview black screen occurred after rotating or switching the camera for API Levels 21 and 22.
تغییرات API
- Experimental : Added a camera2 interop path for extracting the Camera ID.
Camera-Core Version 1.0.0-alpha08
18 دسامبر 2019
androidx.camera:camera-core:1.0.0-alpha08
is released. نسخه 1.0.0-alpha08 حاوی این تعهدات است .
مسائل شناخته شده
- Apps using the
PreviewView
orCameraView
may have the wrong aspect ratio preview. This happens after pause or resume on some FULL devices, such as the Pixel2.
رفع اشکال
- Updated the documentation for
FocusMeteringAction
andCameraControl
. - Implemented
TorchControl
forenableTorch()
andgetTorchState()
.
تغییرات API
- Hid IntDefs and moved IntDef constants outside of the IntDef definition.
- Moved
rotationDegrees
from classOnImageCaptureCallback
toImageInfo
. - Moved
rotationDegrees
from classAnalyzer
toImageInfo
.
Camera-Camera2 Version 1.0.0-alpha07
4 دسامبر 2019
androidx.camera:camera-camera2:1.0.0-alpha07
is released. Version 1.0.0-alpha07 of camera-camera2 contains these commits
-
Camera2Config
is now available for use with initializing and configuring a Camera2-based implementation for CameraX. More details on how to use this in initialization are in the camera-core section of the release notes. - The camera2 interop functionally is now marked as experimental and moved to a separate package,
androidx.camera.camera2.interop.
Camera-Core Version 1.0.0-alpha07
4 دسامبر 2019
androidx.camera:camera-core:1.0.0-alpha07
is released. Version 1.0.0-alpha07 of camera-core contains these commits
Note that there are some substantial changes in this Alpha release as we prepare for Beta. We recommend you review the changes and share any feedback you may have on the CameraX Google group . For those developers using CameraX in apps that are on the Play store, we recommend waiting for the formal Beta release before upgrading the library within your applications.
API تغییر می کند
Important : CameraX initialization has changed. Applications should implement
CameraXConfig.Provider
, and use the defaultCamera2Config
provided byandroidx.camera.camera2
. A typical usage is:import androidx.camera.camera2.Camera2Config import androidx.camera.core.CameraXConfig public class MyCameraXApplication : Application(), CameraXConfig.Provider { override fun getCameraXConfig(): CameraXConfig { return Camera2Config.defaultConfig(this) } }
The CameraX class has been removed. The
bindToLifecycle()
,unbind()
,unbindAll()
,isBound()
, andhasCamera()
previously provided by the CameraX class call are now available via theProcessCameraProvider
.A per-process instance of
ProcessCameraProvider
is obtained asynchronously using the static methodProcessCameraProvider.getInstance()
, which returns a listenable future, which provides theProcessCameraProvider
on completion. Here it is shown inonCreate()
for a typical usage. You can place calls togetInstance()
later in the activity's lifecycle to defer initialization latency to a later time (such as when a user action opens a camera UI).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); }
A listener can be added to the
ListenableFuture
returned bygetInstance()
. This ensures the camera provider can be retrieved from theFuture
without blocking onFuture.get()
cameraProviderFuture.addListener(Runnable { val cameraProvider = cameraProviderFuture.get() cameraProvider.bindToLifecycle(...) }, ContextCompat.getMainExecutor(this))
Camera selection is now done by a camera selector, instead of per-use case
val cameraSelector = CameraSelector.Builder().requireLensFacing(LensFacing.BACK).build()
CameraProvider.bindToLifecycle
is given the lifecycle owner, the camera selector, and use cases, which are then bound to the given lifecycle owner and run for the selected camera.cameraProvider.bindToLifecycle(this as LifecycleOwner, cameraSelector, preview, imageAnalysis)
Use case “Config” classes are removed. Instead, build use cases directly, setting options on each use case builder. به عنوان مثال:
preview = Preview.Builder().setTargetAspectRatio(AspectRatio.RATIO_16_9).build()
The Preview use case has been updated to accept a surface created and managed by the application to ensure Android best practices. It is highly recommended to use the
PreviewView
view class provided in the camera-view package.preview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
See documentation for attaching an app-managed surface. In these cases the app manages the lifecycle of the surface.
Important : The
ImageAnalysis
Analyzer method implementation must callimage.close()
on received images when finished using them. Otherwise, new images may not be received or the camera may stall, depending on back pressure setting. Refer to the reference docs for details.ImageAnalysis ImageReaderMode
is now changed to a backpressure strategyintdef
.ImageProxy.getImage()
is marked as experimental. Applications should annotate usage for example via@androidx.camera.core.ExperimentalGetImage
The
UIThread
annotation requirement for theAnalyzer
has been removed.The
ImageAnalysis.clearAnalyzer()
function is added for removing an analyzer.Listeners with more than 1 method have been renamed to Callback:
-
ImageCapture.OnImageCapturedListener
is nowImageCapture.OnImageCapturedCallback
-
ImageCapture.OnImageSavedListener
is nowImageCapture.OnImageSavedCallback
-
VideoCapture.OnVideoSavedListener
is nowVideoCapture.OnVideoSavedCallback
-
Enums have changed to IntDef
Zoom controls have been added:
-
CameraControl.setLinearZoom()
-
CameraControl.setZoomRatio()
-
CameraInfo.getLinearZoom()
-
CameraInfo.getMaxZoomRatio()
-
CameraInfo.getZoomRatio()
-
CameraInfo.hasFlashUnit()
is added to determine if flash/torch hardware is present.CameraInfo.isFlashAvailable()
has been removed. Torch overrides flash functionality. More detail is included in the reference documentation .ImageCapture.Metadata
fields are replaced by get/set/is accessors.startFocusMetering
andcancelFocusMetering
now returnListenableFutures
which represent the asynchronous operation of the call.MeteringPoints
are now functioning as handles to metering actions, and are produced by factories. Apps should use the existing factories rather than custom factories.
مسائل رفع شد
- Fixed issue when taking a picture on resuming (after a previous pause had take pictures pending completion).
- Known Issue:
CameraControl.enableTorch()
is functional but the returnedListenableFuture<Void>
is always an immediatecomplete(success)
future, even if there is no flash unit. Future versions will fix this to the final behavior: When there is no flash unit,enableTorch(true)
fails immediately (won't send request toCaptureSession
), andTorchState
remain Off. - Known Issue:
startFocusAndMetering
andcancelFocusAndMetering
start and cancel focus metering, but return an immediatelycompleted (success)
future not representing the documented behavior. TheFocusMeteringResult
fromListenableFuture<FocusMeteringResult> CameraControl.startFocusAndMetering()
is a fake result whichisFocusSuccessful()
and is always "false," differing from intended, documented behavior. - Known Issue: A metering point factory for use with
PreviewView
touch events is being developed. For now, apps connecting custom managed surfaces can use the existing metering point factories, and otherwise no touch focus functionality is available forPreviewView
.
Camera-Camera2 and Camera-Core Version 1.0.0-alpha06
9 اکتبر 2019
androidx.camera:camera-camera2:1.0.0-alpha06
and androidx.camera:camera-core:1.0.0-alpha06
are released. These are the commits included in camera-camera2:1.0.0-alpha06
and these are the commits included in camera-core:1.0.0-alpha06
.
ویژگی های جدید
Changes to setting aspect ratios:
-
setTargetAspectRatioMode()
was added and accepts an enum argument. This sets the Aspect Ratio Mode with optionsRATIO_4_3
orRATIO_16_9
instead of an arbitrary aspect ratio. This closer reflects the fact that only certain aspect ratios are provided from the camera, rather than any arbitrary ratio.- Currently, the only available ratios are 16:9 and 4:3. In the case of 1:1, only certain devices have this available from the camera, and then only at limited resolutions. Applications designing a 1:1 interface or processing should use the more flexible 16:9 or 4:3 choices and crop the display or process a subregion.
- These aspect ratios are oriented to use the maximum sensor area.
-
getTargetAspectRatio()
was added to use case config APIs, returning the aspect ratio the use case output is targeted for. - The method
setTargetAspectRatio(Rational aspectRatio)
has been changed for ImageCapture tosetTargetAspectRatioCustom(Rational aspectRatio)
. When set, the ImageCapture output crops accordingly.
Executor APIs
- The following functions accept an executor parameter, which allows the app to control which executor the function runs on.
-
Preview.setOnPreviewOutputUpdateListener()
API. If the executor is not present for that function, it executes on the main thread. -
Preview.setOnPreviewOutputUpdateListener
-
FocusMeteringAction.Builder.setAutoFocusCallback
-
ImageAnalysis.setAnalyzer
-
ImageCapture.takePicture
-
CameraView.takePicture
-
CameraView.startRecording
-
VideoCapture.startRecording
-
CameraInfo added with check Flash Available and Sensor Rotation APIs
Added
CameraInfo
and agetCameraInfo
method, which allows apps to check if a lens facing CameraInfo is available and if a flash is available on that camera. به عنوان مثال: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()
was added. It provides the camera sensor orientation relative to the device's natural orientation, or for convenience, relative to an orientation described by a Surface rotation (which describes an orientation relative to natural orientation).
API changes and bug fixes
- Aspect Ratios: For each use case, applications should call only one of
setTargetResolution()
orsetTargetAspectRatio()
. Calling both on the same builder returns an error.- In general it's recommended to use
setTargetAspectRatio()
based on the application's UI design. Specific resolutions are based on the use case. For example, preview is near screen resolutions and image capture provides high resolution stills. See the automatic resolutions table for more information. - Use
setTargetResolution()
for more specific cases, such as when minimum (to save computation) or maximum resolutions (for processing details) are required.
- In general it's recommended to use
- Executor API: Removed the
setCallbackHandler()
call from use case configuration APIs. Instead, applications can set the executor as a parameter in various other APIs that set a callback. - Updated null annotations for various functions.
- Fixed an issue that caused
java.lang.IllegalStateException at Camera$StateCallback.onError
to be thrown when opening the camera. - Fixed issue where resolutions would be selected that were too small (less than 640x480) when app is requesting larger or default resolutions resulting in a blocky or blurry preview image. Applications that specifically need smaller resolutions can explicitly request them.
- Fixed an issue where the camera would show black screen (failed to start the camera) after returning from an intent that launched another camera application.
- Fixed a bug that threw the following error when apps are repeatedly started or stopped;
java.lang.IllegalArgumentException: CaptureRequest contains unconfigured Input/Output Surface!
- Fixed the following error that occurs when disabling ImageAnalysis:
java.lang.IllegalStateException: maxImages (4) has already been acquired, call #close before acquiring more.
- Added additional tests for camera disconnect flow.
- Improved test system robustness when running back-to-back camera tests.
Camera-Camera2 and Camera-Core Version 1.0.0-alpha05
5 سپتامبر 2019
androidx.camera:camera-camera2:1.0.0-alpha05
and androidx.camera:camera-core:1.0.0-alpha05
are released. These are the commits included in camera-camera2:1.0.0-alpha05 and these are the commits included camera-core:1.0.0-alpha05 .
API Change: Renamed use case error variables:
-
ImageCapture.UseCaseError
is renamedImageCapture.ImageCaptureError
-
VideoCapture.UseCaseError
is renamedVideoCapture.VideoCaptureError
-
Added
CameraControl
API w/Tap-to-Focus APIsAdded API to get a
CameraControl
from CameraX for a camera, selected by lens facing:CameraX.getCameraControl(LensFacing lensFacing)
Added
MeteringPointFactory
,MeteringPoint
,MeteringMode
, andFocusMeteringAction
to run Tap-to-Focus: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();
Added API for
CameraControl
to start and cancel focus metering:getCameraControl(lensFacing).startFocusAndMetering(action);
getCameraControl(lensFacing).cancelFocusAndMetering();
Added APIs for Metering Point Factories that assist translating tap coordinates to sensor coordinates, based on view classes:
MeteringPointFactory factory = new TextureViewMeteringPointFactory(textureView);
MeteringPointFactory factory = new DisplayOrientedMeteringPointFactory(context, lensFacing, viewWidth, viewHeight);
Enforce calling the following methods on the Main (UI) thread, throwing an
IllegalStateException
when they are not. Future versions will allow usage on other threads and ensure serialization.-
CameraX.bindToLifecycle()
-
CameraX.unbind()
-
CameraX.unbindAll()
-
ImageAnalysis.setAnalyzer()
-
ImageAnalysis.getAnalyzer()
-
ImageAnalysis.removeAnalyzer()
-
Preview.removePreviewOutputListener()
-
Preview.getOnPreviewOutputUpdateListener()
-
Preview.setOnPreviewOutputUpdateListener()
-
Various config settings now accept null parameters and corresponding getters may return null.
Fixed issue when testing on emulators that do not support AF/AE/AWB settings.
Fixed crash bug on rotation while analyzing image.
Fixed bug where preview appears black on start (no camera data), after rotation or switching between front and back cameras.
Removed testing for multiple concurrent image analysis use cases. To ensure compatibility, applications should only attach a single image analysis use case.
Added initial robolectric tests for fake camera in camera-testing suite (WIP).
Camera2Inititalizer test removed, as its coverage was unclear/misleading.
Camera-Camera2 and Camera-Core Version 1.0.0-alpha04
7 آگوست 2019
androidx.camera:camera-camera2:1.0.0-alpha04
and androidx.camera:camera-core:1.0.0-alpha04
are released. Version 1.0.0-alpha04 contains these commits .
ویژگی های جدید
Changes to Aspect Ratio and Resolution selection
CameraX's goal is to successfully initialize a camera session. This means CameraX compromises on resolution/aspect ratios based on device capability, in order to start a capture session as its first goal, and so exact requests may not be honored. این ممکن است به دلیل:
- Devices not supporting the requested resolution
- Compatibility issues such as on LEGACY devices where certain resolutions must be used to operate correctly
- On some devices, certain formats are only available at certain aspect ratios
- A preference for a “nearest mod16” for JPEG or video encoding. See
CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
Although CameraX creates and manages the session, you should always check the returned image sizes on the use case output in your code and adjust accordingly.
Some changes have been made for setting resolutions and aspect ratios, intended to make the API more clear:
- Preview use case is now considered to have a default 4:3 aspect ratio when none is set.
- When CameraX internally considers changes to requested resolutions and aspect ratios based on device capability, it first tries to maintain the same aspect ratio (as determined by any of
setTargetAspectRatio
orsetTargetResolution
calls) - A “Nearest mod16” version of the resolution is considered as the same aspect ratio.
ImageAnalysis Non-Blocking Mode
- The behaviour of
ImageReaderMode.ACQUIRE_LATEST_IMAGE
is now non-blocking. It acquires the latest image in the queue, but discards unused images continuously to allow the camera pipeline to avoid blocking. - The analyzer can hold a single image indefinitely without stalling the pipeline.
- If the application provides an executor which then blocks, the ImageAnalysis use case blocks.
- The default executor set internally behaves as a non-blocking executor.
رفع اشکال
- Fixed timeout issues waiting for 3A convergence when capturing images on devices with no auto-focus, auto exposure, and auto-whitebalance
- Fixed issue when rapidly taking pictures with ImageCapture. Fixes error:
java.lang.IllegalStateException: maxImages (2) has already been acquired
- Fixed issue when
setLensFacing
was not called for a use case, resulting injava.lang.IllegalArgumentException: Unable to get camera ID for use case
. - Fixed issue where LEGACY device required specific aspect ratio as maximum JPEG resolution
- Fixed issue when backgrounding the app while camera is opening
- Fixed issue on API < 25, removing error
checkAndUpdateEglState: invalid current EGLDisplay
- Fixed issue when unbinding preview after enabling and starting extensions
- Build artifacts for camera-view and camera-extensions are now published as alpha versions
Camera-Camera2 and Camera-Core Version 1.0.0-alpha03
2 جولای 2019
androidx.camera:camera-core:1.0.0-alpha03
and androidx.camera:camera-camera2:1.0.0-alpha03
are released. Version 1.0.0-alpha03 contains these commits .
تغییرات API
- Added javadoc clarification for “target” in setTarget configuration calls
Camera-Core
- Fixed unconfigured Input/Output Surface crash on rapid open/close or bind/unbind
- Move to new Futures implementations
- Test fixes for more robust testing
- Core integration test now shows capture time for photos
- Developed internal compat class for Executors
- Timing test app capture images waits for previous to complete & improved stability
برنامه های افزودنی
- Added versioning checks
- Additional test coverage - extension event callbacks
- Improvements for internally corresponding image and meta-data
- Fixes to mode switching in test app
Camera-Camera2 and Camera-Core Version 1.0.0-alpha02
5 ژوئن 2019
androidx.camera:camera-core:1.0.0-alpha02
and androidx.camera:camera-camera2:1.0.0-alpha02
are released. Version 1.0.0-alpha02 contains these commits .
رفع اشکال
- Fixed div by zero issue when using emulator
- Fixed NullPointerException/Surface Abandoned error occurring on some devices when quickly taking photos while unbinding and rebinding use cases rapidly.
- Fixed internal issue to ensure capture request updates affect all surfaces consistently
- Stability improvements when restarting use cases in new app instances
- Internal architecture changes to prepare for supporting executors in the API
- Additional Javadoc clarifications on CameraX class and lifecycle management
- Added instrumented testing for Antelope performance test app
- Remove need for '-keepattributes Signature' in app Proguard config
Camera-Camera2 and Camera-Core 1.0.0-alpha01
7 مه 2019
androidx.camera:camera-core:1.0.0-alpha01
and androidx.camera:camera-camera2:1.0.0-alpha01
are released. Version 1.0.0-alpha01 contains these commits .
Camera-Lifecycle Version 1.0.0-beta11
14 اکتبر 2020
androidx.camera:camera-lifecycle:1.0.0-beta11
is released. Version 1.0.0-beta11 contains these commits.
رفع اشکال
-
<UseCase>.getTargetRotation()
will returnSurface.ROTATION_0
if called before being attached to a Camera instance unless a targetRotation has been set on the Builder or UseCase. ( I80fcd )
Camera-Lifecycle Version 1.0.0-beta10
23 سپتامبر 2020
androidx.camera:camera-lifecycle:1.0.0-beta10
is released. Version 1.0.0-beta10 contains these commits.
رفع اشکال
- Release to support Camera-Core 1.0.0-beta10
Camera-Lifecycle Version 1.0.0-beta09
16 سپتامبر 2020
androidx.camera:camera-lifecycle:1.0.0-beta09
is released. Version 1.0.0-beta09 contains these commits.
Camera-Lifecycle Version 1.0.0-beta08
19 آگوست 2020
androidx.camera:camera-lifecycle:1.0.0-beta08
is released. Version 1.0.0-beta08 contains these commits.
رفع اشکال
- Initialization should no longer crash when using a Context that does not return an Application object from
Context.getApplicationContext()
. ( I3d3c9 , b/160817073 )
Camera-Lifecycle Version 1.0.0-beta07
22 جولای 2020
androidx.camera:camera-lifecycle:1.0.0-beta07
is released. Version 1.0.0-beta07 contains these commits.
Camera-Lifecycle Version 1.0.0-beta06
24 ژوئن 2020
androidx.camera:camera-lifecycle:1.0.0-beta06
is released. Version 1.0.0-beta06 contains these commits.
تغییرات API
- CameraX can now be configured with ProcessCameraProvider#configureInstance() before calling ProcessCameraProvider#getInstance(). This allows for customization of the CameraXConfig without requiring implementing CameraXConfig.Provider in the app's Application class. ( Ia1a8d )
Camera-Lifecycle Version 1.0.0-beta05
10 ژوئن 2020
androidx.camera:camera-lifecycle:1.0.0-beta05
is released. Version 1.0.0-beta05 contains these commits.
رفع اشکال
- Fix the crash on app startup when initialising CameraX while phone is in Do Not Disturb mode. An
InitializationException
contains aCameraUnavailableException
will be set to theListenableFuture
of the intialization result instead of crashing the application. ( I9909a , b/149413835 )
Camera-Lifecycle Version 1.0.0-beta04
27 مه 2020
androidx.camera:camera-lifecycle:1.0.0-beta04
is released. Version 1.0.0-beta04 contains these commits.
Camera-Lifecycle Version 1.0.0-beta03
15 آوریل 2020
androidx.camera:camera-lifecycle:1.0.0-beta03
is released. Version 1.0.0-beta03 contains these commits.
رفع اشکال
- Fixed regression from beta03 where calling
bindToLifecycle()
with zeroUseCase
s would cause a thrown exception. This prevented retrieval of aCamera
without binding aUseCase
. - Fixes to support the release of
camera-core
Camera-Lifecycle Version 1.0.0-beta01
26 فوریه 2020
androidx.camera:camera-lifecycle:1.0.0-beta01
is released. نسخه 1.0.0-beta01 حاوی این تعهدات است.
رفع اشکال
- Fixed documentation to note that when obtaining a
ProcessCameraProvider
during initialization, a default configuration is used and that extendingApplication
is optional. ( I5e395 )
Camera-Lifecycle Version 1.0.0-beta02
1 آوریل 2020
androidx.camera:camera-lifecycle:1.0.0-beta02
is released. Version 1.0.0-beta02 contains these commits.
رفع اشکال
- Updated to support the bug fixes in the
camera-camera2:1.0.0-beta02
andcamera-core:1.0.0-beta02
artifacts.
Camera-Lifecycle Version 1.0.0-alpha10
10 فوریه 2020
androidx.camera:camera-lifecycle:1.0.0-alpha10
is released. نسخه 1.0.0-alpha10 حاوی این تعهدات است .
تغییرات API
- Added
@MainThread
annotation to BindToLifecycle, unbind and unbindAll methods. ( I990d2 )
Camera-Lifecycle Version 1.0.0-alpha03
January 22, 2020
androidx.camera:camera-lifecycle:1.0.0-alpha03
is released. Version 1.0.0-alpha03 contains these commits .
به روز رسانی ها
- Various fixes and updates to support Camera Core & Camera2 changes.
Camera-Lifecycle Version 1.0.0-alpha02
18 دسامبر 2019
androidx.camera:camera-lifecycle:1.0.0-alpha02
is released. Version 1.0.0-alpha02 contains these commits .
Dependency changes
- Updated to use
androidx.camera:camera-core:1.0.0-alpha08
.
Camera-Lifecycle Version 1.0.0-alpha01
4 دسامبر 2019
androidx.camera:camera-lifecycle:1.0.0-alpha01
is released. Version 1.0.0-alpha01 of camera-lifecycle contains these commits
یادداشت های API
- The camera-lifecycle artifact is added, providing
LifeCycleCameraProvider
interface, and an implementation calledProcessCameraProvider
which provides many of the functions of the previous CameraX class in core and is obtained via agetInstance()
method. - Apps should include the camera-lifecycle library to use CameraX.
- See notes in the camera-core section for how to perform initialization of CameraX using a
ProcessCameraProvider
.
Camera-Extensions and Camera-View Version 1.0.0
Version 1.0.0-alpha32
15 دسامبر 2021
androidx.camera:camera-extensions:1.0.0-alpha32
and androidx.camera:camera-view:1.0.0-alpha32
are released. Version 1.0.0-alpha32 contains these commits.
تغییرات API
- Removed unnecessary
@RequiresApi(21)
annotations from the inner classes/interfaces. ( I8e286 , b/204917951 ) - Update api files for camera-extensions artifact. ( If683a , b/161377155 )
رفع اشکال
- Disallow the app to enable extension modes when binding
VideoCapture
. CameraX Extensions only supportImageCapture
andPreview
. TheVideoCapture
can't be supported yet. If the app bindsVideoCapture
and enables any extension mode, anIllegalArgumentException
will be thrown. ( I0d87b ) -
CameraSelector#filter
no longer throws anIllegalArgumentException
when the result set is empty. ( I27804 ) - Renamed
ExtensionsManager#getInstance
API asgetInstanceAsync
because it returnsListenableFuture
. The Async suffix of the function name can clearly present that it is an async function. ( I279d2 ) - Remove resolution parameter from the
ExtensionsManager#getEstimatedCaptureLatencyRange
API since users can't know which sizes are supported for theImageCapture
use case and can't distinguish whether the returned latency information is for the maximum capture output size or the input resolution parameter. ( I74bb2 ) - Move
CameraProvider
parameter ofExtensionsManager
functions to thegetInstance()
API. So that the users don't need to input theCameraProvider
parameter each time when calling theExtensionsManager
functions. ( Ic7e48 )
Version 1.0.0-alpha31
November 17, 2021
androidx.camera:camera-extensions:1.0.0-alpha31
and androidx.camera:camera-view:1.0.0-alpha31
are released. Version 1.0.0-alpha31 contains these commits.
تغییرات API
- Added CameraSelector#filter to the public API to filter a list of CameraInfos based on a CameraSelector. ( I105d0 )
رفع اشکال
- Fixed a crash when switching extensions mode quickly on certain devices. ( Iebbef )
Version 1.0.0-alpha30
13 اکتبر 2021
androidx.camera:camera-extensions:1.0.0-alpha30
and androidx.camera:camera-view:1.0.0-alpha30
are released. Version 1.0.0-alpha30 contains these commits.
تغییرات API
- Added @RequiresApi(21) annotation to all CameraX classes and dropped minSdkVersion from AndroidManifest.xml. This will allow camera-core to be easily integrated into applications that have a minSdkVersion less than 21, but want to conditionally use code paths that rely on API 21 and higher. For any application with minSdkVersion 21 or higher, this change requires no action. ( Ie7f2e , b/200599470 )
رفع اشکال
- Fixed the AbstractMethodError issue which happens when proguard is enabled. ( Iae468 , b/201177844 )
Version 1.0.0-alpha29
29 سپتامبر 2021
androidx.camera:camera-extensions:1.0.0-alpha29
and androidx.camera:camera-view:1.0.0-alpha29
are released. Version 1.0.0-alpha29 contains these commits.
تغییرات API
- ExperimentalUseCaseGroup annotation is removed now that the APIs are no longer experimental. ( I01ef5 )
- remove
RotationProvider#removeAllListeners()
. Please useRotationProvider#removeListener(...)
instead. ( Id9d4a ) - Updated the RotationReceiver class: changed set/clear Listener to add/remove/removeAll, remove the setListener variation that uses the main thread by default and added annotation of methods. ( Ib1669 )
رفع اشکال
- Renamed ExtensionMode#BEAUTY to FACE_RETOUCH to correctly present what is done by the extension mode. ( I61f54 , b/198515274 )
- Fixed the issue that camera is closed unexpectedly when multiple CameraController and PreviewView are used in one Activity. ( Ibfd18 , b/197539358 )
Version 1.0.0-alpha28
18 آگوست 2021
androidx.camera:camera-extensions:1.0.0-alpha28
and androidx.camera:camera-view:1.0.0-alpha28
are released. Version 1.0.0-alpha28 contains these commits.
تغییرات API
- ExperimentalUseCaseGroupLifecycle annotation is removed now that the APIs are no longer experimental. ( I17b85 )
- refactored RotationListener and renamed it to RotationProvider. It continues to provide the same feature with slightly different API. ( 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 )
رفع اشکال
- Removed deprecated
<EffectName><UseCase>Extender
classes, ExtensionsErrorListener and related ExtensionsManager APIs. ( I3b8c3 )
Version 1.0.0-alpha27
21 جولای 2021
androidx.camera:camera-extensions:1.0.0-alpha27
and androidx.camera:camera-view:1.0.0-alpha27
are released. Version 1.0.0-alpha27 contains these commits.
تغییرات API
- Promoted the viewport API out of experimental. Remove the experimental annotation of the API. ( I717ea )
- Renamed
CoordinateTransform#getTransform
toCoordinateTransform#transform
and update JavaDoc ( I864ae )
رفع اشکال
- Fixed
PreviewView PERFORMANCE
mode stretch issue when using it together with Compose UI. ( Ie1137 , b/183864890 )
Version 1.0.0-alpha26
30 ژوئن 2021
androidx.camera:camera-extensions:1.0.0-alpha26
and androidx.camera:camera-view:1.0.0-alpha26
are released. Version 1.0.0-alpha26 contains these commits.
تغییرات API
- add a new method
CameraController#getTapToFocusState()
that exposes the latest tap-to-focus result. ( Iaccb0 ) - adding more camera-core features to CameraController: getters/setters for target aspect ratio, target resolution, capture mode, CameraControl and custom executors. ( Iea8f2 )
- add a RotationReceiver class that receives Surface rotation changes. This can be used to set the target rotation when the device is in fixed portrait/landscape mode. ( Ib278f )
- Exposed new getEstimatedCaptureLatencyRange public APIs in ExtensionsManager class. ( I6a8ec )
- Deprecated ExtensionsErrorListener. Currently, this interface is only used to monitor whether a Preview or ImageCapture is lacking when enabling extension modes. CameraX will automatically add an extra Preview or ImageCapture to make the extension functions work well. After that, no error will be reported via this interface. ( I47d9e )
- Exposed new ExtensionsManager getInstance, isExtensionAvailable and getExtensionEnabledCameraSelector public APIs and deprecated old
<EffectName><UseCase>Extender
classes and related APIs. ( I329e6 )
Version 1.0.0-alpha25
2 ژوئن 2021
androidx.camera:camera-extensions:1.0.0-alpha25
and androidx.camera:camera-view:1.0.0-alpha25
are released. Version 1.0.0-alpha25 contains these commits.
تغییرات API
- ExperimentalCameraFilter APIs are now out of experimental stage and become formal APIs. They can be used without annotated OptIn. ( I4bc94 )
- Add a utility that transforms coordinates between use cases. Example usage: transforming the coordinates detected in ImageAnalysis use case and highlight the detected object in preview. ( I63ab1 , b/137515129 )
- Removed
CameraView
.CameraView
has been replaced byCameraController
. Please see the migration guide for how to migrate.: ( Id5005 )
رفع اشکال
- Replaced
ExperimentalUseCaseGroupLifecycle
withExperimentalUseCaseGroup
. ( I3b2ef , b/159033688 )
Version 1.0.0-alpha24
21 آوریل 2021
androidx.camera:camera-extensions:1.0.0-alpha24
and androidx.camera:camera-view:1.0.0-alpha24
are released. Version 1.0.0-alpha24 contains these commits.
رفع اشکال
- Replaced annotation
@Experimental
with@RequiresOptIn
to experimental APIs. For calling experimental APIs, useandroidx.annotation.OptIn
instead of deprecatedandroidx.annotation.experimental.UseExperimental
. ( Iff226 ) - Fixed the PreviewView stretched issue on Samsung J5 Prime ( Ib10b6 )
Camera Extensions & View Version 1.0.0-alpha23
24 مارس 2021
androidx.camera:camera-extensions:1.0.0-alpha23
and androidx.camera:camera-view:1.0.0-alpha23
are released. Version 1.0.0-alpha23 contains these commits.
تغییرات API
- CameraView is being deprecated. Please use
LifecycleCameraController
instead. See the migration guide ( Idac2c ) - Added FloatRange annotation to setLinearZoom() ( I69971 )
رفع اشکال
- Pinned camera-view dependencies to rely on 1.0.0 artifacts. Depending on camera-view will not longer cause gradle's dependency resolution to automatically upgrade camera-core, camera-camera2 and camera-lifecycle to the latest 1.1.0 artifacts, though camera-view is still compatible with those artifacts if they are explicitly set to use 1.1.0. ( Ic8fa1 , b/181599852 )
- Fixed Samsung A3 stretched preview in PreviewView. ( Iacb30 , b/180121821 )
- Fixed the issue where if camera selector cannot be set before camera is initialized. ( Ic8bd0 )
Camera Extensions & View Version 1.0.0-alpha22
24 فوریه 2021
androidx.camera:camera-extensions:1.0.0-alpha22
and androidx.camera:camera-view:1.0.0-alpha22
are released. Version 1.0.0-alpha22 contains these commits.
تغییرات API
- add a CameraInfo getter to CameraController. ( Ib8138 , b/178251727 )
رفع اشکال
- Fixed ExtensionsErrorListener to report errors when only Preview or ImageCapture is bound. ( I5ae39 )
Camera Extensions & View Version 1.0.0-alpha21
27 ژانویه 2021
androidx.camera:camera-extensions:1.0.0-alpha21
and androidx.camera:camera-view:1.0.0-alpha21
are released. Version 1.0.0-alpha21 contains these commits.
Releasing to support other camera library artifacts.
Camera Extensions & View Version 1.0.0-alpha20
16 دسامبر 2020
androidx.camera:camera-extensions:1.0.0-alpha20
and androidx.camera:camera-view:1.0.0-alpha20
are released. Version 1.0.0-alpha20 contains these commits.
Releasing to support other camera library artifacts.
Camera-Extensions & Camera-View Version 1.0.0-alpha19
11 نوامبر 2020
androidx.camera:camera-extensions:1.0.0-alpha19
and androidx.camera:camera-view:1.0.0-alpha19
are released. Version 1.0.0-alpha19 contains these commits.
رفع اشکال
-
@ExperimentalVideo
annotation was introduced to camera-view. This annotation marks APIs which expose experimental video functionality which is subject to change as the features are fully developed. Any method using these APIs should use the@UseExperimental
annotation withExperimentalVideo
as themarkerClass
. ( I6d729 )
Camera-Extensions Version 1.0.0-alpha18
14 اکتبر 2020
androidx.camera:camera-extensions:1.0.0-alpha18
is released. Version 1.0.0-alpha18 contains these commits.
رفع اشکال
- Improved the latency of CameraX initialization and bindToLifecycle ( I61dc5 )
-
<UseCase>.getTargetRotation()
will returnSurface.ROTATION_0
if called before being attached to a Camera instance unless a targetRotation has been set on the Builder or UseCase. ( I80fcd )
Camera-View Version 1.0.0-alpha18
14 اکتبر 2020
androidx.camera:camera-view:1.0.0-alpha18
is released. Version 1.0.0-alpha18 contains these commits.
Releasing to support other camera library artifacts.
Camera-Extensions Version 1.0.0-alpha17
23 سپتامبر 2020
androidx.camera:camera-extensions:1.0.0-alpha17
is released. Version 1.0.0-alpha17 contains these commits.
رفع اشکال
- Release to support Camera-Core 1.0.0-beta10
Camera-View Version 1.0.0-alpha17
23 سپتامبر 2020
androidx.camera:camera-view:1.0.0-alpha17
is released. Version 1.0.0-alpha17 contains these commits.
رفع اشکال
- Release to support Camera-Core 1.0.0-beta10
Camera-Extensions Version 1.0.0-alpha16
16 سپتامبر 2020
androidx.camera:camera-extensions:1.0.0-alpha16
is released. Version 1.0.0-alpha16 contains these commits.
رفع اشکال
- Added method in
ExtensionsManager
to get anExtensions
object which is used to enable and query extensions on Camera instances ( I4fb7e )
Camera-View Version 1.0.0-alpha16
16 سپتامبر 2020
androidx.camera:camera-view:1.0.0-alpha16
is released. Version 1.0.0-alpha16 contains these commits.
تغییرات API
- Removed
PreviewView#setDeviceRotationForRemoteDisplayMode()
andPreviewView#getDeviceRotationForRemoteDisplayMode()
. The two methods are for customizing preview rotation, when desired rotation is not display rotation, eg remote display. To handle the non-display preview rotation now, set the desired rotation withPreview#setTargetRotation()
and the newly addedPreviewView#getViewPort(targetRotation)
. ( Ib62cc ) - Renamed
createSurfaceProvider()
togetSurfaceProvider()
. The method will always return the same instance of Preview.SurfaceProvider. ( Iff83c )
رفع اشکال
- Forced PreviewView to use TextureView if extension effect is enabled and the vendor library implementation needs to do a special process on the output surface. ( I0c3cc )
- Allow arbitrary target rotation for Preview. The transformation info is calculated and returned to user on-the-fly via a new
TranformationInfoListener
callback. ( I21470 )
مسائل شناخته شده
- In PreviewView,
OnClickListener#onClick()
is not invoked when the end user clicks PreviewView. The touch event is mistakenly consumed by PreviewView#onTouchEvent(). The issue will be fixed in the next release. - The MeteringPoint obtained from
PreviewView#getMeteringPointFactory()
may be wrong if ViewPort is used with PreviewView.
Camera-Extensions Version 1.0.0-alpha15
19 آگوست 2020
androidx.camera:camera-extensions:1.0.0-alpha15
is released. Version 1.0.0-alpha15 contains these commits.
رفع اشکال
- The
ExtensionsManager.init()
method now takes in a Context as a parameter instead of having 0 args. ( Ife754 ) Initialization should no longer crash when using a Context that does not return an Application object from
Context.getApplicationContext()
. ( I3d3c9 , b/160817073 )Camera-View Version 1.0.0-alpha15
19 آگوست 2020
androidx.camera:camera-view:1.0.0-alpha15
is released. Version 1.0.0-alpha15 contains these commits.
رفع اشکال
-
DisplayOrientedMeteringPointFactory
takes in aCameraInfo
instance instead of aCameraSelector
so there is a direct mapping to which Camera the factory will be generating points for. All classes which useDisplayOrientedMeteringPointFactory
also take in aCameraInfo
instance instead ofCameraSelector
. ( I400c1 ) - Removed
TextureViewMeteringPointFactory
.PreviewView
provides a public API (createMeteringPointFactory()
) to create a metering point factory regardless of whether it's using aTextureView
orSurfaceView
. ( Ide693 ) - rename PreviewView's
SURFACE_VIEW
/TEXTURE_VIEW
implementation modes toPERFORMANCE
/COMPATIBLE
.PERFORMANCE
is the oldSURFACE_VIEW
mode, andCOMPATIBLE
is the oldTEXTURE_VIEW
mode. ( I0edc2 ) - For image capture, overwrite the flip horizontal flag in metadata based on camera direction. ( I28499 )
Camera-Extensions Version 1.0.0-alpha14
22 جولای 2020
androidx.camera:camera-extensions:1.0.0-alpha14
is released. Version 1.0.0-alpha14 contains these commits.
Camera-View Version 1.0.0-alpha14
22 جولای 2020
androidx.camera:camera-view:1.0.0-alpha14
is released. Version 1.0.0-alpha14 contains these commits.
Camera-Extensions Version 1.0.0-alpha13
24 ژوئن 2020
androidx.camera:camera-extensions:1.0.0-alpha13
is released. Version 1.0.0-alpha13 contains these commits.
رفع اشکال
- Added experimental interfaces for filtering cameras by camera ID and CameraCharacteristics. ( I28f61 )
Camera-View Version 1.0.0-alpha13
24 ژوئن 2020
androidx.camera:camera-view:1.0.0-alpha13
is released. Version 1.0.0-alpha13 contains these commits.
رفع اشکال
- CameraView no longer crashes with an IllegalArgumentException when binding to a LifecycleOwner whose Lifecycle transitions to a DESTROYED state shortly after being bound. Binding Lifecycles in a DESTROYED state will not attempt to open the camera. ( I7c2b8 )
- PreviewView StreamState is now available through CameraView.getPreviewStreamState() ( I21a2b )
Camera-Extensions Version 1.0.0-alpha12
10 ژوئن 2020
androidx.camera:camera-extensions:1.0.0-alpha12
is released. نسخه 1.0.0-alpha12 حاوی این commit ها است.
رفع اشکال
- Fix the crash on app startup when initialising CameraX while phone is in Do Not Disturb mode. An
InitializationException
contains aCameraUnavailableException
will be set to theListenableFuture
of the intialization result instead of crashing the application. ( I9909a , b/149413835 )
Camera-View Version 1.0.0-alpha12
10 ژوئن 2020
androidx.camera:camera-view:1.0.0-alpha12
is released. نسخه 1.0.0-alpha12 حاوی این commit ها است.
رفع اشکال
- Add
PreviewView#getBitmap()
API which returns a Bitmap representation of the content displayed on the preview surface. ( I9b500 , b/157659818 )
Camera-Extensions Version 1.0.0-alpha11
27 مه 2020
androidx.camera:camera-extensions:1.0.0-alpha11
is released. نسخه 1.0.0-alpha11 حاوی این commit ها است.
Camera-View Version 1.0.0-alpha12
10 ژوئن 2020
androidx.camera:camera-view:1.0.0-alpha12
is released. نسخه 1.0.0-alpha12 حاوی این commit ها است.
ویژگی های جدید
تغییرات API
رفع اشکال
- Add
PreviewView#getBitmap()
API which returns a Bitmap representation of the content displayed on the preview surface. ( I9b500 , b/157659818 )
Camera-View Version 1.0.0-alpha11
27 مه 2020
androidx.camera:camera-view:1.0.0-alpha11
is released. نسخه 1.0.0-alpha11 حاوی این commit ها است.
تغییرات API
- Add
PreviewView#getPreviewStreamState
API which allows apps to observe if preview is streaming or not. When the PreviewView is in TEXTURE_VIEW mode, the STREAMING state also guarantees the preview image is visible. ( Ic0906 , b/154652477 ) - Added
PreviewView#setDeviceRotationForRemoteDisplayMode()
API to provide device rotation for transform calculations if the application is running in remote display mode. ( I59b95 , b/153514525 )
رفع اشکال
- Fixed the preview distortion issue on
FULL/LIMITED/LEVEL_3
cameras running android 7.0 and below. Forced useImplementationMode#TEXTURE_VIEW
mode when the android version is 7.0 or below. ( I83e30 , b/155085307 ) - Removed the
CameraInfo
parameter fromPreviewView#createSurfaceProvider()
,PreviewView
now internally retrieves it from theSurfaceRequest
. ( If18f0 , b/154652477 ) - Fixed the VideoCapture's default aspect ratio to be 16:9 in CameraView. ( Ie6a7b , b/153237864 )
- Fix
PreviewView
black screen issues when swiped outPreview
fragment and then swiped back in ViewPager2. Also fixed the issue whenremoveView(previewview)
and thenaddView(previewView)
. ( Iab555 , b/149877652 , b/147354615 ) - Update the
CameraView#takePicture()
API to allow saving images toUri
andOutputStream
. Update the test app to useUri
as the canonical example. ( Ia2459 , b/153607583 ) - You can set PreviewView's scale type from a XML layout by setting the
ScaleType
attribute. ( I08565 , b/153015659 ) -
CameraView.ScaleType
has been removed. Instead, usePreviewView.ScaleType
to set/get a scale type with CameraView. ( Ia8974 , b/153014831 ) - Give
PreviewView
a background color by default if it doesn't already have one. This prevents content behind it from being visible before the preview stream starts. ( I09fad )
Camera-Extensions Version 1.0.0-alpha10
15 آوریل 2020
androidx.camera:camera-extensions:1.0.0-alpha10
is released. نسخه 1.0.0-alpha10 حاوی این commit ها است.
رفع اشکال
- Fixes to support the release of Camera-Core
Camera-View Version 1.0.0-alpha10
15 آوریل 2020
androidx.camera:camera-view:1.0.0-alpha010
is released. Version 1.0.0-alpha010 contains these commits.
رفع اشکال
- Fixes a previous known issue where
PreviewView
's surfaceView implementation wasn't working well on certain devices, and would cause the app to crash after resuming preview. ( I5ed6b )
Camera-Extensions Version 1.0.0-alpha09
1 آوریل 2020
androidx.camera:camera-extensions:1.0.0-alpha09
is released. نسخه 1.0.0-alpha09 حاوی این commit ها است.
رفع اشکال
- Updated to support the bug fixes in the
camera-camera2:1.0.0-beta02
,camera-core:1.0.0-beta02
, andcamera-lifecycle:1.0.0-beta02
artifacts
Camera-View Version 1.0.0-alpha09
April 1, 2020 androidx.camera:camera-view:1.0.0-alpha09
is released. نسخه 1.0.0-alpha09 حاوی این commit ها است.
مسائل شناخته شده
- Using
ImplementationMode.SURFACE_VIEW
withPreviewView
may not work well on certain devices, this is because theSurfaceView
used for preview invalidates its surface when the lifecycle of the window it's in is stopped, when it restarts, the camera is reopened and may attempt to resume preview before theSurfaceView
's surface is valid again. For now, you should useImplementationMode.TEXTURE_VIEW
.
تغییرات API
- Renamed
PreviewView.setImplementationMode()
toPreviewView.setPreferredImplementationMode()
. - Renamed
PreviewView.getImplementationMode()
toPreviewView.getPreferredImplementationMode()
. - Replaced
PreviewView.getSurfaceProvider()
byPreviewView.createSurfaceProvider(CameraInfo)
, which takes a nullableCameraInfo
instance used to optimize preview by usingImplementationMode.SURFACE_VIEW
whenever possible. If a null instance is passed, or if you set the preferred implementation mode toImplementationMode.TEXTURE_VIEW
,ImplementationMode.TEXTURE_VIEW
is used internally. The following code sample shows how a preview use case used to previously be used with PreviewView.
preview.setSurfaceProvider(previewView.previewSurfaceProvider) cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview)
Right now, you can write the following:
val camera = cameraProvider.bindToLifecycle(lifecycleOwner, cameraSelector, preview) previewView.preferredImplementationMode = ImplementationMode.TEXTURE_VIEW preview.setSurfaceProvider(previewView.createSurfaceProvider(camera.cameraInfo))
The
@UiThread
annotation has been added toPreviewView.getSurfaceProvider()
, meaning it must be called from the main thread. ( I192f3 )Added
PreviewView.setScaleType()
which allows to set the scale type of the preview. It accepts one of the values inPreviewView.ScaleType
, and defaults toPreviewView.ScaleType.FILL_CENTER
.Added
PreviewView.getScaleType()
.Removed support for setting the implementation mode for
PreviewView
in a XML layout using theimplementationMode
attribute.Add
createMeteringPointFactory()
API to PreviewView to support converting (x, y) inPreviewView
toMeteringPoint
. ( Ib36d7 )
رفع اشکال
- Fixed cases where an incorrect preview is displayed after
PreviewView
's size changes. ( I71101 )
Camera-Extensions Version 1.0.0-alpha08
26 فوریه 2020
androidx.camera:camera-extensions:1.0.0-alpha08
is released. نسخه 1.0.0-alpha08 حاوی این commit ها است.
Camera-View Version 1.0.0-alpha08
26 فوریه 2020
androidx.camera:camera-view:1.0.0-alpha08
is released. نسخه 1.0.0-alpha08 حاوی این commit ها است.
رفع اشکال
- Replaced the
ListenableFuture
onSurfaceRequest.provideSurface()
with anExecutor
andCallback
. This simplifies the API by no longer requiring handling of exceptions onprovideSurface()
and enforces that theprovideSurface()
callback cannot be cancelled. This is to prevent crashes on older devices caused by prematurely releasing surfaces. TheSurfaceRequest.Result
object is now used for tracking how aSurfaceRequest
uses the providedSurface
. ( I7854b ) - Renamed
SurfaceRequest.setSurface(Surface)
toSurfaceRequest.provideSurface(Surface)
andSurfaceRequest.setWillNotComplete()
toSurfaceRequest.willNotProvideSurface()
. ( I224fe ) - Fixed initialization of app variants with ProGuard enabled by preserving the flag that sets the default
CameraXConfig
provider. ( I2d6c1 )
Camera-Extensions Version 1.0.0-alpha07
10 فوریه 2020
androidx.camera:camera-extensions:1.0.0-alpha07
is released. Version 1.0.0-alpha07 contains these commits .
رفع اشکال
- The arguments that were previously passed in
ImageCapture.OnImageSavedCallback.onError()
andImageCapture.OnImageCapturedCallback.onError()
have now been replaced by a single argumentImageCaptureException
, which still contains all the information that was previously passed. - The file argument previously passed in
ImageCapture.OnImageSavedCallback.onImageSaved()
has been removed. ( I750d2 )
Camera-View Version 1.0.0-alpha07
10 فوریه 2020
androidx.camera:camera-view:1.0.0-alpha07
is released. Version 1.0.0-alpha07 contains these commits .
تغییرات API
-
PreviewView
'sTextureView
implementation now sets theTextureView
's size to the camera sensor output size before scaling it to fill its parentPreviewView
. If you want the camera preview to fill an entire part of the UI (the whole screen for instance), you should not set thePreviewView
's size to a fixed value, or have it wrap its content (by using the attribute "wrap_content
" for example), this may result in the camera preview only filling part of thePreviewView
(if the camera sensor output size is smaller). Instead, you should set thePreviewView
as big as its parent (by using the attribute "match_parent
" for example). ( 1204869 )
رفع اشکال
- Updated
ImageCapture
to allow saving images toUri
andOutputStream
. Combined overloadedtakePicture
methods into one. Updated test app to useUri
as the canonical example. ( Ia3bec ) -
Preview.PreviewSurfaceProvider
has been renamed toPreview.SurfaceProvider
.SurfaceProvider
s no longer require developers to create their ownListenableFuture
, and providing aSurface
is now done through a newSurfaceRequest
object. ThePreview.getPreviewSurfaceProvider()
method has been removed due to its potential for misuse whenPreview
is paired with other classes such asPreviewView
. ( I20105 ) - The arguments that were previously passed in
ImageCapture.OnImageSavedCallback.onError()
andImageCapture.OnImageCapturedCallback.onError()
have now been replaced by a single argumentImageCaptureException
, which still contains all the information that was previously passed. - The file argument previously passed in
ImageCapture.OnImageSavedCallback.onImageSaved()
has been removed. ( I750d2 ) - API updated, with
getZoomRatio()
,getMaxZoomRatio()
,getMinZoomRatio()
, andgetLinearZoom()
methods ofCameraInfo
merging intogetZoomState()
which returns aZoomState
instance. ( Ib19fe )
Camera-Extensions Version 1.0.0-alpha06
January 22, 2020
androidx.camera:camera-extensions:1.0.0-alpha06
is released. Version 1.0.0-alpha06 contains these commits .
به روز رسانی ها
- Various fixes and updates to support Camera Core & Camera2 changes.
Camera-View Version 1.0.0-alpha06
January 22, 2020
androidx.camera:camera-view:1.0.0-alpha06
is released. Version 1.0.0-alpha06 contains these commits .
به روز رسانی ها
- Various fixes and updates to support Camera Core & Camera2 changes.
Camera-Extensions Version 1.0.0-alpha05
18 دسامبر 2019
androidx.camera:camera-extensions:1.0.0-alpha05
is released. Version 1.0.0-alpha05 contains these commits .
رفع اشکال
- Updated to match the internal Camera Core APIs.
Camera-View Version 1.0.0-alpha05
18 دسامبر 2019
androidx.camera:camera-view:1.0.0-alpha05
is released. Version 1.0.0-alpha05 contains these commits .
مسائل شناخته شده
- The aspect ratio may be incorrect when using PreviewView ( b/146215202 ).
ویژگی های جدید
- Implemented a new class called
PreviewView.TextureViewImplementation
that syncs the SurfaceTexture's lifecycle with the camera's usage of the TextureView's surface.
Camera-Extensions Version 1.0.0-alpha04
4 دسامبر 2019
androidx.camera:camera-extensions:1.0.0-alpha04
is released. Version 1.0.0-alpha04 of camera-extensions contains these commits
API تغییر می کند
Checking for the availability and enabling of an extension now takes in a
CameraSelector
as an input parameter. This needs to be the sameCameraSelector
that is used for binding the use case.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)
You must initialize extensions before using the extension library.
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 Version 1.0.0-alpha04
4 دسامبر 2019
androidx.camera:camera-view:1.0.0-alpha04
is released. Version 1.0.0-alpha04 of camera-view contains these commits
API تغییر می کند
- A
PreviewView
class is provided for easily displaying the output from the Preview use case in an application. PreviewView
can be included in the layout:<androidx.camera.view.PreviewView android:id="@+id/preview_view" … />
PreviewView
provides aPreviewSurfaceProvider
to easily connect a Preview use casepreview.setPreviewSurfaceProvider(previewView.previewSurfaceProvider)
“
ZoomLevel
” is now “ZoomRatio
” in API-namingSome method parameters have changed nullability
Camera-Extensions and Camera-View Version 1.0.0-alpha03
9 اکتبر 2019
androidx.camera:camera-extensions:1.0.0-alpha03
and androidx.camera:camera-view:1.0.0-alpha03
are released. These are the commits included in camera-extensions:1.0.0-alpha03
and these are the commits included in camera-view:1.0.0-alpha03
.
ویژگی های جدید
- Added Context initializer for extensions. Extensions version incremented to 1.1.0
Camera-Extensions and Camera-View Version 1.0.0-alpha02
5 سپتامبر 2019
androidx.camera:camera-extensions:1.0.0-alpha02
and androidx.camera:camera-view:1.0.0-alpha02
are released. These are the commits included in camera-extensions:1.0.0-alpha02 and these are the commits included camera-view:1.0.0-alpha02 .
- Added tests to verify
PreviewImageProcessorImpl
has correctly implemented timestamps. - Fix
ExtensionTest
test failure on Nexus 5 (API level 21) and ensure preview is available.
Camera-Extensions and Camera-View Version 1.0.0-alpha01
7 آگوست 2019
androidx.camera:camera-extensions:1.0.0-alpha01
and androidx.camera:camera-view:1.0.0-alpha01
are released. These are the commits included in camera-extensions:1.0.0-alpha01 and these are the commits included camera-view:1.0.0-alpha01
- New library for future Camera Extensions for accessing effects on supported devices. This library is a work in progress.
- New Camera View class. This library is a work in progress.