将应用程序文档中的视频导出到相机胶卷

时间:2014-11-11 08:31:08

标签: ios objective-c alassetslibrary avassetexportsession camera-roll

我只想将.mp4文件导出到相机胶卷这是我的代码。

self.videoPath=@"/var/mobile/Applications/AE75E729-7F10-478B-9DAF-E730EB4231D1/Documents/Videos/aa.mp4"; 
AVURLAsset *avAsset = [AVURLAsset URLAssetWithURL:[NSURL fileURLWithPath:self.videoPath] options:nil];
        NSArray *compatiblePresets = [AVAssetExportSession exportPresetsCompatibleWithAsset:avAsset];

        AVAssetExportSession *exportSession = [[AVAssetExportSession alloc]initWithAsset:avAsset presetName:AVAssetExportPresetPassthrough];
        //NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

        exportSession.outputURL = [NSURL fileURLWithPath:self.videoPath];
        NSLog(@"videopath of your mp4 file = %@",self.videoPath);  // PATH OF YOUR .mp4 FILE
        exportSession.outputFileType = AVFileTypeMPEG4;

        //  CMTime start = CMTimeMakeWithSeconds(1.0, 600);
        //  CMTime duration = CMTimeMakeWithSeconds(3.0, 600);
        //  CMTimeRange range = CMTimeRangeMake(start, duration);
        //   exportSession.timeRange = range;
        //  UNCOMMENT ABOVE LINES FOR CROP VIDEO
        [exportSession exportAsynchronouslyWithCompletionHandler:^{

            switch ([exportSession status]) {

                case AVAssetExportSessionStatusFailed:
                    NSLog(@"Export failed: %@", [[exportSession error] localizedDescription]);

                    break;

                case AVAssetExportSessionStatusCancelled:

                    NSLog(@"Export canceled");

                    break;

                default:

                    break;

            }
            UISaveVideoAtPathToSavedPhotosAlbum(self.videoPath, self, nil, nil);
            [exportSession release];

        }];

    }

导出失败:无法保存;

0 个答案:

没有答案