【问题标题】:UIWebview with multiple Youtube video's, get notification of which one is playing带有多个 Youtube 视频的 UIWebview,获取正在播放的通知
【发布时间】:2014-08-29 05:18:25
【问题描述】:
我有一个包含内容的 webview,其中可以包含多个 youtube 视频。当用户开始播放视频时,我想知道这是哪一个。
我知道当视频以UIMoviePlayerControllerDidEnterFullscreenNotification 开头时我会收到通知,并且我可以在 web 视图中从 HTML 中找到 youtube URL,但是当有两个或更多时,我如何才能找出正在播放的视频?
也许有一些方法可以获取 MediaPlayer 并找出当前正在播放的 URL 或其他什么?
【问题讨论】:
标签:
ios
video
uiwebview
youtube
mpmovieplayercontroller
【解决方案1】:
您与UIWebView 联系的唯一方式是通过javaScript 网桥。
我会解释:
UIWebView 不知道你在里面显示什么,它几乎是一个通用的UIWebView,可以显示列表或简单的html 内容。
要解决您的问题,您应该构建一个简单的桥(JS-IOS):
JS->IOS:
在javascript当用户点击视频列表单元格时,执行
window.location = "cellSelected=2";
UIWebViewDelegate 会触发
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
然后,你可以解析request.url
IOS->JS:
[webView stringByEvaluatingJavaScriptFromString:@"your javascript code string here"];
希望这会让你首先解决你的问题。
干杯!
【解决方案2】:
您是否尝试过contentURL,它是 MPMoviePlayerController 实例的属性?
正如苹果所说:
Here