以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中不执行任何操作,也要逐一进行操作(如连续拍摄模式)并在短时间内卡住预览。

寻找解决方案以使捕获顺利进行,也许是在后台线程中进行,但目前我陷入困境。

最佳答案

预览挂起的原因是称为光学稳定的功能。

您只需要将其关闭即可在捕获照片时进行流畅的预览:

photoSettings.isAutoStillImageStabilizationEnabled = false

关于ios - swift AVCapturePhotoOutput capturePhoto挂起预览,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50740668/

10-09 02:33