android - 在Android中设置相机焦距

标签 android camera android-camera android-camera2 android-camerax

在手动模式下,我的 Xperia XA (Sony F3113) 上的相机应用程序允许我使用 slider 设置后置摄像头的焦距。 (参见屏幕截图here。)

有什么方法可以查看或修改应用程序用于执行此操作的代码吗?

有什么方法可以在我自己的应用程序中设置焦距(非自动对焦)吗?

谢谢!!!

注1:我相信Camera2 API不是这款手机上的选项。 (如有错误,请指正。)

注2:我的问题(和最终 Intent )与this非常相似,尚未得到满意的答复。

最佳答案

除非设备支持camera2功能MANUAL_SENSOR ,没有标准的手动对焦方法。如果支持该功能,那么您只需使用 LENS_FOCUS_DISTANCE改变焦点。

如果未列出,则制造商可能添加了一些用于焦距控制的自定义控件;如果设备是 LEGACY相机,它很可能是一个自定义 android.hardware.Camera.Parameters 字符串。如果你知道控制值,你可以使用 Parameters.set()来调整它。

您可以通过运行默认应用程序、调整手动对焦,并在应用程序仍处于 Activity 状态时使用 adb 运行 adb shell dumpsys media.camera 来找出该特定设备的情况。 ,并查看列出的当前相机参数值。请注意,除了实际焦距控制之外,可能还有多个设置需要调整(例如 AF 模式)。

当然,这仅适用于该特定设备;由于存在未记录的接口(interface),因此它们可能会根据 OEM、设备甚至操作系统更新而发生变化。所以依赖它们是非常脆弱的。

关于android - 在Android中设置相机焦距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63932162/

相关文章:

android - 像 360 全景一样自动捕捉图像

android - 改造发布空数据

windows-phone-8 - 允许使用相机按钮打开我的应用程序

iphone - 在 PC 上使用 iPhone 摄像头作为网络摄像头

java - 如何获取相机的预览

Android SDK - camera2 - 在 TextureView 上绘制矩形

android - kivy python for android,从安装到工作android应用教程

java - 获取帐户 android 的身份验证 token 时显示对话框

Android:如何移动 BitmapDrawable?

Android 相机 View 倒置