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

Pixel 6a/7调用cameraControl#setLinearZoom低于0.5f时预览模糊问题

调用cameraControl#setLinearZoom传入值小于0.5时Pixel设备预览模糊的问题

现象总结

  • Pixel 6a/7设备上,调用cameraControl.setLinearZoom()时,若传入参数小于0.5f,相机预览会持续模糊;将参数固定为0.5f时,预览恢复清晰。
  • 三星Galaxy A51仅初始阶段模糊,自动对焦系统会快速介入修正,无持续模糊问题。

关联代码

val seekBarChangeListener = object : SeekBar.OnSeekBarChangeListener {
    override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
        val dividend = progress.toFloat()
        val divisor = seekBar.max.toFloat()
        val quotient = dividend/divisor 

        // 当quotient < 0.5f时,相机预览模糊
        cameraControl?.setLinearZoom(quotient)
    }
}

问题原因

这是Pixel 6a/7设备CameraX框架的专属Bug:当线性缩放值低于0.5时,设备自动对焦(AF)模块未被正确触发,无法完成对焦动作,导致预览画面持续模糊。

临时修复方案

方案1:限制缩放最小值

将缩放参数强制限制在0.5f及以上,避免触发Bug:

val quotient = dividend/divisor 
val clampedZoom = max(quotient, 0.5f)
cameraControl?.setLinearZoom(clampedZoom)

方案2:手动触发对焦

设置缩放后主动调用对焦接口,强制AF系统工作:

cameraControl?.setLinearZoom(quotient)
// 基于预览区域触发自动对焦
cameraControl?.startFocusAndMetering(
    FocusMeteringAction.Builder(previewView.displayRect).build()
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 14:09:52