swift AVCapturePhotoOutput capturePhoto 挂起预览

Vol*_*lyk 5 ios ios-camera swift

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

capturePhotoOutput?.capturePhoto(with: configurePhotoSettings(), delegate: self)
Run Code Online (Sandbox Code Playgroud)

使用照片设置:

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

    return photoSettings
}
Run Code Online (Sandbox Code Playgroud)

即使我在didFinishProcessingPhoto.


正在寻找使捕获顺利的解决方案,也许在后台线程中,但目前我被卡住了..

Vol*_*lyk 1

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


您只需在拍摄照片时将其关闭即可流畅预览:

photoSettings.isAutoStillImageStabilizationEnabled = false
Run Code Online (Sandbox Code Playgroud)