【问题标题】:Setting Camera Focus Distance in Android在 Android 中设置相机焦距
【发布时间】:2021-01-04 00:00:34
【问题描述】:

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

有什么方法可以让我看到或修改应用程序用来执行此操作的代码?

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

谢谢!!!

注意 1:我认为 Camera2 API 不是这款手机的选项。 (如果我错了,请纠正我。)

注2:我的问题(和最终意图)与this非常相似,没有得到满意的回答。

【问题讨论】:

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


    【解决方案1】:

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

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

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

    当然,这仅适用于该特定设备;由于存在未记录的接口,它们可能会根据 OEM、设备甚至操作系统更新而改变。所以依赖他们是很脆弱的。

    【讨论】:

    • 太棒了。谢谢!使用adb shell dumpsys media.camera,我发现,例如,与我的设备等的焦距相关的参数(这是我现在感兴趣的全部)被称为sony-manual-focus,并为微距焦点指示了特定值,聚焦在无限远,聚焦在 1 m。事实上,focus-mode 应该设置为manual。期待尝试使用这些设置!再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-12
    • 2012-06-02
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多