现象: 闪光灯打闪, 第一次的照片正常,以后所有的照片都是
操作: 对着黑暗环境拍照,连续拍照
分析:正常预闪,主闪流程是 : af trigger , ae trigger , 执行拍照主闪,flash关闭
出问题时 ae mode是ControlAEMode On, ae mode 应该是ControlAEModeOn AlwaysFlash
INFO][SENSOR ] camxflash.cpp:197 ExecuteProcessRequest() RequestId=214 CaptureIntent=1 FlashMode=0 flashOffDelayCounter=-1 MainflashReq=0
Line 123511: 02-12 01:24:28.617 834 1631 I CamX : [ INFO][SENSOR ] camxflash.cpp:203 ExecuteProcessRequest() FLASH[0] PFState=0 flashType=0 aeModeValue=1 CalibFlashState=0
Line 123512: 02-12 01:24:28.617 834 1631 V CamX : [ VERB][SENSOR ] camxflash.cpp:439 HandleTorch() flashMode 0 m_lastFlashMode 1 m_torchStateOn 0 requestId 214
INFO][SENSOR ] camxflash.cpp:197 ExecuteProcessRequest() RequestId=44 CaptureIntent=1 FlashMode=1 flashOffDelayCounter=-1 MainflashReq=0
Line 26413: 02-12 01:24:22.063 834 1634 I CamX : [ INFO][SENSOR ] camxflash.cpp:203 ExecuteProcessRequest() FLASH[0] PFState=0 flashType=0 aeModeValue=3 CalibFlashState=0
Line 26414: 02-12 01:24:22.063 834 1634 V CamX : [ VERB][SENSOR ] camxflash.cpp:387 HandleMainFlash() requestID 44 flashMode 1 CaptureIntent 1
打闪的一次是预闪打闪 不是主闪 判断出闪光灯状态是完成状态不需要调用led
出问题的时候闪光灯状态没有触发af
是因为一个流程错误,导致调用了 builder.set(CaptureRequest.CONTROL_AF_TRIGGER,CaptureRequest.CONTROL_AF_TRIGGER_CANCEL)
导致没有等待 AF 的状态