MPMoviePlayerController 起始图像

Posted

技术标签:

【中文标题】MPMoviePlayerController 起始图像【英文标题】:MPMoviePlayerController starting image 【发布时间】:2012-10-01 17:26:05 【问题描述】:

在我的应用程序中,我创建的 MPMoviePlayerController 实例一开始是一个黑盒子,看起来像这样(因为视频一开始是黑色的,然后淡入):

不过,我设想的是像这样更用户友好的东西,带有缩略图,如下例所示:

这是我创建的模型,但相机胶卷中的视频和消息应用程序中发送的视频使用该播放箭头。我需要实现什么类才能使用现有的 ios 播放箭头?

【问题讨论】:

【参考方案1】:

这看起来像 MPMoviePlayerControllerthumbnailImageAtTime:timeOption: 方法,您应该输入要检索缩略图的时间,并使用该图像在视频顶部显示 UIImageView

获得缩略图后,您创建一个UIImageView 并将图像设置为缩略图,并确保将userInteractionsEnabled 设置为YES。确保将此图像视图的框架设置为覆盖电影播放器​​。

现在您可以在该图像视图上创建一个UITapGestureRecognizer,它将触发一个方法。然后,此方法调用 MPMoviePlayerController 对象的 play 方法。

-(void)viewDidLoad
    [...]

    UIImage *thumbnail = [moviePlayer thumbnailImageAtTime:5.0 
                                                timeOption:MPMovieTimeOptionNearestKeyFrame];

    UIImageView *iv = [[UIImageView alloc] initWithImage:thumbnail];
    iv.userInteractionEnabled = YES;
    iv.frame = moviePlayer.frame;
    [self.view addSubview:iv];
    [iv release];

    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
    tap.numberOfTapsRequired = 1;
    [iv addGestureRecognizer:tap];
    [tap release];

    [...]



- (void)handleTap:(UITapGestureRecognizer *)gesture
    iv.hidden = YES;
    [moviePlayer play];

请注意,如果您想要播放按钮,然后在 Photoshop 中制作一个播放按钮,并将其添加到缩略图图像视图的顶部,将手势识别器附加到该图像视图,并确保在开始播放时隐藏两个图像视图你的视频。

您可以使用UIButton,否则将图像设置为播放图像,那么您根本不需要UIGestureRecognizer

【讨论】:

播放箭头呢?是否显示在UIImageView 上?另外,如何设置UIImageView 以启用您提到的用户交互? 是的,在你的情况下是这样。你的预览图不一样。 你还没有回答我的问题。我如何获得我给出的示例的播放箭头,您也没有提到如何“设置图像视图以启用用户交互”。缩略图方法所做的只是抓取图像,我有图像,这不是问题。请重试。 嗨,你现在得到你想要的了吗?我的示例代码对你有用吗? 我猜是这样,但你说我必须使用 Photoshop 来创建播放箭头,没有 iOS 股票播放箭头。你确定吗?显然,我已经为这篇文章创建了自己的一个,但我希望有一个 iOS 股票,我知道我已经看到了。 (看起来就像我的模型。)【参考方案2】:

您将通过将视频嵌入到 Web 视图中的 html 5 <video> 标记中来获得此箭头。

对于实际实现,请参阅Play embedded video in UIWebView with HTML5 之类的答案。

【讨论】:

【参考方案3】:

只使用 UIButton 怎么样?它可以有一个漂亮的背景图像,单击它,然后将其移动到电影播放器​​后面,或者甚至删除按钮。即使在代码中添加也很简单

【讨论】:

以上是关于MPMoviePlayerController 起始图像的主要内容,如果未能解决你的问题,请参考以下文章

UIPinchGesture 在 MPMoviePlayerController 上不起作用?

MPMoviePlayerController 在 iOS4 中不起作用

MPMoviePlayerController 在 iOS 5 上不起作用

MPMoviePlayerController 缩放模式在 iPad 横向模式下不起作用

MPMoviePlayerController 停止按钮不起作用

升级到 iOS 5 后 MPMoviePlayerController 不起作用