Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 是否将应用程序内视频保存到相机卷?_Iphone_Video_Camera - Fatal编程技术网

Iphone 是否将应用程序内视频保存到相机卷?

Iphone 是否将应用程序内视频保存到相机卷?,iphone,video,camera,Iphone,Video,Camera,是否可以拍摄嵌入应用程序中的视频,并将其保存到摄像机卷中?如果是,怎么做?这和UIWriteImage是一样的吗?假设您已经知道如何保存图像,您可以尝试以下代码: -(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSString *mediaType = [info objectForKey:UIImagePic

是否可以拍摄嵌入应用程序中的视频,并将其保存到摄像机卷中?如果是,怎么做?这和UIWriteImage是一样的吗?

假设您已经知道如何保存图像,您可以尝试以下代码:

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSString *mediaType = [info objectForKey:UIImagePickerControllerMediaType];
    if([mediaType isEqualToString:(NSString *)kUTTypeMovie]) {
       //Save the video
       NSURL *movieUrl = [info objectForKey:UIImagePickerControllerMediaURL];
       UISaveVideoAtPathToSavedPhotosAlbum([movieUrl relativePath], self,@selector(movie:didFinishSavingWithError:contextInfo:), nil);
    }
}
或者你可以试试:

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
  if([mediaType isEqualToString:(NSString *)kUTTypeMovie]) {
    NSURL *movieUrl = [info objectForKey:UIImagePickerControllerMediaURL];
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    [library writeVideoAtPathToSavedPhotosAlbum:movieUrl completionBlock:^(NSURL *assetURL, NSError *error){
        if(error) {
            NSLog(@"CameraViewController: Error on saving movie : %@ {imagePickerController}", error);
        }
        else {
            NSLog(@"URL: %@", assetURL);
        }
    }];
  }
}

对于iOS 8及更高版本,请使用。该库已弃用

包括:

@import PhotosUI;
然后使用此选项保存您的电影:

[[PHPhotoLibrary sharedPhotoLibrary] performChanges:^
 {
     [PHAssetChangeRequest creationRequestForAssetFromVideoAtFileURL:<%Your Movie URL%>];
 }
                                  completionHandler:^(BOOL success, NSError *error)
 {
     if (success) {
         NSLog(@"Movie saved to camera roll.");
     }
     else {
         NSLog(@"Could not save movie to camera roll. Error: %@", error);
     }
 }];
[[PHPhotoLibrary sharedPhotoLibrary]性能更改:^
{
[PhaseSetChangeRequest creationRequestForAssetFromVideoAtFileURL:];
}
completionHandler:^(布尔成功,N错误*错误)
{
如果(成功){
NSLog(@“电影保存到相机卷”);
}
否则{
NSLog(@“无法将电影保存到摄影机卷。错误:%@”,错误);
}
}];

@EmilioPelaez我只知道如何将UIImageWriteToSavedPhotosAlbum写入相机卷,但这仅用于UIImagesHelp帮助。。。我尝试了很多东西。这个答案似乎是最优雅的,但我真的无法让它在我的设备上工作。对于电影URL,我将传递UIImagePicker字典值:
UIImagePickerControllerMediaURL
,如下所示:
file:///private/var/mobile/Containers/Data/Application/A305CE7A-3959-479A-AE61-1BB184C3A679/tmp/83HDFS29__ABAG84H9-AA33-4137-AA2E-BE1JDHFBC41.MOV
我收到这个错误:
“操作无法完成。(Cocoa error-1。)
用于错误对象的
本地化描述。