在MPMoviePlayerViewController中恢复视频

时间:2012-07-06 15:09:15

标签: ios xcode mpmovieplayercontroller mpmovieplayer

我可以使用MPMoviePlayerViewController播放视频文件,一切正常。但是,如果我按下主页按钮,然后立即打开应用程序,视频将从超级视图中删除。我知道如何获得通知。你能告诉我如何恢复同样的视频吗?

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"adv" ofType:@"mp4"];
NSURL*  url = [NSURL fileURLWithPath:filePath];

_moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[_moviePlayer.view setFrame:self.view.bounds];
[self.view addSubview:_moviePlayer.view];

我正在使用上面的代码播放视频。如果我按下主页按钮,然后返回应用程序,视频就会消失。我只能看到正在加载..

2 个答案:

答案 0 :(得分:5)

当应用程序再次激活时,您应该可以通过调用[_moviePlayer play]来重新开始播放。

您可以从AppDelegate的applicationDidBecomeActive方法回拨,或执行以下操作:

[[NSNotificationCenter defaultCenter] addObserverForName:UIApplicationDidBecomeActiveNotification object:[UIApplication sharedApplication] queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) {
  [_moviePlayer play];
}];

为通知添加观察者(不要忘记稍后删除)。

答案 1 :(得分:0)

注册MPMoviePlayerPlaybackStateDidChangeNotification通知并检查_moviePlayer.movi​​ePlayer属性上的endPlaybackTime值

然后在下次显示播放器时将initialPlaybackTime设置为上一个结束值