播放快速电影时如何触发章节标记的事件?

时间:2011-04-26 08:48:30

标签: iphone ipad mpmovieplayercontroller quicktime movie

我正在尝试创建一个iPad应用程序,我需要播放包含一些章节标记的快速电影。当达到每个标记时,我需要在视频顶部显示一个小的叠加层。 有没有办法在每次达到标记时触发事件/功能?如果是这样,怎么样?

我没有兴趣从头开始编写一个带编解码器处理的整个电影播放器​​,因为这超出了我的安慰范围 - 所以我希望这可以使用MPMoviePlayer或类似的东西。

非常感谢任何帮助! :)

1 个答案:

答案 0 :(得分:0)

注册以接收以下通知:

#define MPAVControllerTimeDidJumpNotification @"MPAVControllerTimeDidJumpNotification"

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(handleTimeChanged:) name:MPAVControllerTimeDidJumpNotification object:nil];

-(void)handleTimeChanged:(NSNotification *)notification
{
    static int i = 0;
    NSDictionary * userInfo = notification.userInfo;
    int lastPositionInSeconds = [[userInfo valueForKey:@"MPAVControllerTimeParameter"] intValue];
    if(lastPositionInSeconds > markers[i])
    {
         i++;
         [self showOverlay: i];
    }
}

还注册接收MPMoviePlayerPlaybackDidFinishNotification通知以停止侦听MPAVControllerTimeDidJumpNotification通知。