在我的应用中,我正在使用MPmoviePlayerViewController播放视频。
实际上有些视频太长,无法观看3-5分钟。
我想允许用户在10秒后跳过视频,如果他想要。
我的要求是 我需要在视频的第10秒后显示倒数10,9,8 - 0,我们会显示跳过按钮。
_moviePlayerViewController = [[MPMoviePlayerViewController alloc] init ];
[_moviePlayerViewController.view setFrame:self.view.frame];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:_moviePlayerViewController.moviePlayer];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(MPMoviePlayerPlaybackStateDidChange:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:nil];
_moviePlayerViewController.moviePlayer.shouldAutoplay = YES;
[_moviePlayerViewController.moviePlayer setFullscreen:YES];
_moviePlayerViewController.moviePlayer.repeatMode = MPMovieRepeatModeNone;
_moviePlayerViewController.moviePlayer.controlStyle = MPMovieControlStyleNone;
_moviePlayerViewController.moviePlayer.scalingMode = MPMovieScalingModeNone;
_moviePlayerViewController.moviePlayer.contentURL =[NSURL fileURLWithPath:videoPath];
在这个应用程序中我们有回放选项, 即如果用户退出应用程序,他可以从后台返回视频。
in both the case (resume after come foreground, and just now started video)
the user should see a skip button when the video play time is 10 seconds.
任何人都可以帮忙吗
答案 0 :(得分:1)
有什么问题?使用dispatch_after
暂停5秒钟然后在调度块内运行一秒计时器以计算剩余秒数
修改强>
哦,对不起,您只需要一个NSTimer
和秒计数器ivar来跟踪从视频开始经过的秒数
答案 1 :(得分:1)
对于播放选项,您可以在后台使用时使用[_moviePlayerViewController.moviePlayer pause];
,并且可以再次从再次到达前景的位置恢复播放。
如果用户退出应用程序,您也可以提供播放选项。您可以单独管理计数器变量,计算视频播放的秒数。用户退出应用程序时存储此计数器的值,短暂存储播放器停止播放时的值。现在当你再次回到这个视图时,你可以检查视频的实际长度,并与它已播放和播放的持续时间进行比较。这可能很棘手,但上面提到的暂停功能确实有效。
编辑:为了在10秒后隐藏和显示跳过按钮,计数器解决方案是完美的。