Swift AVCapturePhotoOutput拍照时预览卡住的问题

5

在1080 x 1440的预览中显示;使用以下代码在iPhone 8 Plus上获取最大分辨率(3024 x 4032)和质量的照片:

capturePhotoOutput?.capturePhoto(with: configurePhotoSettings(), delegate: self)

使用照片设置:

private func configurePhotoSettings() -> AVCapturePhotoSettings {
    let photoSettings = AVCapturePhotoSettings()
    photoSettings.isHighResolutionPhotoEnabled = true
    photoSettings.isAutoStillImageStabilizationEnabled = (capturePhotoOutput?.isStillImageStabilizationSupported)!
    photoSettings.isAutoDualCameraFusionEnabled = (capturePhotoOutput?.isDualCameraFusionSupported)!
        
    return photoSettings
}

我希望能够像连续拍摄模式一样,将照片处理并预览。但是,即使在didFinishProcessingPhoto 中什么都不做,每次预览时都会短暂地冻结。


我正在寻找解决方案,以使捕获更加平滑,或许可以在后台线程中实现,但目前卡住了..


你找到任何解决方案了吗? - krosshj
@HuangJie,请查看我在这个话题下面的答案。 - Volodymyr Kulyk
明白了,感谢您的回答。 - krosshj
1个回答

1
预览卡顿的原因是由于一种名为光学防抖的功能所导致的。

在拍照时,只需关闭它以获得平滑的预览:

photoSettings.isAutoStillImageStabilizationEnabled = false

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接