NSInvalidArgumentException * + [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:] - NULLサンプルバッファ。なぜAVCaptureStillImageOutput jpegStillImageNSDataRepresentationがNULLサンプルバッファで例外をスローしますか?
これは、あまりにも(速すぎる)写真を連続して撮ると起こると思われます。
NSInvalidArgumentException * + [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:] - NULLサンプルバッファ。なぜAVCaptureStillImageOutput jpegStillImageNSDataRepresentationがNULLサンプルバッファで例外をスローしますか?
これは、あまりにも(速すぎる)写真を連続して撮ると起こると思われます。
まあそれはマニュアルに書かれています:
jpegSampleBufferはJPEG形式でNULLであるか、ない場合、このメソッドはNSInvalidArgumentExceptionをスローします。
これはおそらく、JPEGプロセッサが予期しているデータがまだバッファに入っていないことを意味します(あまりにも速く写真を撮ると)。
だからNULL
または何私がしたために、あなたのimageSampleBuffer
を確認し、次のいずれか私は、if文のチェックで全体の事をラップ:CMSampleBufferIsValid(imageSampleBuffer)
が、それは、これを保護するための正しい方法であれば、本当に知りません。ドキュメントは少し疎です。
これに関する最新情報はありますか? – MobileMon
いつものように、エラーをチェックしてください。
[self.stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection
completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
{
if (!error) {
はまたちょうど包み、ここ(IBAction)didTakePhoto
if (self.captureSession.isRunning) {
[self captureNow];
//Custom capture method.
}
が、それは、スレッド関連のかしら同じ問題を取得するのです。 – ribeto