我想在相机保持不动时自动对焦Android相机.我正在寻找教程或示例如何做或至少小样本,显示我可以用来挂钩这些事件的类.
内置摄像机应用程序(就像HTC EVO上的那个)似乎camera.autoFocus()只在预览图像发生变化时调用.如果你保持相机稳定没有camera.autoFocus()发生.
我想在camera.startPreview()激活时复制此行为,如下面的初始预览设置代码中所示:
camera = camera.open();
Camera.Parameters parameters = camera.getParameters();
List<String> focusModes = parameters.getSupportedFocusModes();
if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO))
{
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
}
camera.setParameters(parameters);
camera.setPreviewDisplay(holder);
camera.startPreview();
Run Code Online (Sandbox Code Playgroud)
我找到的所有例子autoFocus()似乎都是每隔500毫秒到2000毫秒调用一次,或者在拍摄照片或开始录制之前的一刻.
EVO摄像机应用程序似乎使用传感器或算法来触发autoFocus().然而,这个autoFocus()触发器完成它非常好.有没有人知道如何autoFocus()在需要时按需触发,例如当相机移近或远离拍摄对象或稍微平移时?谢谢你,格里