Android:使用“连续”自动对焦录制视频

前端之家收集整理的这篇文章主要介绍了Android:使用“连续”自动对焦录制视频前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我从事视频录制工作;一切都有效,除了要求连续对焦.这就是我所做的(在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;
}

猜你在找的Android相关文章