保存我在我的应用程序中logging的video

我成功了解如何在我的学习之旅中制作相机应用程序:-)

我坚持的唯一的事情就是保存我录制的video。 我可以保存一张照片,但是对于video来说也是一样。

所以我想我已经在iBrad Apps的帮助下获得了。

得到这个代码:

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType]; [self dismissModalViewControllerAnimated:YES]; if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) { UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage]; imageView.image = image; if (newMedia) UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:finishedSavingWithError:contextInfo:), nil); } else{ if ([mediaType isEqualToString:(NSString *)kUTTypeMovie]) { UIImage *movie = [info objectForKey:UIImagePickerControllerQualityTypeHigh]; videoRecorder2.image = movie; if (newMedia) UISaveVideoAtPathToSavedPhotosAlbum(movie, self, @selector(movie:finishedSavingWithError:contextInfo:), nil); }}} 

我有一个if语句,因为应用程序可以同时拍摄video和静止图像。

第一部分是仍然是 – 这是有效的,然后第二部分我仍然用:-)

尝试这个:

 UISaveVideoAtPathToSavedPhotosAlbum(moviepath,nil,nil,nil); 

编辑:试试这个,并修改你的代码到这个方法:

 // For responding to the user tapping Cancel. - (void) imagePickerControllerDidCancel: (UIImagePickerController *) picker { [[picker parentViewController] dismissModalViewControllerAnimated: YES]; [picker release]; } // For responding to the user accepting a newly-captured picture or movie - (void) imagePickerController: (UIImagePickerController *) picker didFinishPickingMediaWithInfo: (NSDictionary *) info { NSString *mediaType = [info objectForKey: UIImagePickerControllerMediaType]; UIImage *originalImage, *editedImage, *imageToSave; // Handle a still image capture if (CFStringCompare ((CFStringRef) mediaType, kUTTypeImage, 0) == kCFCompareEqualTo) { editedImage = (UIImage *) [info objectForKey: UIImagePickerControllerEditedImage]; originalImage = (UIImage *) [info objectForKey: UIImagePickerControllerOriginalImage]; if (editedImage) { imageToSave = editedImage; } else { imageToSave = originalImage; } // Save the new image (original or edited) to the Camera Roll UIImageWriteToSavedPhotosAlbum (imageToSave, nil, nil , nil); } // Handle a movie capture if (CFStringCompare ((CFStringRef) mediaType, kUTTypeMovie, 0) == kCFCompareEqualTo) { NSString *moviePath = [[info objectForKey: UIImagePickerControllerMediaURL] path]; if (UIVideoAtPathIsCompatibleWithSavedPhotosAlbum (moviePath)) { UISaveVideoAtPathToSavedPhotosAlbum ( moviePath, nil, nil, nil); } } [[picker parentViewController] dismissModalViewControllerAnimated: YES]; [picker release]; }