使用MPMoviePlayerController无法从video获取多个图像。 OSStatus -12433

我试图使用MPMoviePlayerController从选定的video文件中提取多个图像。 以下是我写的代码。

movie = [[MPMoviePlayerController alloc] initWithContentURL:[info objectForKey:UIImagePickerControllerMediaURL]]; NSNumber *time1 = [NSNumber numberWithInt:1]; NSNumber *time2 = [NSNumber numberWithInt:3]; NSNumber *time3 = [NSNumber numberWithInt:5]; NSArray *times = [NSArray arrayWithObjects:time1,time2,time3,nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleThumbnailImageRequestFinishNotification:) name:MPMoviePlayerThumbnailImageRequestDidFinishNotification object:movie]; [movie requestThumbnailImagesAtTimes:times timeOption:MPMovieTimeOptionExact]; 

这是通知的处理程序

  -(void)handleThumbnailImageRequestFinishNotification:(NSNotification*)note { NSDictionary *userinfo = [note userInfo]; NSError* value = [userinfo objectForKey:MPMoviePlayerThumbnailErrorKey]; if (value!=nil) { NSLog(@"Error: %@", [value debugDescription]); } else { _imageView.image = [userinfo valueForKey:MPMoviePlayerThumbnailImageKey]; } } 

但是,我收到以下错误信息:

  Error: Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo=0x1d8a63d0 {NSLocalizedDescription=The operation could not be completed, NSUnderlyingError=0x1d8b7b50 "The operation couldn't be completed. (OSStatus error -12433.)", NSLocalizedFailureReason=An unknown error occurred (-12433)} 

任何人都知道OSStatus错误-12433的描述? 我试图search有关OSStatus错误代码的文档,但不成功。

任何帮助将不胜感激。

我不得不把时间添加为浮动,所以:

 NSNumber *time1 = [NSNumber numberWithFloat:1.f]; 

我使用库iFrameExtractor https://github.com/lajos/iFrameExtractor来做到这一点

希望这个帮助祝你好运

我得到了完全相同的错误OSStatus -12433 ,我正在使用AVAssetImageGenerator

原来我的问题是由于我正在请求缩略图的时候造成的。 以下是工作时间和发生错误的时间示例。

 CMTime timeGivesError = CMTimeMakeWithSeconds(0.0, 0.0); CMTime timeWorks = CMTimeMakeWithSeconds(0.0, 1.0); CGImageRef image = [gen copyCGImageAtTime:timeWorks actualTime:&actualTime error:&error]; 

我会尝试调整你的时间,看看是否有另一个选项,将工作。