【问题标题】:iOS Custom Camera - Take Photo InstantlyiOS 自定义相机 - 即刻拍照
【发布时间】:2019-08-24 00:42:44
【问题描述】:

在我的应用程序中,我创建了一个自定义相机视图用于图像捕捉。 当我触发捕获时,我使用以下代码:

private func takePhoto() {
   let settings = AVCapturePhotoSettings()
   self.stillImageOutput.capturePhoto(with: settings, delegate: self)
}

这会触发photoOutput didFinishProcessingPhoto

我从AVCapturePhoto 中提取UIImage 并继续。

我的问题在我调用self.stillImageOutput.capturePhoto 和图像到达didFinishProcessingPhoto 之间,平均通过 0.5 秒,我需要捕获图像(几乎)恰好在调用capturePhoto 的时间。

有没有办法加快这个过程,或者有其他方法可以达到同样的效果吗?

【问题讨论】:

    标签: ios swift avcapturesession avcapturephotooutput


    【解决方案1】:

    let settings = AVCapturePhotoSettings() 写在takePhoto 函数之外,当你调用takePhoto 函数时创建一个新内存并分配给settings 变量,所以如果你在这个控制器中全局定义,那么内存将在这个时候分配控制器负载,它将加快拍照过程。

    【讨论】:

    • 确实如此,但它并不能起到神奇的作用。这很可能无法像其他人建议的那样完成,但仍然值得一试。
    • 是的,你是对的,曾几何时,我在打开相机和照片库(UIImagePickerController)时遇到了同样的问题,我在控制器中定义了一个全局变量来解决这个问题。它在加速过程中运行良好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 1970-01-01
    • 2018-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多