如何显示跳过按钮以在播放视频的10秒内关闭MPmoviePlayerViewController

时间:2014-12-18 16:20:10

标签: objective-c iphone mpmovieplayercontroller nstimer mpmovieplayer

在我的应用中,我正在使用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.

任何人都可以帮忙吗

2 个答案:

答案 0 :(得分:1)

有什么问题?使用dispatch_after暂停5秒钟然后在调度块内运行一秒计时器以计算剩余秒数

修改 哦,对不起,您只需要一个NSTimer和秒计数器ivar来跟踪从视频开始经过的秒数

答案 1 :(得分:1)

对于播放选项,您可以在后台使用时使用[_moviePlayerViewController.moviePlayer pause];,并且可以再次从再次到达前景的位置恢复播放。

如果用户退出应用程序,您也可以提供播放选项。您可以单独管理计数器变量,计算视频播放的秒数。用户退出应用程序时存储此计数器的值,短暂存储播放器停止播放时的值。现在当你再次回到这个视图时,你可以检查视频的实际长度,并与它已播放和播放的持续时间进行比较。这可能很棘手,但上面提到的暂停功能确实有效。
编辑:为了在10秒后隐藏和显示跳过按钮,计数器解决方案是完美的。