MPMoviePlayerController启动图像

时间:2012-10-01 17:26:05

标签: ios mpmovieplayercontroller

在我的应用中,我创建的MPMoviePlayerController实例以黑框开头,看起来像这样(因为视频以黑色开始淡入淡出):

enter image description here

然而,我想象一下像这样的用户友好的东西,带有缩略图,如下例所示:

enter image description here

这是我创建的模型,但是相册中的视频和“消息”应用中发送的视频使用该播放箭头。使用iOS播放箭头需要实现哪个类?

3 个答案:

答案 0 :(得分:6)

这看起来像是thumbnailImageAtTime:timeOption: MPMoviePlayerController方法的某些内容,您应该传入要检索缩略图的时间并使用该图像在{1}}之上显示UIImageView该视频。

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

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

-(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

答案 1 :(得分:0)

您可以通过在网络视图中将视频嵌入HTML 5 <video>标记来获得此箭头。

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

答案 2 :(得分:0)

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