在我的应用程序中,我创建了用于图像捕获的自定义相机视图。 触发捕获时,我使用以下代码:
private func takePhoto() {
let settings = AVCapturePhotoSettings()
self.stillImageOutput.capturePhoto(with: settings, delegate: self)
}
然后触发photoOutput didFinishProcessingPhoto
我在那里从UIImage
中提取AVCapturePhoto
并继续。
我的问题是在我调用self.stillImageOutput.capturePhoto
和图像到达didFinishProcessingPhoto
之间的过程中,平均经过0.5秒,并且我需要(几乎)恰好在capturePhoto
时的捕获图像叫。
有没有一种方法可以加快此过程,或者有另一种方法可以达到相同的结果?
答案 0 :(得分:1)
let settings = AVCapturePhotoSettings()
在takePhoto
函数之外进行写操作,当您在那时调用takePhoto
函数时,请创建一个新内存并分配给settings
变量,因此,如果在该控制器将在加载该控制器时分配内存,这将加快拍照过程。