MPMoviePlayerController 起始图像
Posted
技术标签:
【中文标题】MPMoviePlayerController 起始图像【英文标题】:MPMoviePlayerController starting image 【发布时间】:2012-10-01 17:26:05 【问题描述】:在我的应用程序中,我创建的 MPMoviePlayerController
实例一开始是一个黑盒子,看起来像这样(因为视频一开始是黑色的,然后淡入):
不过,我设想的是像这样更用户友好的东西,带有缩略图,如下例所示:
这是我创建的模型,但相机胶卷中的视频和消息应用程序中发送的视频使用该播放箭头。我需要实现什么类才能使用现有的 ios 播放箭头?
【问题讨论】:
【参考方案1】:这看起来像 MPMoviePlayerController
的 thumbnailImageAtTime: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 横向模式下不起作用