请求生成我的缩略图后如何在UIImageView中显示它?
NSURL *videoURL = [NSURL URLWithString:_videoPathString] ;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer requestThumbnailImagesAtTimes:[NSArray arrayWithObject:[NSNumber numberWithFloat:2.0f]] timeOption:MPMovieTimeOptionExact];
有什么想法吗?
答案 0 :(得分:6)
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];
}
答案 1 :(得分:0)
在方法的文档中非常清楚地提到:
此方法单独处理每个缩略图请求 异步。当单个图像的结果到达时,电影 玩家发布MPMoviePlayerThumbnailImageRequestDidFinishNotification 通知与该图像的结果。通知已发布 无论图像捕获是成功还是失败。您 应在调用此方法之前注册此通知。
要注册通知,请参阅this