我在视频模式下有一个UIImagePickerController;在我完成录制视频后,点击“使用”按钮接受视频我使用此方法-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
并在其中我希望将视频保存在相机胶卷中并从视频中检索第一帧以在UIImageView中显示它。我使用的代码如下:
NSString *tempFilePath = [[info objectForKey:UIImagePickerControllerMediaURL] path]; NSURL *url = [NSURL fileURLWithPath:tempFilePath]; MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url]; moviePlayer.shouldAutoplay = NO; imageView.image = [moviePlayer thumbnailImageAtTime:0.0 timeOption:MPMovieTimeOptionNearestKeyFrame];
问题是,如果我添加方法UISaveVideoAtPathToSavedPhotosAlbum
应用程序崩溃。
UISaveVideoAtPathToSavedPhotosAlbum(tempFilePath, self, @selector(video:didFinishSavingWithError:contextInfo:), nil);
其中tmpFilePath
与我上面使用的相同。
相反,如果我只使用其中一个操作(UISaveVideoAtPathToSavedPhotosAlbum或检索框架),那么一切正常!
控制台报告此错误:
由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'+ [NSInvocation invocationWithMethodSignature:]:方法签名参数不能为nil'
有什么想法吗?感谢...
答案 0 :(得分:5)
在您的课程中,您是否实施了以下方法?
- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo {