Android 13 या इसके बाद के वर्शन वाले डिवाइसों के लिए, Android फ़्रेमवर्क में टॉर्च की रोशनी को कई लेवल पर कंट्रोल करने की सुविधा मिलती है. Android 12 और उससे पहले के वर्शन में, फ़्रेमवर्क सिर्फ़ टॉर्च मोड को चालू या बंद करने की अनुमति देता है. कई लेवल पर टॉर्च की क्षमता को कंट्रोल करने की सुविधा देकर, डिवाइस इस्तेमाल के उदाहरण चालू कर सकते हैं. जैसे, रोशनी के हिसाब से फ़्लैशलाइट की चमक को कंट्रोल करना और एक पंक्ति में रोशनी की तेज़ पल्स भेजकर, स्ट्रोब इफ़ेक्ट का इस्तेमाल करके मदद के लिए सिग्नल भेजना. इस सुविधा का एक और फ़ायदा यह है कि इससे बैटरी लाइफ़ और परफ़ॉर्मेंस बेहतर हो सकती है. ऐसा इसलिए, क्योंकि टॉर्च मोड को हमेशा ज़्यादा से ज़्यादा रोशनी में चालू करने की ज़रूरत नहीं होती. इससे डिवाइस के गर्म होने की समस्या हो सकती है.
पब्लिक एपीआई
ऐप्लिकेशन, टॉर्च की रोशनी को कंट्रोल करने की सुविधा का इस्तेमाल कर सकते हैं. इसके लिए, उन्हें यहां दिए गए सार्वजनिक एपीआई और कैमरे की विशेषताओं की कुंजियों का इस्तेमाल करना होगा. इन एपीआई के लिए, कैमरे की अनुमतियां देने की ज़रूरत नहीं होती, क्योंकि कैमरे को ऐक्सेस नहीं किया जाता.
CameraManager एपीआई
public void turnOnTorchWithStrengthLevel (String cameraId, int torchStrength)
: टॉर्च मोड में, दी गईcameraId
वैल्यू से जुड़े फ़्लैशलाइट की रोशनी का लेवल सेट करता है. अगर टॉर्च मोड बंद है और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
पक्का करें कि आपके एचएएल लागू करने की सुविधा, टॉर्च की रोशनी कंट्रोल करने की सुविधा के साथ काम करने के लिए, कैमरे की इन विशेषताओं के बटन दिखाती हो:
टॉर्च की रोशनी को कंट्रोल करने की सुविधा के साथ काम करने वाले कैमरा एचएएल के बारे में जानकारी पाने के लिए,
EmulatedCameraDeviceHWLImpl.cpp
देखें.
पुष्टि करें
टॉर्च की रोशनी को कंट्रोल करने की सुविधा को लागू करने की पुष्टि करने के लिए, ये VTS और CTS टेस्ट चलाएं:
- वीटीएस:
/camera/provider/aidl/vts/VtsAidlHalCameraProvider\_TargetTest.cpp
- सीटीएस:
/platform/cts/tests/camera/src/android/hardware/camera2/cts/FlashlightTest.java