我想知道是否有一种方法可以知道何时自动对焦吗?

我有一个应用程序,可以对视频进行一些图像处理。我要做的第一件事是打开闪光灯和自动对焦,我的问题是我不知道自动对焦是否完成(我需要以编程方式知道),所以我可以开始所有图像处理仅在自动对焦完成后。

这就是我配置相机设置的方式:

@Override
public void surfaceCreated(SurfaceHolder arg0) {
 try {
    camera = Camera.open();

    parameters = camera.getParameters();
    parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
    parameters.setFocusMode(Parameters.FOCUS_MODE_AUTO);
    camera.setParameters(parameters);
    camera.setPreviewDisplay(holder);
    camera.startPreview();

    recorder = new MediaRecorder();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

}

我只想清楚一点,一切工作正常,我只想知道自动对焦的确切时间。

谢谢!

最佳答案

您必须首先检查camera是否支持autofocus。以此方式进行检查,您还可以检查手机是否支持闪光灯或不遵循此链接How turn on camera flash light programmatically in Android?

PackageManager pm = getPackageManager();
if(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA) && pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_AUTOFOCUS)){
       // True means the camera has autofocus mode on. Do what ever you want to do
}

关于java - 如何检查相机何时完成自动对焦?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21107610/

10-09 04:30