比赛开始前的电影介绍

时间:2012-07-20 18:28:07

标签: ios cocos2d-iphone mpmovieplayercontroller

我试图在游戏开始前使用MPMoviePlayerController播放m4v文件。该游戏基于cocos2d

我使用所需文件创建了MPMoviePlayerController,并将其作为子项添加到CCDirector(这是UIViewController的子类)。我将MPMoviePlayerController作为孩子添加的原因是我希望游戏继续在后台加载。

我的问题是,在视频播放完毕后,我无法找到删除MPMoviePlayerController的方法。

请提出建议。

提前致谢。

2 个答案:

答案 0 :(得分:0)

对于cocos2D游戏,CCVideoPlayer类最好也很容易播放视频。 CLICK HERE FOR EXTENSION

答案 1 :(得分:0)

您应该能够收听MPMoviePlayerPlaybackDidFinishNotification通知,然后删除子视图。这段代码在我的测试中有效:

MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
self.player = moviePlayer;

moviePlayer.controlStyle = MPMovieControlStyleNone;
moviePlayer.shouldAutoplay = YES;
[moviePlayer prepareToPlay];

moviePlayer.view.frame = self.view.bounds;
moviePlayer.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
[self.view addSubview:moviePlayer.view];

[moviePlayer play];

// wait for the video to finish...
MyViewController __weak *weakSelf = self;
[[NSNotificationCenter defaultCenter] addObserverForName:MPMoviePlayerPlaybackDidFinishNotification object:self.player queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
  [[NSNotificationCenter defaultCenter] removeObserver:weakSelf name:MPMoviePlayerPlaybackDidFinishNotification object:weakSelf.player];

  // remove the view
  [weakSelf.player.view removeFromSuperview];
}];

如果这不起作用,您可能需要为我们发布您的播放器创建和设置代码,以帮助您了解正在发生的事情。