异常 java.lang.RuntimeException:setParameters 失败
Exception java.lang.RuntimeException: setParameters failed
我收到以下错误
Exception java.lang.RuntimeException: setParameters failed
android.hardware.Camera.native_setParameters (Camera.java)
android.hardware.Camera.setParameters (Camera.java:1946)
在下面的代码中。我不知道我在下面做错了什么。
Camera mCamera = Camera.open();
Parameters params = mCamera.getParameters();
if (params.getFlashMode() != null)
params.setFlashMode(Parameters.FLASH_MODE_OFF);
if (nightMode && params.getSceneMode() != null)
params.setSceneMode(Parameters.SCENE_MODE_NIGHT);
if (params.getSupportedFocusModes().contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
} else if (params.getSupportedFocusModes().contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
} else if (params.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_INFINITY)) {
params.setFocusMode(Parameters.FOCUS_MODE_INFINITY);
}
mCamera.setParameters(params);
这个错误主要发生在一些设备上,比如三星。
提前申请help.Thanks。
设备可能不支持您的参数。您可以使用 Camera.Parameters
class 的 getSupportedFocusModes
方法检测可用的对焦模式。如果某些模式不包含在此列表中,则无法将其设置到您的相机。
编辑
正如 Alex 在评论中所说,您可以在 logcat 中看到错误消息。
你必须检查用户设备是否支持对焦模式,并非所有设备都有相机对焦模式,你这样做:
public boolean support_focus(Camera camera){
Camera.Parameters parameters = camera.getParameters();
List<String> focusModes = parameters.getSupportedFocusModes();
if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO))
return true;
else
return false;
}
检查设备是否支持 FOCUS_MODE_AUTO,用您想要的参数更改它。
我收到以下错误
Exception java.lang.RuntimeException: setParameters failed
android.hardware.Camera.native_setParameters (Camera.java)
android.hardware.Camera.setParameters (Camera.java:1946)
在下面的代码中。我不知道我在下面做错了什么。
Camera mCamera = Camera.open();
Parameters params = mCamera.getParameters();
if (params.getFlashMode() != null)
params.setFlashMode(Parameters.FLASH_MODE_OFF);
if (nightMode && params.getSceneMode() != null)
params.setSceneMode(Parameters.SCENE_MODE_NIGHT);
if (params.getSupportedFocusModes().contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO)) {
params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
} else if (params.getSupportedFocusModes().contains(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE)) {
params.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);
} else if (params.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_INFINITY)) {
params.setFocusMode(Parameters.FOCUS_MODE_INFINITY);
}
mCamera.setParameters(params);
这个错误主要发生在一些设备上,比如三星。 提前申请help.Thanks。
设备可能不支持您的参数。您可以使用 Camera.Parameters
class 的 getSupportedFocusModes
方法检测可用的对焦模式。如果某些模式不包含在此列表中,则无法将其设置到您的相机。
编辑
正如 Alex 在评论中所说,您可以在 logcat 中看到错误消息。
你必须检查用户设备是否支持对焦模式,并非所有设备都有相机对焦模式,你这样做:
public boolean support_focus(Camera camera){
Camera.Parameters parameters = camera.getParameters();
List<String> focusModes = parameters.getSupportedFocusModes();
if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO))
return true;
else
return false;
}
检查设备是否支持 FOCUS_MODE_AUTO,用您想要的参数更改它。