为什么AVCaptureStillImageOutput jpegStillImageNSDataRepresentation会抛出一个带有NULL样本缓冲区的异常?

pbx*_*pbx 10 iphone ios

NSInvalidArgumentException * + [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:] - NULL样本缓冲区.

如果您连续拍摄太多(太快)的照片,这似乎就会发生.

Alp*_*per 10

它在文档中说:

如果jpegSampleBuffer为NULL或不是JPEG格式,则此方法抛出NSInvalidArgumentException.

所以这可能意味着JPEG处理器所期望的数据还没有在缓冲区中(如果拍摄得太快).

所以要么你检查你imageSampleBufferNULL或我做了什么:我把整个事情包装在一个if语句检查:CMSampleBufferIsValid(imageSampleBuffer)但不知道这是否是正确的方法来保护这一点.文档有点稀疏.