टॉर्च की रोशनी कंट्रोल करना

Android 13 या इसके बाद के वर्शन वाले डिवाइसों के लिए, Android फ़्रेमवर्क टॉर्च की रोशनी को कई लेवल पर कंट्रोल करने की सुविधा देता है. Android 12 और इससे पहले के वर्शन में, फ़्रेमवर्क सिर्फ़ टॉर्च मोड को चालू या बंद करने की अनुमति देता है. टॉर्च की रोशनी को कई लेवल पर कंट्रोल करने की सुविधा देने से, डिवाइसों को कई तरह के फ़ायदे मिलते हैं. जैसे, रोशनी की स्थिति के हिसाब से फ़्लैशलाइट की चमक को कंट्रोल करना. इसके अलावा, स्ट्रोब इफ़ेक्ट का इस्तेमाल करके मदद के लिए सिग्नल भेजना. इसके लिए, एक के बाद एक तेज़ी से लाइट पल्स भेजी जाती हैं. इस सुविधा का एक और फ़ायदा यह है कि इससे बैटरी लाइफ़ और परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. ऐसा इसलिए, क्योंकि टॉर्च मोड को हमेशा ज़्यादा से ज़्यादा रोशनी पर चालू रखने की ज़रूरत नहीं होती. इससे थर्मल थ्रॉटलिंग की समस्या हो सकती है.

पब्लिक एपीआई

ऐप्लिकेशन, टॉर्च की रोशनी को कंट्रोल करने की सुविधा का इस्तेमाल इन सार्वजनिक एपीआई और कैमरे की विशेषताओं की कुंजियों के ज़रिए कर सकते हैं. इन एपीआई के लिए, कैमरे का ऐक्सेस ज़रूरी नहीं है, क्योंकि कैमरे का इस्तेमाल नहीं किया जाता.

CameraManager API

  • public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength): Sets the brightness level of the flashlight associated with the given cameraId value in torch mode. अगर टॉर्च मोड बंद है और torchStrength का मान 1 से ज़्यादा या इसके बराबर है, तो टॉर्च चालू हो जाती है. साथ ही, torchStrength में बताए गए लेवल के हिसाब से टॉर्च की रोशनी सेट हो जाती है.
  • public int getTorchStrengthLevel (String cameraId): इसकी मदद से, cameraId से जुड़ी फ़्लैश यूनिट की चमक का लेवल पता चलता है.

CameraCharacteristics कुंजियां

  • FLASH_INFO_STRENGTH_MAXIMUM_LEVEL: चमक का सबसे ज़्यादा लेवल. कैमरा HAL, 1 से ज़्यादा वैल्यू सेट करके इस सुविधा का विज्ञापन दिखाता है.
  • FLASH_INFO_STRENGTH_DEFAULT_LEVEL: फ़्लैशलाइट की रोशनी का डिफ़ॉल्ट लेवल.

लागू करना

अपने डिवाइस पर टॉर्च की रोशनी को कंट्रोल करने की सुविधा का इस्तेमाल करने के लिए, कैमरा एआईडीएल एचएएल के इन इंटरफ़ेस का इस्तेमाल करें:

जगह: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl

पक्का करें कि आपका HAL लागू करने वाला सॉफ़्टवेयर, टॉर्च की रोशनी को कंट्रोल करने की सुविधा के लिए, कैमरे की इन विशेषताओं के बारे में जानकारी देता हो:

टॉर्च की रोशनी को कंट्रोल करने की सुविधा देने वाले कैमरा एचएएल को लागू करने के बारे में जानने के लिए, EmulatedCameraDeviceHWLImpl.cpp देखें.

Validation

टॉर्च की रोशनी को कंट्रोल करने की सुविधा को लागू करने की पुष्टि करने के लिए, यहां दिए गए वीटीएस और सीटीएस टेस्ट चलाएं: