我想知道是否有一种方法可以知道何时自动对焦吗?
我有一个应用程序,可以对视频进行一些图像处理。我要做的第一件事是打开闪光灯和自动对焦,我的问题是我不知道自动对焦是否完成(我需要以编程方式知道),所以我可以开始所有图像处理仅在自动对焦完成后。
这就是我配置相机设置的方式:
@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/