Android启用摄像头失败或者黑屏问题的几点原因

在 Android 开发中接触 Camera 的过程中,经常会碰到各种各样的问题,对于启用摄像头失败或者黑屏的情况,本人总结了一下几点原因,欢迎大家继续补充:

 

1.手机没有对应摄像头

例如手机可能只有两个摄像头,下标从0开始,Camera.open(2)打开的是第3个摄像头就会出问题

    private void openCamera(int cameraFacing) throws RuntimeException {
        releaseCamera();
        Camera.CameraInfo info = new Camera.CameraInfo();
        for (int i = 0; i < Camera.getNumberOfCameras(); i++) {
            Camera.getCameraInfo(i, info);
            if (info.facing == cameraFacing) {
                mCamera = Camera.open(i); // 打开对应的摄像头,获取到camera实例
                mIsOpened = true;
                return;
            }
        }
    }

 

2.应用没有对应权限或者对应权限没有打开

在 AndroidManifest.xml 加上对应权限

再检查你的应用对应的权限是否打开,建议加上 动态权限 检查。

 

 

3.代码中使用了手机不支持的预览尺寸

可以通过如下代码查看你的手机支持的预览尺寸有哪些(不同手机支持的预览大小不一样)

List previewSizes = mCamera.getParameters().getSupportedPreviewSizes();
for (int i = 0; i < previewSizes.size(); i++) {
    Size psize = previewSizes.get(i);
    Log.i(TAG + "initCamera", "PreviewSize,width: " + psize.width + " height: " + psize.height);
}

之后查看log就可以看到了

Android启用摄像头失败或者黑屏问题的几点原因_第1张图片

 

 

你可能感兴趣的:(Android,Android,UI,Android,Camera)