Caused by: java.lang.RuntimeException: setParameters failed 解决方法

代码如下:

if (mCamera == null) {
    mCameraId = findFrontFacingCamera();
    mCamera = Camera.open(mCameraId);

    Camera.Parameters parameters = mCamera.getParameters();
    parameters.setPictureSize(CAMERA_PREVIEW_WIDTH_ORI, CAMERA_PREVIEW_HEIGHT_ORI);
    parameters.setPreviewSize(CAMERA_PREVIEW_WIDTH_ORI, CAMERA_PREVIEW_HEIGHT_ORI);
    parameters.setRotation(90);
    mCamera.setParameters(parameters);
    mPreview.refreshCamera(mCamera);
}

使用设备摄像头时,报错:Caused by: java.lang.RuntimeException: setParameters failed

原因是,设置的摄像头分辨率与设备实际支持的分辨率不相匹配

解决方法:此处代码设置为摄像头支持的分辨率 

parameters.setPictureSize(CAMERA_PREVIEW_WIDTH_ORI, CAMERA_PREVIEW_HEIGHT_ORI); parameters.setPreviewSize(CAMERA_PREVIEW_WIDTH_ORI, CAMERA_PREVIEW_HEIGHT_ORI);

 

 

 

 

参考:https://www.cnblogs.com/vampirejt/p/3832878.html

你可能感兴趣的:(android)