在手动模式下,Xperia XA(索尼F3113(上的相机应用程序允许我使用滑块设置后置相机的焦距。(请参阅此处的屏幕截图。(
有什么方法可以让我看到或篡改应用程序用来做这件事的代码吗?
有什么方法可以在我自己的应用程序中设置焦距(而不是自动对焦(吗?
谢谢!!!
注1:我认为Camera2 API不是这款手机的一个选项。(如果我错了,请纠正我。(
注2:我的问题(以及最终意图(与此非常相似,但没有得到令人满意的回答。
除非设备支持camera2功能MANUAL_SENSOR,否则没有标准的手动对焦方法。如果支持该功能,那么您只需使用LENS_FOCUS_DISTANCE即可更改焦点。
如果没有列出,很可能制造商为焦距控制添加了一些自定义控件;如果设备是LEGACY相机,则很可能是自定义的android.hardware.Camera.Parameters
字符串。如果你知道控制值,你可以使用Parameters.set((来调整它。
您可以通过运行默认应用程序,调整手动对焦,并在应用程序仍处于活动状态时,使用adb运行adb shell dumpsys media.camera
,并查看列出的当前相机参数值,为特定设备找到答案。注意,除了实际焦距控制之外,可能还有多个设置需要调整(例如AF模式(。
当然,这只适用于这个特定的设备;由于存在未记录的接口,它们可能会根据OEM、设备甚至操作系统更新而更改。因此,依赖它们是非常脆弱的。