在我的应用程序中,变焦仅限于主镜头,而不是设备的长焦镜头(如果有的话)。
长焦镜头可以由任何制造商提供;我不希望实现特定于制造商设备的 API 来访问长焦或广角镜头。
这会导致照片质量较差,并且应用程序无法变焦至超过主摄像头的变焦限制。
如何使用长焦镜头(如果可能的话还有广角镜头)来放大我的应用程序?
Thanks.
CameraX 根本无法为您提供您想要/需要的相机/镜头。您可以将缩放级别设置为可用的最小级别,并希望获得最好的结果。您可以尝试Camera2,但也不能保证。
理论上,如果您将变焦比设置为低于 1.0f,这应该会使cameraX 使用广角相机。事实上,除了 Pixel 6 之外,我从未见过任何设备支持此功能。即使 Google Pixel 也无法实现支持 CameraX 的第三方相机应用程序所需的功能。如果您想检查,可以通过以下方式设置最小可用变焦:在大多数设备中,您会看到最小变焦为 1.0f,而在 Pixel 6 中则约为 0.7f。
val maxAvailableZoom = camera?.cameraInfo?.zoomState?.value?.maxZoomRatio
val minAvailableZoom = camera?.cameraInfo?.zoomState?.value?.minZoomRatio ?: 1f
camera?.cameraControl?.setZoomRatio(minAvailableZoom)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)