應用設置CONTROL_SCENE_MODE_FACE_PRIORITY設置不生效
問題:
app 代碼
CaptureRequest.Builder captureRequestBuilder = mCameraDevice.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);builder.set(CaptureRequest.CONTROL_SCENE_MODE, CameraMetadata.CONTROL_SCENE_MODE_FACE_PRIORITY);
這樣設置完成以后 ,發現scene一直是0,正常應該是18
底層關于Scene如下
\HLOS\vendor\qcom\proprietary\chi-cdk\api\common\chituningmodeparam.h
enum class ChiModeSceneSubModeType
{None = 0,Landscape = 1,Snow = 2,Beach = 3,Sunset = 4,Night = 5,Portrait = 6,BackLight = 7,Sports = 8,AntiShake = 9,Flowers = 10,CandleLight = 11,Fireworks = 12,Party = 13,NightPortrait = 14,Theater = 15,Action = 16,AR = 17,FacePriority = 18,Barcode = 19,BestShot = 20
};
原因分析
需要ANDROID_CONTROL_MODE_USE_SCENE_MODE == controlModeValue 才會賦值
解決
應用需要先設置CONTROL_MODE_USE_SCENE_MODE
builder.set(CaptureRequest.CONTROL_MODE, CameraMetadata.CONTROL_MODE_USE_SCENE_MODE);
builder.set(CaptureRequest.CONTROL_SCENE_MODE, CameraMetadata.CONTROL_SCENE_MODE_FACE_PRIORITY);