swift AVCapturePhotoOutput capturePhoto 挂起预览
swift AVCapturePhotoOutput capturePhoto hangs preview
显示分辨率为 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
显示分辨率为 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