【问题标题】:AVCapturePhotoCaptureDelegate Error When Capturing Image捕获图像时出现 AVCapturePhotoCaptureDelegate 错误
【发布时间】:2020-07-01 03:21:36
【问题描述】:

我似乎在几个捕获周期后随机收到此错误消息:

错误整理照片:Error Domain=AVFoundationErrorDomain Code=-11800 "操作无法完成" UserInfo={NSLocalizedFailureReason=发生未知错误 (-16802), NSLocalizedDescription=操作无法完成, NSUnderlyingError=0x281f20f30 {错误域=NSOSStatusErrorDomain 代码=-16802 "(null)"}}

错误发生在:

func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {}

注意事项:

  • 第一次捕获时不会出现此错误。
  • 图片格式也是经过处理的格式:HEIF
  • iOS 13

【问题讨论】:

  • 这可能有关系吗? forums.developer.apple.com/thread/101588
  • -12686 表示在相机流水线开始附近存在缓冲区分配失败。 -16802 同样表示驱动程序层的静止图像故障。
  • 那些似乎对那个线程很有帮助。

标签: ios swift xcode avfoundation avcapturephotosettings


【解决方案1】:

有同样的问题,罪魁祸首是稳定性。我在设置 settings.isAutoStillImageStabilizationEnabled = true 在拍摄图像时。稳定是一个繁重的过程,它在主线程上阻碍了缓冲区分配。将其移至初始化相机的位置,为我解决了问题。

【讨论】:

  • 有趣!那么在相机初始化的时候你到底在做什么呢?
  • 设置输入、输出和摄像头会话,配置设置和添加观察者
  • 我的意思是,您如何在相机初始化时启动 AVCapturePhotoSettings,因为它必须在每次捕获时完成?
猜你喜欢
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
  • 2023-03-04
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多