การควบคุมความแรงของไฟฉาย

สำหรับอุปกรณ์ที่ใช้ Android 13 ขึ้นไป เฟรมเวิร์ก Android จะมีการควบคุมระดับความสว่างของไฟฉายแบบหลายระดับ ใน Android 12 และต่ำกว่า เฟรมเวิร์กจะอนุญาตเฉพาะการเปิดหรือปิดโหมดไฟฉายเท่านั้น การที่รองรับการควบคุมความแรงของไฟฉายแบบหลายระดับจะช่วยให้อุปกรณ์เปิดใช้กรณีการใช้งานต่างๆ ได้ เช่น การควบคุมความสว่างของไฟฉายตามสภาพแสงและการส่งสัญญาณขอความช่วยเหลือโดยใช้เอฟเฟกต์แฟลชโดยส่งพัลส์แสงอย่างรวดเร็วติดต่อกัน ประโยชน์อีกอย่างหนึ่งของฟีเจอร์นี้คือช่วยยืดอายุการใช้งานแบตเตอรี่และประสิทธิภาพ เนื่องจากไม่จำเป็นต้องเปิดโหมดไฟฉายที่ความสว่างสูงสุดเสมอไป ซึ่งอาจทำให้อุปกรณ์ร้อนเกินไป

API สาธารณะ

แอปสามารถใช้ฟีเจอร์การควบคุมความแรงของไฟฉายผ่าน API สาธารณะและคีย์ลักษณะของกล้องต่อไปนี้ API เหล่านี้ไม่จําเป็นต้องใช้สิทธิ์เข้าถึงกล้องเนื่องจากไม่มีการเข้าถึงกล้อง

CameraManager API

  • 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: ระดับความสว่างเริ่มต้นของไฟฉาย

การใช้งาน

หากต้องการรองรับฟีเจอร์การควบคุมความแรงของไฟฉายในอุปกรณ์ ให้ใช้อินเทอร์เฟซ AIDL HAL ของกล้องต่อไปนี้

สถานที่: /camera/device/aidl/android/hardware/camera/device/ICameraDevice.aidl

ตรวจสอบว่าการใช้งาน HAL ของคุณแสดงลักษณะกล้องต่อไปนี้ คีย์เพื่อรองรับฟีเจอร์การควบคุมความสว่างของไฟฉาย

ดูการใช้งาน Camera HAL อ้างอิงที่รองรับการควบคุมความแรงของไฟฉายได้ที่ EmulatedCameraDeviceHWLImpl.cpp

การตรวจสอบความถูกต้อง

หากต้องการตรวจสอบการติดตั้งใช้งานฟีเจอร์การควบคุมความแรงของไฟฉาย ให้ทำการทดสอบ VTS และ CTS ต่อไปนี้