在我的应用中,我创建的MPMoviePlayerController
实例以黑框开头,看起来像这样(因为视频以黑色开始淡入淡出):
然而,我想象一下像这样的用户友好的东西,带有缩略图,如下例所示:
这是我创建的模型,但是相册中的视频和“消息”应用中发送的视频使用该播放箭头。使用iOS播放箭头需要实现哪个类?
答案 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怎么样?它可以有一个漂亮的背景图像,点击它,并将其移动到电影播放器后面或甚至删除按钮。即使在代码中添加也很简单