显示缩略图UIImageView

时间:2014-02-21 21:38:25

标签: ios objective-c uitableview mpmovieplayer

请求生成我的缩略图后如何在UIImageView中显示它?

 NSURL *videoURL = [NSURL URLWithString:_videoPathString] ;
moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:videoURL];
[moviePlayer requestThumbnailImagesAtTimes:[NSArray arrayWithObject:[NSNumber numberWithFloat:2.0f]] timeOption:MPMovieTimeOptionExact];

有什么想法吗?

2 个答案:

答案 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];
}

来源:MPMoviePlayerController Class Reference

答案 1 :(得分:0)

在方法的文档中非常清楚地提到:

  

此方法单独处理每个缩略图请求   异步。当单个图像的结果到达时,电影   玩家发布MPMoviePlayerThumbnailImageRequestDidFinishNotification   通知与该图像的结果。通知已发布   无论图像捕获是成功还是失败。您   应在调用此方法之前注册此通知。

要注册通知,请参阅this