我试图在游戏开始前使用MPMoviePlayerController
播放m4v文件。该游戏基于cocos2d
。
我使用所需文件创建了MPMoviePlayerController
,并将其作为子项添加到CCDirector
(这是UIViewController
的子类)。我将MPMoviePlayerController
作为孩子添加的原因是我希望游戏继续在后台加载。
我的问题是,在视频播放完毕后,我无法找到删除MPMoviePlayerController
的方法。
请提出建议。
提前致谢。
答案 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];
}];
如果这不起作用,您可能需要为我们发布您的播放器创建和设置代码,以帮助您了解正在发生的事情。