نمای کلی CameraX بخشی از Android Jetpack.
مهارتهای Android
مشاهده در GitHubCameraX
android skills add cameraxCameraX یک کتابخانه Jetpack است که برای کمک به آسانتر کردن توسعه برنامه دوربین ساخته شده است. برای برنامههای جدید، توصیه میکنیم با CameraX شروع کنید. این کتابخانه یک میانای برنامهسازی کاربردی (API) سازگار و آسان برای استفاده ارائه میدهد که در اکثر دستگاههای Android کار میکند و با Android 5.0 (سطح API 21) سازگاری با نسخه قدیمی دارد. اگر برنامهای را از Camera1 منتقل میکنید، راهنمای انتقال Camera1 به CameraX ما را ببینید.
مزایای اصلی
CameraX تجربه توسعهدهنده را از چند جهت کلیدی بهبود میبخشد.
سازگاری گسترده با دستگاهها
CameraX از دستگاههای دارای Android 5.0 (سطح میانای برنامهسازی کاربردی ۲۱) و بالاتر پشتیبانی میکند، که بیشاز ۹۸٪ دستگاههای Android موجود را تشکیل میدهند.
کاربری آسان
CameraX بر موارد استفاده تأکید میکند، که به شما امکان میدهد بهجای مدیریت تفاوتهای ظریف خاص دستگاه، بر وظیفهای که باید انجام دهید تمرکز کنید. رایجترین موارد استفاده از دوربین پشتیبانی میشود:
- پیشنمایش: تصویری را در نمایشگر مشاهده کنید.
- تحلیل تصویر: دسترسی یکپارچه به میانگیر برای استفاده در الگوریتمهایتان، مثلاً برای ارسال به ML Kit.
- ضبط تصویر: ذخیره کردن تصاویر.
- ضبط ویدیو: ویدیو و صدا را ذخیره کنید.
هماهنگی در همه دستگاهها
شکل ۲. آزمایشگاه آزمایشی CameraX خودکارشده تجربه میانای برنامهسازی کاربردی ثابتی را در انواع مختلف دستگاهها و سازندگان تضمین میکند.
حفظ رفتار ثابت دوربین دشوار است. باید نسبت ابعادی، جهت، چرخش، اندازه پیشنمایش، و اندازه تصویر را درنظر بگیرید. با CameraX، این رفتارهای پایه بهراحتی کار میکنند.
ما یک آزمایشگاه آزمایشی CameraX خودکار داریم که انواع رفتارهای دوربین را در طیفی از دستگاهها و همه نسخههای سیستمعامل از Android 5.0 آزمایش میکند. این آزمایشها بهطور مداوم اجرا میشوند تا طیف گستردهای از مشکلات را شناسایی و برطرف کنند.
افزونههای دوربین
شکل ۳. تصویری که بااستفاده از CameraX با جلوه بوکه (چهره) گرفته شده است.
CameraX دارای یک میانای برنامهسازی کاربردی اختیاری افزونهها است که به شما امکان میدهد با تنها دو خط کد به همان ویژگیها و قابلیتهای برنامه دوربین بومی دستگاه دسترسی داشته باشید.
افزونهها شامل بوکه (چهره)، دامنه پویای بالا (HDR)، حالت شب، و رتوش چهره است که همه آنها به پشتیبانی دستگاه نیاز دارند.
مطالعه موردی
برای دیدن اینکه CameraX چگونه توسعه را برای Monzo ساده کرده است، مطالعه موردی آنها را ببینید.
اسناد
- معماری CameraX
- گزینههای پیکربندی
- پیادهسازی پیشنمایش
- تحلیل تصویر
- ضبط تصویر
- ضبط ویدیو
- افزونههای دوربین
- تبدیل کردن خروجی
- استفاده از چرخشهای محفظه
- دستگاههای آزمایششده در آزمایشگاه
منابع بیشتر
برای کسب اطلاعات بیشتر درباره CameraX، به منابع اضافی زیر مراجعه کنید.
Codelab
نمونه کد