首页 > 解决方案 > Android Camera 2 API 镜头切换

问题描述

我正在尝试实现与小米 MI8 上的默认相机应用程序相同的镜头切换功能。附上截图。

硬件设置:小米 MI8 [API 29] 带广角和长焦镜头的后置摄像头

软件设置:只有一个后置逻辑摄像头可通过 API 访问,其物理摄像头 ID 列表为空。

理论上我们可以创建一堆 OutputConfiguration 对象,设置物理相机 ID 并创建捕获会话,但由于小米 MI8 上缺少物理相机 ID,这是不可能的。

有没有人有一些想法如何在小米MI8上实现镜头切换和检索physicalCameraIds?或者,也许有人试图在其他设备上检查物理相机 ID?

所有镜头相关领域的后置摄像头特性(如果对进一步研究有用):

physicalCameraIds: []
availablePhysicalCameraRequestKeys: null
LENS_DISTORTION: null
LENS_FACING: 1
LENS_INFO_AVAILABLE_APERTURES: [1.8]
LENS_INFO_AVAILABLE_FILTER_DENSITIES: [0.0]
LENS_INFO_AVAILABLE_FOCAL_LENGTHS: [4.216]
LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION: [0, 1]
LENS_INFO_FOCUS_DISTANCE_CALIBRATION: 1
LENS_INFO_HYPERFOCAL_DISTANCE: 0.2835498
LENS_INFO_MINIMUM_FOCUS_DISTANCE: 10.0
LENS_INTRINSIC_CALIBRATION: null
LENS_POSE_REFERENCE: null
LENS_POSE_ROTATION: null
LENS_POSE_TRANSLATION: null

小米 MI8 上默认相机应用程序的镜头选择

标签: androidandroid-camera2

解决方案


您可以通过调试 ROM 上的 id 访问广角相机。相机 ID 和 ROM 可由供应商的移动部门提供。


推荐阅读