在请求生成我的缩略图之后,我将如何在UIImageView中显示它?
NSURL *videoURL = [NSURL URLWithString:_videoPathString] ;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer requestThumbnailImagesAtTimes:[NSArray arrayWithObject:[NSNumber numberWithFloat:2.0f]] timeOption:MPMovieTimeOptionExact];
有任何想法吗?
当图像请求完成时,requestThumbnailImagesAtTimes:timeOption:
方法将发布MPMoviePlayerThumbnailImageRequestDidFinishNotification
通知。
您需要缩略图的代码应使用NSNotificationCenter订阅此通知,并在收到通知时使用该图像。
例。
首先注册MPMoviePlayerThumbnailImageRequestDidFinishNotification
通知:
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleThumbnailImageRequestFinishNotification:)
name:MPMoviePlayerThumbnailImageRequestDidFinishNotification
object:nil];
然后请求缩略图:
[movie requestThumbnailImagesAtTimes:YOUR_TIMES timeOption:MPMovieTimeOptionExact];
然后得到图像:
-(void)handleThumbnailImageRequestFinishNotification:(NSNotification*)notification
{
NSDictionary *userInfo = [notification userInfo];
UIImage *image = [userInfo valueForKey:MPMoviePlayerThumbnailImageKey];
}
在方法的文档中非常清楚地提到:
此方法单独和异步处理每个缩略图请求。当单个图像的结果到达时,电影播放器会发布MPMoviePlayerThumbnailImageRequestDidFinishNotification通知以及该图像的结果。无论图像捕获成功还是失败,都会发布通知。您应该在调用此方法之前注册此通知。
要注册通知,请参阅this