//imageView添加手势
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapAction:)];
[self.imageView addGestureRecognizer:tap];
注意:如果使用xib给imageVIew添加手势,则通过loadNibNamed加载xib的时候需要获取返回数组的firstObject,得到的才是xib的View,如果获取lastObject,得到是的tap手势,会报错tap手势对象没有View的方法。
5、其他控件显示以及状态的设置
// 隐藏遮盖版
self.coverView.hidden = YES;
// 设置工具栏状态
self.toolView.alpha = 0;
self.isShowToolView = NO;
// 设置工具栏播放按钮状态
self.playOrPauseBtn.selected = NO;
这盖板只有播放完毕之后显现,点击重播之后又隐藏,因此使用hidden直接隐藏即可,而工具栏需要重复显示,并且我们为了能让工具栏的显示有动画效果,这里通过设置toolView的alpha来显示或隐藏工具栏,并通过isShowToolView来记录toolView的显示或隐藏。
6、中间播放按钮的点击
- (IBAction)playOrPauseBigBtnClick:(UIButton *)sender {
// 隐藏中间播放按钮,工具栏播放按钮为选中状态
sender.hidden = YES;
self.playOrPauseBtn.selected = YES;
// 替换播放内容
[self.player replaceCurrentItemWithPlayerItem:self.playerItem];
[self.player play];
[self addProgressTimer];
}
此时,当我们点击中间播放按钮播放器就可以播放视频了。
二. 工具条的显示与隐藏
在播放状态时,当点击imageView,就会弹出底部工具条,可以查看当前播放的时间,视频总时间或进行暂停视频、全屏播放等操作。如果没有操作,工具栏会在5秒之后自动隐藏。而当未播放状态时,点击imageView和中间播放按钮效果一样,开始播放视频。
1、添加定时器,5秒钟之后隐藏底部工具条,并提供移除定时器的方法。
/** toolView显示时开始计时,5s后隐藏toolView */
-(void)addShowTime
{
self.showTime = [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(upDateToolView) userInfo:nil repeats:NO];
[[NSRunLoop mainRunLoop]addTimer:self.showTime forMode:NSRunLoopCommonModes];
}
/** 将toolView隐藏 */
-(void)upDateToolView
{
self.isShowToolView = !self.isShowToolView;
[UIView animateWithDuration:0.5 animations:^{
self.toolView.alpha = 0;
}];
}
/**移除定时器*/
-(void)removeShowTime
{
[self.showTime invalidate];
self.showTime = nil;
}
2、imageView的tap手势点击方法实现,这里分为几种情况,当视频未播放的时候,点击imageView不会显示工具栏,而是与点击中间播放按钮相同,开始播放视频,播放过程中点击imageView会显示工具栏,而如果此时点击了工具栏中的暂停按钮,播放暂停,则此时工具栏不会消失,重新开始播放视频,工具栏在5秒内消失。










