1

我有一个简单的应用程序,您可以从照片库中选择现有视频,或者您可以使用 UIImagePickerController 拍摄视频。

我添加了以下代码,当我用相机制作新视频时,如果将来需要,我可以将其保存在照片库中。

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{

// Get the selected Video.
NSURL *videoURL = [info objectForKey:UIImagePickerControllerMediaURL];
// Convert to Video data.
NSData *imageData = [NSData dataWithContentsOfURL:videoURL];

// Save Video to Photo Album
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
NSURL *recordedVideoURL= [info objectForKey:UIImagePickerControllerMediaURL];
if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:recordedVideoURL]) {
    [library writeVideoAtPathToSavedPhotosAlbum:recordedVideoURL
                                completionBlock:^(NSURL *assetURL, NSError *error){}
     ];
} 
[library release];

[picker dismissModalViewControllerAnimated:NO];

}

现在我的问题是当我从照片库中选择一个视频时,这个相同的视频被复制,因为这个代码总是保存一个新视频。

是否可以检测您是否从照片库中选择了视频?

4

1 回答 1

2

在保存视频之前,请检查 imagePickerController 的sourceType。仅当 sourceType 为UIImagePickerControllerSourceTypeCamera时才保存视频。

if (picker.sourceType == UIImagePickerControllerSourceTypeCamera) {
    // Save the video 
}
于 2012-05-18T12:29:56.360 回答