开发的一款高通平台Android 9.0基于Camera2实现的预览界面通过侧键实现拍照,录像等功能的应用中,预览界面默认是采用的原生的VideoModule.java界面实现,测试发现设置中开启人脸检测菜单后人脸检测框无法显示。同步测试原生的拍照预览界面PhotoModule.java人脸检测框可以正常显示。
通过咨询高通技术支持,回复录像模式下高通默认关闭了人脸检测功能。
在system.prop文件中增加以下代码重新测试ok:
persist.vendor.camera.fdvideo=1
跟踪Camera HAL层代码hardware/qcom/camera/QCamera2/HAL/QCameraParameters.cpp
uint8_t QCameraParameters::fdModeInVideo(){
char value[PROPERTY_VALUE_MAX];
uint8_t fdvideo = 0;
property_get("persist.vendor.camera.fdvideo", value, "1");
fdvideo = (atoi(value) > 0) ? atoi(value) : 0;
LOGD("FD mode in Video : %d", fdvideo); return fdvideo;}
此处property_get("persist.vendor.camera.fdvideo", value, "1"); 默认值从“0”改为“1”.这样保证当系统未设置此属性值时录像模式下也开启人脸检测。
网友评论