我从事录像工作;一切正常,除了要求持续关注。这就是我所做的(在surfaceCreated和surfaceChanged中都尝试过,但均未成功):

camera = Camera.open();
camera.setPreviewDisplay(holder);

Parameters parameters = camera.getParameters();

那我要么
parameters.setFocusMode(Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);

或者
parameters.set("focus-mode", "continuous-video");

两者都应该做同样的事情;然后我用
camera.setParameters(parameters);

最后一行总是崩溃!那我想念什么吗?

顺便说一句,我在Desire HD,Galaxy S,Galaxy Tab 7和10.1等相当新的设备上进行了测试,这些设备必须支持连续自动对焦。至少他们的内置相机应用程序支持它。

最佳答案

您应该检查设备是否支持连续自动对焦。这对我有用,请尝试一下。

boolean startContinuousAutoFocus() {

    Camera.Parameters params = mCamera.getParameters();

    List<String> focusModes = params.getSupportedFocusModes();

    String CAF_PICTURE = Parameters.FOCUS_MODE_CONTINUOUS_PICTURE,
           CAF_VIDEO = Parameters.FOCUS_MODE_CONTINUOUS_VIDEO,
           supportedMode = focusModes
                   .contains(CAF_PICTURE) ? CAF_PICTURE : focusModes
                   .contains(CAF_VIDEO) ? CAF_VIDEO : "";

    if (!supportedMode.equals("")) {

        params.setFocusMode(supportedMode);
        mCamera.setParameters(params);
        return true;
    }

    return false;
}

10-08 19:00