1

我正在加载一个页面UIWebView。该页面包含要播放的缩略图。当我单击任何缩略图时,它会在任何默认播放器中启动。我希望它不应该在默认播放器中播放,我想在MPMovieController点击缩略图时使用自定义控件播放视频UIWebview。我可以停止视频在默认播放器中播放吗?

4

2 回答 2

0

这将需要获取电影 url 并在 MPMoviePlayer 中播放并停止 webview 的重定向。

逻辑:

在 webview 的代表中:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

从 NSURLRequest 的 NSURL 中获取 URL,然后使用NSURL absoluteString

比较 url 中文件的扩展名。
如果它是视频,例如 .mov/.mp4,则使用 URL 加载 MPMoviePlayer 以在您的应用程序和return NO;此委托方法中播放它。

于 2013-04-21T16:37:33.623 回答
0

如果您有权访问缩略图代码,则可以放置javascript将执行简单重定向的方法:

<a href="#" onClick="javascript:play_native_video_url(url); >thumbnail here</a>

play_native_video_url(url) {
     window.location = "play://"+url; 
}

UIWebView委托将使用自定义方案(不是 http:) 捕获此重定向:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {

// Define if it is your custom scheme:
  if ([request.URL.host isEqualToString:@"play"]) {
      // get url and play it with native MPMoviePlayer...
      return NO;  // do not let WebView process it
  }
}

凭记忆写的

于 2014-04-03T08:04:17.017 回答