2011-08-07 11 views
6

Quiero capturar vídeo en el iPhone4 y al finalizar Quiero guardar documentos en el directorio de iPhone.Please ayuda .Soy capaz de capturar vídeo utilizando UIImagePickerController pero no es capaz para guardarlo en el directorio de documentos.Cómo capturar vídeo y para guardar documentos en el directorio de iPhone

+0

puedo recuperar la dirección URL utilizando –

+0

// var/mobile/Applications privados /B7D80D11-E0C4-47AD-AEF6-9C815AF99CB2/tmp//trim.qx7VMa.MOV –

Respuesta

5

Si desea guardar los vídeos con una UIImagePicker, puede guardar fácilmente a las fotos del álbum a través de:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info; { 
    NSURL * movieURL = [[info valueForKey:UIImagePickerControllerMediaURL] retain];// Get the URL of where the movie is stored. 
    UISaveVideoAtPathToSavedPhotosAlbum([movieURL path], nil, nil, nil); 
} 

Esto le permite guardarlo en el álbum de fotos, y mantener una trayectoria de referencia a la película para usar más tarde. No estoy seguro si esto es lo que necesita, pero le permite guardar películas.

EDIT: Si realmente desea guardar la película en el directorio de documentos, simplemente tomar el código anterior, y cambiar la línea:

UISaveVideoAtPathToSavedPhotosAlbum([movieURL path], nil, nil, nil); 

a

NSData * movieData = [NSData dataWithContentsOfURL:movieURL]; 

Esto le dará los datos de la película, y a partir de ahí, puede escribir esa información en el directorio de documentos. ¡Espero que ayude!

+0

nop Quiero guardarlo en el directorio de documentos no en el álbum de fotos –

+0

Este código parece hombre perfecto. Realmente no sé qué es el directorio de "Documentos" en un iPhone, ni por qué querrías confundir a tus usuarios y guardar sus videos en un lugar arcaico. Pero esta solución parece encajar de manera brillante. – Jake

+0

Directorio de documentos es un directorio editable en la aplicación iPhone, puede escribir archivos en él. Como quiero guardar videos solo en la aplicación que es más segura y el usuario puede ver usando nombre de usuario y contraseña –

1

probar esto funcionó para mí:

En acción de guardar:

NSURL* videoURL = [mMediaInfoDictionary objectForKey:UIImagePickerControllerMediaURL]; 
      NSString* videoPath=[videoURL path]; 
      UISaveVideoAtPathToSavedPhotosAlbum(videoPath, self, @selector(video:didFinishSavingWithError:contextInfo:), nil); 

llamada de vuelta método

- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo 
{ 
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 

    if (error != nil) { 
     NSLog(@"Error: %@", error); 
    } 

} 
+0

Puede hacer si (error). agregando el extra! = nil es redundante. –

Cuestiones relacionadas