将Camera2与物理镜头一起使用不会在所有手机上显示所有镜头

问题描述 投票:0回答:1

我尝试使用带有物理镜头的camera2来允许用户访问手机的所有镜头,它在Pixel和S23Ultra等手机上工作得很好,但在其他设备上却不起作用,这是预期的。我使用一个名为 Protake 的应用程序(Google Play 上的免费应用程序)来评估我的工作。这个应用程序显然使用了带有物理镜头的Camera2。在手机 OnePlus8 上,它显示了一个额外的镜头,当我在camera2上使用我的实现时,我找不到这个镜头,正如我提到的,它在其他设备上运行良好。

我使用来自谷歌存储库的与camera2相同的代码,除了物理镜头ID部分,我从

获取ID

cameraCharacteristics.physicalCameraIds

我不确定我是否遗漏了什么。或者 Protake 正在使用 OnePlus 授予他们的私有 API?

android android-camera2
1个回答
0
投票

如果还没有,请检查顶层的相机 ID 的完整列表。

虽然 Android 试图推动制造商使用逻辑/物理相机 ID 来建模多传感器相机,但并非所有 OEM 都已加入,并为其设备提供了各种定制解决方案。

这可能涉及额外的相机 ID,其中 ID > 1 映射到特定的图像传感器;这些也可能从您获得的 ID 列表中隐藏(但可能在通过

adb shell dumpsys media.camera
提供的相机服务调试信息中可见)。或者某些设备确实实现了缩放时传感器之间的自动切换,但没有实现物理相机 API 来直接访问特定相机。这可能不是 OnePlus8 的情况,因为其他应用程序已经找到了访问路径。

它还可能涉及供应商特定的捕获请求设置,尽管这种功能似乎不太可能。

© www.soinside.com 2019 - 2024. All rights reserved.