我做了一个示例演示,在我看来播放一个视频。
代码:
- (IBAction)playVideo:(id)sender
{
NSURL *videoURL = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"sample_Video" ofType:@"mp4"]];
self.player = [AVPlayer playerWithURL:videoURL];
AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
playerLayer.frame = self.videoView.bounds;
[self.videoView.layer addSublayer:playerLayer];
[self.player play];
self.slider.hidden = NO;
self.playButton.enabled = NO;
self.pauseButton.enabled = YES;
}
-(IBAction)pauseVideo:(id)sender
{
[self.player pause];
self.playButton.enabled = YES;
self.pauseButton.enabled = NO;
}
我的问题是当我单击播放视频播放时。当我单击暂停视频暂停时。
但是,当我再次单击时,它再次开始开始。我想要简历功能。
这是因为您再次初始化播放器。做这个技巧
在.h中声明一个变量bool iSresumed = false;
现在将您的代码更新为此
-(IBAction)playVideo:(id)sender {
if(isResumed) {
[self.player play];
self.pauseButton.enabled = YES;
}
else{
NSURL *videoURL = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"sample_Video" ofType:@"mp4"]];
self.player = [AVPlayer playerWithURL:videoURL];
AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.player];
playerLayer.frame = self.videoView.bounds;
[self.videoView.layer addSublayer:playerLayer];
[self.player play];
self.slider.hidden = NO;
self.playButton.enabled = NO;
self.pauseButton.enabled = YES;
}
}
-(IBAction)pauseVideo:(id)sender {
isResumed = true;
[self.player pause];
self.playButton.enabled = YES;
self.pauseButton.enabled = NO;
}
这是因为在您的PlayVideo方法中,您正在创建Avplayer的新实例。添加"如果"条件以检查您是否已经有Avplayer,然后恢复它。在您的playVideo方法中添加此代码:
if (self.player) {
[self.player play];
return;
}