视频应用将.mp4保存到相机胶卷

时间:2013-03-31 16:39:58

标签: ios

我有一个vidoe应用程序,她所做的就是播放单个.mp4文件。 我想将该文件保存到将要播放的iphone中的相机胶卷。 我已经有了代码,但出于某种原因,视频无法保存。

没有错误,似乎没有错位,但仍然无法保存。 我花了几个小时来解决这个问题,但没有任何问题。 如果有人可以帮我搞清楚吗?请?好吗? 这是保存功能的代码...

- (IBAction)save{

    ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
    // don't forget to link to the AssetsLibrary framework
    // and also #import <AssetsLibrary/AssetsLibrary.h>

    NSString *filePathString = [[NSBundle mainBundle] pathForResource:@"video_name" ofType:@"mp4"];
    NSURL *filePathURL = [NSURL fileURLWithPath:filePathString isDirectory:NO];

    if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:filePathURL]) {
        [library writeVideoAtPathToSavedPhotosAlbum:filePathURL completionBlock:^(NSURL *assetURL, NSError *error){
            if (error) {
               // TODO: error handling

            } else {
                // TODO: success handling
            }
        }];
    }
    }

1 个答案:

答案 0 :(得分:1)

对不起,之前没有人回答这个问题。如果您仍然需要帮助,这应该适合您:

- (IBAction)save{
    NSString *filePathString = [[NSBundle mainBundle] pathForResource:@"video_name" ofType:@"mp4"];
    NSURL *filePathURL = [NSURL fileURLWithPath:filePathString isDirectory:NO];

    UISaveVideoAtPathToSavedPhotosAlbum([filePathURL relativePath], self, @selector(video:didFinishSavingWithError:contextInfo:), nil);
}

- (void) video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
    if (!error){
        // Saved successfully
    } else {
        // Error saving
    }
}