第36讲 Flash闪光灯控制 - Android Camera2 API

本讲是Android Camera专题系列的第36讲,我们介绍Android Camera2 API专题的Flash闪光灯控制,包括如下内容:

  1. 判断当前Camera是否支持Flash
  2. 设置Flash模式
  3. 读取Flash状态

视频在线观看:

加入知识星球与更多Camera同学交流
– 星球名称:深入浅出Android Camera
– 星球ID: 17296815

判断当前Camera是否支持Flash

CameraCharacteristics Description
FLASH_INFO_AVAILABLE 表示当前Camera设备是否有Flash设备
CONTROL_AE_AVAILABLE_MODES CONTROL_AE_MODE_ON_AUTO_FLASH:Flash AUTO模式
CONTROL_AE_MODE_ON_ALWAYS_FLASH:Flash 拍照必打闪模式
CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE:Flash AUTO模式 + 去红眼
CONTROL_AE_MODE_ON_EXTERNAL_FLASH:外部Flash打开模式

设置Flash模式

CaptureRequest Description
FLASH_MODE
CONTROL_AE_MODE
控制当前Camera的Flash模式,必须在FLASH_INFO_AVAILABLE为True时才能设置
当使用Flash Mode来控制Flash时,必须将android.control.aeMode 设置为ON 或 OFF,否则Flash Mode会被AE Mode的ON_AUTO_FLASH, ON_ALWAYS_FLASH 或 ON_AUTO_FLASH_REDEYE覆盖
CameraMetadata#FLASH_MODE_OFF:关闭Flash
CameraMetadata#FLASH_MODE_SINGLE :
1. 管AE的结果,拍照时Flash都会打闪。
2. 这种模式下,拍照前一定要通过android.control.aePrecaptureTrigger进行预测光,不然拍下来的图可能会过曝或全黑
CameraMetadata#FLASH_MODE_TORCH:手电筒模式,打开后Flash一直亮着

读取Flash状态

CaptureResult Description
FLASH_MODE 实际生效的Flash Mode
FLASH_STATE 当前实际Flash的State
如果当前Camera不支持Flash,则State一直是UNAVAILABLE
UNAVAILABLE:当前Camera设备没有Flash
CHARGING:当前闪光灯正在充电,不能打闪
READY:当前闪光灯可以打闪了
FIRED:闪光灯正在打闪
PARTIAL:这张图片部分被打闪了,通常是由于下一帧或上一帧有打闪影响到当前帧了
赞(2)
未经允许不得转载:极客笔记 » 第36讲 Flash闪光灯控制

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
Android Camera2参考
Android Camera2参考概述
Android Camera2参数参考
Android Camera2参数参考概述
Android Camera2指南
Android Camera2指南概述
Android Camera HAL开发
Android Camera HAL开发概述
Android Camera2 API
第2讲 Android Camera 架构介绍第3讲 Camera2 API 概述第4讲 Open和Close Camera流程第5讲 GeekCamera2介绍第6讲 Open和Close Camera代码实现第7讲 Hardware Level详解第8讲 AVAILABLE_CAPABILITIES详解第9讲 StreamConfigurationMap详解一第10讲 StreamConfigurationMap详解二第11讲 StreamConfigurationMap实战一第12讲 StreamConfigurationMap实战二第13讲 为什么需要OutputConfiguration第14讲 OutputConfiguration API详解第15讲 Surface Sharing实战第16讲 Deferred Surface实战第17讲 Reprocessable Capture Session详解一第18讲 Reprocessable Capture Session详解二第19讲 App如何实现ZSL功能第20讲 SessionConfiguration详解第21讲 createCaptureSession详解第22讲 SessionParameter实战第23讲 CaptureRequest详解第24讲 如何操作VendorTag第25讲 获取Physical Camera数据流第26讲 CameraCaptureSession详解第27讲 CameraCaptureSession.CaptureCallback详解第28讲 GeekCamera2连拍实战第29讲 SlowMotion实战第30讲 CaptureResult详解第31讲 AE自动曝光 Part 1第32讲 AE自动曝光 Part 2第33讲 AE自动曝光实战第34讲 AE手动曝光第35讲 AE手动曝光实战第36讲 Flash闪光灯控制第37讲 拍照打闪实战第38讲 通过CropRegion控制Zoom缩放第39讲 通过ZoomRatio控制Zoom缩放第40讲 Digital Zoom缩放实战第41讲 Touch AE实战第42讲 AF自动对焦第43讲 AF自动对焦 第二部分第44讲 AF自动对焦实战第45讲 手动对焦实战第46讲 AWB自动白平衡第47讲 AWB自动白平衡实战第48讲 FD人脸检测第49讲 Android13 Camera2 New APIs介绍