You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Camera2 API未返回全部相机时,部分APP如何调用超广角及实现防抖?

相机API相关问题

1. 第三方APP如何在非三星设备上访问超广角镜头

我有多款三星设备(最高至S22 Ultra),通过CameraManager.cameraIdList可获取4个相机,包含后置主摄与超广角镜头,调用超广角十分便捷。但小米、vivo等多数其他设备仅返回前后两个常规相机。然而用户反馈,mcpro24fps、gcam等APP可在小米POCO X3(Android 11)这类设备上使用超广角镜头,请问这类APP是如何实现全相机访问的?

更新推测:这类APP可能通过设置变焦比例参数调用超广角镜头:

captureRequestBuilder.set(CaptureRequest.CONTROL_ZOOM_RATIO, 0.6f)

该方法在我的三星设备上生效,0.6至10的变焦比例可无需切换相机ID实现镜头切换。

2. 第三方APP如何实现Camera2 API未开放的有效视频防抖

Camera2 API通常显示不支持视频防抖(厂商未通过该API开放此功能),以下检测代码中supported值通常为false:

val characteristics = getCameraCharacteristics(context, cameraIdx)
val modes =
    characteristics.get(CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES)
        ?: intArrayOf()
val supported = CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_ON in modes

即便部分设备返回true,根据用户反馈,视频防抖也未实际生效,无画面裁剪等效果,因此以下开启防抖的代码并无作用:

if (isVideoStabilizationSupported()) {
    captureRequestBuilder.set(
        CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE,
        CameraMetadata.CONTROL_VIDEO_STABILIZATION_MODE_ON
    )
}

但mcpro24fps与gcam却可实现有效防抖,疑似采用自定义方案,请问如何在Camera2 API下实现不影响性能的底层自定义方案?


内容的提问来源于stack exchange,提问作者user924

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 22:25:13