安卓相机对焦模式

标签 android android-intent focus byte android-camera

我正在尝试制作自定义相机应用程序 我想让用户可以在这个应用程序中选择焦点模式。

对焦方式为自动和触摸对焦

如果我们想在相机中使用触控对焦,应该如何入手呢?

最佳答案

该功能取决于软件/硬件/制造商,我的建议是您首先找到像 Galaxy Nexus 这样的 Android 4.x 手机,然后在上面尝试 android.hardware.Camera.Parameters.getMaxNumFocusAreas(),如果返回值大于零那么你很幸运,然后可以使用 setFocusAreas() 来实现你的“触摸对焦”功能。

为什么:

在旧的 Android 版本中,没有用于设置焦点区域的公共(public) API。尽管许多制造商设法创建了自己的 API 和实现,但他们不会分享。

Android 在 API 级别 14 中引入了焦点领域 API,但手机制造商可能会选择不实现它(即选择坚持自己的解决方案)。要检查 API 是否受支持,您可以先调用 getMaxNumFocusAreasa(),如果它返回一个正整数,则意味着手机确实实现了该 API,您可以继续在相机应用程序中启用“触摸对焦”功能。 (API 也是“人脸检测”功能的插入者之一,当识别到人脸时,相机应用程序使用 API 让相机对他们进行自动对焦。)

关于如何正确使用 API,您可以引用 vanilla Android Camera 应用程序源代码。

引用资料:

  1. Android 相机 API

getMaxNumFocusAreas()

setFocusAreas()

  1. Android 4.0 相机应用程序源代码

mInitialParams.getMaxNumFocusAreas()

mParameters.setFocusAreas()

问候

陈子腾

关于安卓相机对焦模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11681262/

相关文章:

android - 当html有地址时,即使没有 anchor ,如何阻止Android浏览器打开 map

java - 定期向ArrayList添加元素

angularjs - Angular JS - 使用 ng-click 聚焦于文本框

android - 在 Android 中启动 Activity 时如何阻止 EditText 获得焦点?

java - 为什么我添加图像时出现延迟?

android - 从 web .vcs 下载将日历事件添加到 Android

android - 错误android studio restcomm hello-word项目

android - 使用默认资源管理器查看 Android 中的文件夹内容

java - 如何根据焦点控件知道当前 "focused"是哪个顶层容器?

android - 数据库删除功能不起作用