在手动模式下,我的 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/