Android Camera2自定义相机绿屏

一、问题现象

在项目中使用Camera2自定义相机拍照,在其他手机上没有问题、在华为P40上、相机预览出现绿屏,绿屏如下所示


二、问题原因

预览设置高宽参数不符合相机高宽的话就会有绿条
原来的设置代码如下

imageReader = ImageReader.newInstance(largest.getWidth(), largest.getHeight(),
        ImageFormat.JPEG, 2);

三、问题解决

调整设置的高度和宽度即可解决问题。width和height为预览的imageView宽和高

//华为P40需要做特殊适配,像素太高导致绿屏
if ("ANA-AN00".equals(android.os.Build.MODEL) || largest.getWidth() > 4160) {
    imageReader = ImageReader.newInstance(width, height,
            ImageFormat.JPEG, 2);
} else {
    imageReader = ImageReader.newInstance(largest.getWidth(), largest.getHeight(),
            ImageFormat.JPEG, 2);
}

你可能感兴趣的:(Android,Error,Camera2绿条屏,自定义相机预览绿条)