ios youtube视频继续在后台播放

时间:2013-07-27 07:39:42

标签: ios webview youtube mpmovieplayercontroller

我在我的iPad应用中单独viewController(比如videoViewController)播放YouTube视频,我有一个家庭视图控制器,其中有一个按钮可以加载videoViewController

当我点击播放图标时,每件事情都很好。我正在使用此代码

[_webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString: [NSString stringWithFormat:@"https://www.youtube.com/embed/%@", @"eOG90Q8EfRo"]]]];

现在这个videoViewController顶部有一个后退按钮,使用下面的代码:

[self.navigationController popViewControllerAnimated:YES];

当我点击它时,会显示主页viewController,但视频会继续播放。即使我再次访问videoViewController,它仍然会播放,直到我选择要播放的新视频。

我尝试在管道视图控制器之前调用viewDidUnload并尝试下面的代码

- (void)viewDidUnload {
    [_webview stopLoading];
    _webview.delegate = nil;
    [self setWebview:nil];
}

然而没有任何反应,我希望当我按下后退按钮时该视频停止播放。

我猜视频是在iOS提供的MPMoviePlayerController中播放有任何方式,以便我可以获取它以使视频停止。

3 个答案:

答案 0 :(得分:1)

当您想要返回主控制器时,只需使用加载空白页。

 [self.webView.mainFrame loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];

答案 1 :(得分:0)

你在为iOS 6写作吗?

如果是,则不推荐使用viewDidUnload。尝试使用viewDidDisappear。

- (void)viewDidDisappear {
    [_webview stopLoading];
    _webview.delegate = nil;
    [self setWebview:nil];
}

答案 2 :(得分:0)

好的,我找到了解决问题的方法。

最后我开始工作了:

-(void)viewWillDisappear:(BOOL)animated
{
    [_webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"about:blank"]]];
}