7

カメラのオートフォーカスをオンに設定しようとしています...しかし、設定setFocusModeするたびにアプリケーションがクラッシュします..

java.lang.RuntimeException: setParameters failed

私のコードは:

Camera.Parameters parameters = camera.getParameters();
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
Camera.Size size = getBestPreviewSize(width, height, parameters);
Camera.Size pictureSize = getSmallestPictureSize(parameters);

if (size != null && pictureSize != null) {
    parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
    parameters.setPreviewSize(size.width, size.height);
    parameters.setPictureSize(pictureSize.width, pictureSize.height);
    parameters.setPictureFormat(ImageFormat.JPEG);
    camera.setParameters(parameters);
    cameraConfigured = true;
}

このエラーが発生するのはなぜですか?

4

1 に答える 1

32

カメラが目的の FOCUS MODE をサポートしているかどうかを確認する必要があります。

そのようにしてください:

Camera.Parameters parameters = camera.getParameters();
List<String> focusModes = parameters.getSupportedFocusModes();
if (focusModes.contains(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
    parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
camera.setParameters(parameters);
于 2012-10-30T05:59:32.587 に答える