2013-04-21 214 views
1

我正在加載頁面UIWebView。該頁面包含縮略圖。當我點擊任何縮略圖時,它會在任何默認播放器中啓動。我希望它不應該在默認播放器中播放,我想播放MPMovieController中的視頻隨着自定義控件每當我點擊UIWebview中的縮略圖。我可以阻止視頻在默認播放器中播放嗎?停止視頻在UIWebView中播放

回答

0

這將需要獲取電影網址並在MPMoviePlayer中播放並停止webview的重定向。

LOGIC:

中的WebView委託:

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

得到的NSURLRequest的NSURL的URL,然後用NSURL absoluteString

比較URL的文件擴展名獲得重定向URL。如果它是視頻例如
.mov/.mp4, 加載您的MPMoviePlayer與URL在您的應用程序中播放,return NO;用於此代理方法。

+2

此方法在點擊視頻縮略圖時未調用。 – 2013-04-21 16:41:17

+0

有沒有設置webview的委託給viewcontroller? – samfisher 2013-04-21 16:45:13

+0

是的,它正在調用加載時間 – 2013-04-21 16:46:47

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 
    } 
} 

從內存中寫入