2011-12-09 11 views

Respuesta

9

Bien se dice en la documentación:

Este método produce una NSInvalidArgumentException si jpegSampleBuffer es nulo o no en el formato JPEG.

Por lo tanto, probablemente signifique que los datos que espera el procesador JPEG todavía no están en el búfer (si toma imágenes demasiado rápido).

Así que, o comprobar su imageSampleBuffer para NULL o lo que hice: Me envolvió toda la cosa en una comprobación sentencia if-: CMSampleBufferIsValid(imageSampleBuffer) pero realmente no sé si esa es la forma correcta de salvaguardar este. La documentación es un poco escasa.

+0

¿Alguna actualización sobre esto? – MobileMon

4

Como siempre, busca el error.

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

también por si acaso, aquí está (IBAction)didTakePhoto

if (self.captureSession.isRunning) { 
    [self captureNow]; 
     //Custom capture method. 
} 
Cuestiones relacionadas