背景:祖传代码有一个百度的facesdk 人脸识别的,低版本的人脸识别都可以,高android版本的摄像头翻转有问题
先上相关搜索

高版本的camerax好像跟生命周期帮定起来了。所以你要做的就是。
private void init() {
textureView = new TextureView(getContext());
addView(textureView);
}
/**
* camera x 绑定值 生命周期了
*/
public void reset(){
removeView(textureView);
addView(textureView);
}
这是百度的老版本的 camera 1control,camera2control中的时代的代码中的文件 TexturePreviewView。
在切换摄像头的时候 需要去 reset一下
private void setCameraType() {
if (cameraType == 0) {
cameraType = 1;
} else {
cameraType = 0;
}
faceDetectManager.stop();
facePreview.reset();
switch (cameraType) {
case 0:
// TODO 选择使用前置摄像头
cameraImageSource.getCameraControl().setCameraFacing(ICameraControl.CAMERA_FACING_FRONT);
break;
case 1:
// TODO 选择使用后置摄像头
cameraImageSource.getCameraControl().setCameraFacing(ICameraControl.CAMERA_FACING_BACK);
// previewView.getTextureView().setScaleX(-1);
break;
}
faceDetectManager.start();
flashFlag = true;
setFlashLightType();
}
下插曲。是怎么发现这个解决办法的呢,就是翻转摄像头 图就会卡住,然后解决的时候发现手机锁屏了,重新解锁手机发现 不卡了,我发现可能跟 reset有关,不是摄像头的获取有问题。
网友评论