vídeo recuerdo pase organizar hacer guardar fotos diapositivas cómo crear como iphone ios xcode

iphone - recuerdo - icloud



¿Cómo guardar videos grabados en un álbum de fotos? (3)

Pruebe el código siguiente

- (void)saveVideo:(NSURL *)videoUrl { NSData *videoData = [NSData dataWithContentsOfURL:videoUrl]; [videoData writeToFile:@"YOUR_PATH_HERE" atomically:YES]; } - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSString *type = [mediaDict objectForKey:UIImagePickerControllerMediaType]; if ([type isEqualToString:(NSString *)kUTTypeVideo] || [type isEqualToString:(NSString *)kUTTypeMovie]) { // movie != video NSURL *videoURL [mediaDict objectForKey:UIImagePickerControllerMediaURL]; [self saveVideo:videoUrl]; } }

o puede intentar esto también Guardar el video en el directorio de documentos es el siguiente

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL]; NSData *videoData = [NSData dataWithContentsOfURL:videoURL]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *tempPath = [documentsDirectory stringByAppendingFormat:@"/vid1.mp4"]; BOOL success = [videoData writeToFile:tempPath atomically:NO]; [picker dismissModalViewControllerAnimated:YES]; }

El siguiente código es para guardar la imagen tomada de la cámara en el álbum de fotos.

if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) { image = [info objectForKey:UIImagePickerControllerEditedImage]; UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:finishedSavingWithError:contextInfo:), nil); }

Cómo guardar video recodificado en photoAlbum?


Verifique el código siguiente ...

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; if ([mediaType isEqualToString:@"public.movie"]){ // Saving the video / // Get the new unique filename NSString *sourcePath = [[info objectForKey:@"UIImagePickerControllerMediaURL"]relativePath]; UISaveVideoAtPathToSavedPhotosAlbum(sourcePath,nil,nil,nil); }


- (void)saveMovieToCameraRoll { ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init]; [library writeVideoAtPathToSavedPhotosAlbum:movieURL completionBlock:^(NSURL *assetURL, NSError *error) { if (error) [self showError:error]; else [self removeFile:movieURL]; dispatch_async(movieWritingQueue, ^{ recordingWillBeStopped = NO; self.recording = NO; [self.delegate recordingDidStop]; }); }]; [library release]; }

Este es el fragmento de código de apple example rosywriter. Sould funciona.

movieURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@%@", NSTemporaryDirectory(), @"Movie.MOV"]]; [movieURL retain];

Las líneas anteriores para crear el archivo y la ruta del video.

- (void) startRecording { dispatch_async(movieWritingQueue, ^{ if ( recordingWillBeStarted || self.recording ) return; recordingWillBeStarted = YES; // recordingDidStart is called from captureOutput:didOutputSampleBuffer:fromConnection: once the asset writer is setup [self.delegate recordingWillStart]; // Remove the file if one with the same name already exists [self removeFile:movieURL]; // Create an asset writer NSError *error; assetWriter = [[AVAssetWriter alloc] initWithURL:movieURL fileType:(NSString *)kUTTypeQuickTimeMovie error:&error]; if (error) [self showError:error]; }); }

Esta función se usa para comenzar a grabar video en ese archivo movieURL usando avassetwriter.