使用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];
我会尝试调整你的时间,看看是否有另一个选项,将工作。