Android相机:固定镜头焦点

时间:2015-01-25 17:08:42

标签: android android-camera autofocus

我正在开发一款具有相机功能的Android应用程序。

首先,我在SO,XDA等上阅读了很多内容,请不要将我重定向到其他无用的帖子。

我正在尝试实现类似“固定焦点模式”的功能,以便:

  1. 我使用FOCUS_MODE_AUTO(或其他内容)启动我的应用程序;
  2. 将物体聚焦在任意距离;
  3. 修复当前焦点;
  4. 将相机移动到距离不同的另一个物体上。
  5. 我尝试了不同的解决方案,即:

      {li> mCamera.cancelAutoFocus() AutoFocusCallback以阻止调整焦点;
    • 设置FocusAreanew Camera.Area(new Rect(-50, -50, 50, 50), 1000)以将焦点固定在当前区域。

    我的目标是API 20,我正在研究三星Galaxy S5。在此设备上,支持的对焦模式为: - 自动 - 无穷 - 宏 - 连续视频 - 连续图片

    我更频繁发现的建议是重新编译Android ...

2 个答案:

答案 0 :(得分:2)

" AUTO"模式并不意味着相机会持续聚焦 - 只是当您调用自动聚焦命令时,焦点会自动完成,而不会指示您期望的结果不是什么" Macro"或" Infinity"。

http://developer.android.com/reference/android/hardware/Camera.html#autoFocus(android.hardware.Camera.AutoFocusCallback)

因此,如果您没有调用autoFocus的循环(正如许多示例所做的那样或在Callback中再次调用它),那么您的焦点应该在它运行一次之后保留。

答案 1 :(得分:-1)

如果我理解,你想要专注于保持第一个对象的焦点。 在聚焦第一个对象后,您是否尝试将相机模式更改为FOCUS_MODE_FIXED? 像那样:

Camera.Parameters mParam = mCamera.getParameters();
mParam.setFocusMode(Camera.Parameters.FOCUS_MODE_FIXED);
mCamera.setParameters(mParam);