CameraX 1.2 থেকে শুরু করে, জিরো-শাটার ল্যাগ ক্যাপচার মোড হিসাবে উপলব্ধ। ডিফল্ট ক্যাপচার মোডের তুলনায় উল্লেখযোগ্যভাবে লেটেন্সি কমাতে জিরো-শাটার ল্যাগ সক্ষম করুন, যাতে আপনি কখনই শট মিস করবেন না।
জিরো-শাটার ল্যাগ সক্ষম করুন
জিরো-শাটার ল্যাগ সক্ষম করতে, ImageCapture.Builder.setCaptureMode()
এ CAPTURE_MODE_ZERO_SHOT_LAG
পাস করুন। যদি অসফল হয়, setCaptureMode()
CAPTURE_MODE_MINIMIZE_LATENCY
এ ফিরে আসে।
ক্যাপচার মোড সম্পর্কে আরও জানতে, চিত্র ক্যাপচার গাইড দেখুন।
এটা কিভাবে কাজ করে
জিরো-শাটার ল্যাগ একটি রিং বাফার ব্যবহার করে যা তিনটি সাম্প্রতিক ক্যাপচার ফ্রেম সংরক্ষণ করে। যখন একজন ব্যবহারকারী ক্যাপচার বোতাম টিপে, তখন CameraX takePicture()
আহ্বান করে, এবং রিং বাফার টাইমস্ট্যাম্প সহ ক্যাপচার করা ফ্রেমটি পুনরুদ্ধার করে যা বোতাম প্রেসের সবচেয়ে কাছাকাছি। CameraX তারপর সেই ফ্রেম থেকে একটি ছবি তৈরি করতে ক্যাপচার সেশনটিকে পুনরায় প্রক্রিয়া করে , যা JPEG ফরম্যাটে ডিস্কে সংরক্ষণ করে।
পূর্বশর্ত
আপনি জিরো-শাটার ল্যাগ সক্ষম করার আগে, আপনার ডিভাইস নিম্নলিখিত প্রয়োজনীয়তাগুলি পূরণ করে কিনা তা নির্ধারণ করতে isZslSupported()
ব্যবহার করুন:
- লক্ষ্য করে Android 6.0+ (API স্তর 23 এবং উচ্চতর)।
-
PRIVATE
রিপ্রসেসিং সমর্থন করে।
ন্যূনতম প্রয়োজনীয়তা পূরণ করে না এমন ডিভাইসগুলির জন্য, CameraX CAPTURE_MODE_MINIMIZE_LATENCY
এ ফিরে আসে।
জিরো-শাটার ল্যাগ শুধুমাত্র ইমেজ ক্যাপচারের জন্য উপলব্ধ। আপনি এটি ভিডিও ক্যাপচারের জন্য বা ক্যামেরা এক্সটেনশনগুলির সাথে সক্ষম করতে পারবেন না৷
পরিশেষে, যেহেতু ফ্ল্যাশ ব্যবহার করার ফলে অধিকতর বিলম্বিত হয়, ফ্ল্যাশ চালু বা অটো মোডে জিরো-শাটার ল্যাগ কাজ করে না। ফ্ল্যাশ মোড সেট করার বিষয়ে আরও তথ্যের জন্য, setFlashMode()
দেখুন।