2

ビデオを camera roll に保存する必要があります。ビデオは nsdata の形式です。その方法だと知っている

UISaveVideoAtPathToSavedPhotosAlbum(videopath, self,  @selector(video:didFinishSavingWithError:contextInfo:), nil);
- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {

    NSLog(@"is error?%@",error);
}

これも試しましたが、うまくいきませんでした

 NSURL *movieURL = [NSURL fileURLWithPath:self.videoPath];

        NSLog(@"movie url== %@",self.videoPath);
                    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
                 [library writeVideoAtPathToSavedPhotosAlbum:movieURL
                                             completionBlock:^(NSURL *assetURL, NSError *error){NSLog(@"complete ");}];

このメソッドは nsdata ではなくパスを受け入れます。私は何をすべきか?

こちら ビデオパス = @"/var/mobile/Applications/AE75E729-7F10-478B-9DAF-E730EB4231D1/Documents/Videos/12.mp4"

4

3 に答える 3

0

[こちら] の例を見てきました ( https://github.com/versluis/Video-Recorder )

私は試していませんが、お役に立てば幸いです。

コードをダウンロードし、ViewController.m でコードを確認します。

NSURL *chosenMovie = [info objectForKey:UIImagePickerControllerMediaURL];

// save it to the documents directory
NSURL *fileURL = [self grabFileURL:@"video.mov"];
NSData *movieData = [NSData dataWithContentsOfURL:chosenMovie];
[movieData writeToURL:fileURL atomically:YES];

// save it to the Camera Roll
UISaveVideoAtPathToSavedPhotosAlbum([chosenMovie path], nil, nil, nil);

最初に NSData でファイルを作成し、そのファイルのパスを UISaveVideoAtPathToSavedPhotosAlbum メソッドに渡します。

ビデオを.mp4形式で保存する[stackoverflow answer](mp4ビデオをデバイスカメラロールに保存する)の別のリンクもあります。

于 2014-11-10T12:29:11.683 に答える
0
NSData *video_data=//Your Video NSData
    // Write it to cache directory
    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"file1.mp4"];
    [video_data writeToFile:path atomically:YES];
    NSLog(@"Path:%@",path);
    // After that use this path to save it to PhotoLibrary
    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    [library writeVideoAtPathToSavedPhotosAlbum:[NSURL fileURLWithPath:path] completionBlock:^(NSURL *assetURL, NSError
*error) {
        if (error) {
            NSLog(@"%@", error.description);
        }else {
            NSLog(@"Done :)");
        }
    }];
于 2016-02-04T13:51:16.797 に答える