2011-12-09 30 views

Trả lời

9

Vâng nó nói trong tài liệu:

Phương pháp này ném một NSInvalidArgumentException nếu jpegSampleBuffer là NULL hay không trong định dạng JPEG.

Vì vậy, có thể dữ liệu được mong đợi bởi bộ xử lý JPEG không nằm trong bộ đệm (nếu bạn chụp ảnh quá nhanh).

Vì vậy, hoặc là bạn kiểm tra của bạn imageSampleBuffer cho NULL hoặc những gì tôi đã làm: Tôi được bao bọc toàn bộ điều trong một kiểm tra nếu-tuyên bố: CMSampleBufferIsValid(imageSampleBuffer) nhưng thật sự không biết nếu đó là cách chính xác để bảo vệ này. Tài liệu là một chút thưa thớt xung quanh.

+0

Mọi cập nhật về điều này? – MobileMon

4

Giống như mọi khi, hãy kiểm tra lỗi.

[self.stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection 
                completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error) 
{ 
    if (!error) { 

Cũng chỉ trong trường hợp, đây là (IBAction)didTakePhoto

if (self.captureSession.isRunning) { 
    [self captureNow]; 
     //Custom capture method. 
} 
Các vấn đề liên quan