视频编辑控制器:用来剪切视频的类 ,一般都是先从UIImagePickerController选取视频,然后再进行视频剪切
首先初始化UIImagePickerController
UIImagePickerController *ipc = [[UIImagePickerControlleralloc] init];
ipc.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
ipc.delegate =self;
ipc.allowsEditing =NO;
ipc.videoQuality =UIImagePickerControllerQualityTypeMedium;
ipc.videoMaximumDuration =30.0f; // 30 seconds
ipc.mediaTypes = [NSArrayarrayWithObject:@"public.movie"];//指定为视频格式
在代理中获取选取视频的地址
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
// recover video URL
NSURL *url = [info objectForKey:UIImagePickerControllerMediaURL];
self.vpath = [urlpath];//选取视频的地址
}
开始编辑视频
- (void) doEdit
{
if (![UIVideoEditorController canEditVideoAtPath:self.vpath])//判断当下地址的视频能否编辑{
self.title =@"Cannot Edit Video";
printf("Cannot edit vid at path\n");
return;
}
// Can edit
UIVideoEditorController *vec = [[UIVideoEditorControlleralloc] init];
vec.videoPath =self.vpath;
vec.delegate =self;
[self presentViewController:vec animated:YEScompletion:nil];
}
@property(nonatomic,copy) NSString *videoPath;//视频路径
@property(nonatomic) NSTimeInterval videoMaximumDuration;//最大的时间 可以自己设定
@property(nonatomic) UIImagePickerControllerQualityType videoQuality;//视频质量
代理
- (void)videoEditorController:(UIVideoEditorController *)editor didSaveEditedVideoToPath:(NSString *)editedVideoPath;//保存成功
- (void)videoEditorController:(UIVideoEditorController *)editor didFailWithError:(NSError *)error;//失败
- (void)videoEditorControllerDidCancel:(UIVideoEditorController *)editor;//取消