2014-01-21 57 views
1

我即將開始使用我的第一個iOS應用程序。對於第一個版本,主要目標是使該應用成爲我的網站的Web視圖。只需將webview指向正確的網址即可。我需要幫助的部分是用本機視頻播放器替換web視圖中的Flash視頻播放器。iOS應用程序:在本地播放器的webview中替換Flash

基本上在網站上我有一個Flash視頻播放器,連接到RTMP流視頻服務器。截至目前,該網站需要使用Flash視頻(因此轉換爲HTML5視頻不是一種選擇)。除了查找Flash播放器並將其替換爲原生視頻播放器之外,iOS應用應按原樣顯示網站,以便視頻播放仍可在iPhone/iPad上運行。

有沒有人有任何建議來完成此?

回答

0

這可以做到。它可能不夠乾淨漂亮,但這裏有一種可能的方法:在顯示HTML之前需要解析HTML。

首先,您需要攔截UIWebView的加載請求調用,以便檢查是否調用了需要解析的Flash頁面的URL。要攔截加載請求調用,請使用UIWebViewDelegate方法webView:shouldStartLoadWithRequest:navigationType:來讀取URL。

如果URL匹配您需要從中刪除Flash的URL,您將運行加載HTML字符串的代碼,該字符串將解析到Web視圖中(稍後詳細介紹),然後將NO返回給webView:shouldStartLoadWithRequest:navigationType:委託方法。這意味着,當用戶嘗試使用Flash訪問頁面時,我們將停止UIWebView的操作,並使用我們自己的解析內容加載視圖。

一旦你發現你需要解析HTML,你需要進入一個你可以使用的變量。爲了讓您的網頁的HTML作爲字符串:

NSURL *yourURL = [NSURL URLWithString:@"http://google.com"]; 
NSError *error; 
NSString *htmlString = [NSString stringWithContentsOfURL:yourURL encoding:NSUTF8Encoding error:&error]; 

一旦你擁有了串,從你的HTML刪除Flash代碼,看到這個問題:

Comment out a string in HTML before UIWebView can display it

一旦你解析HTML和擺脫你的Flash,你可以通過[webView loadHTMLString:string baseURL:nil];

加載到你的網頁視圖最後,你需要通過代碼在你的web視圖頂部插入一個本地電影播放器​​。你必須處理屏幕旋轉,調整和放置本地播放器在網頁視圖之上,但我會留給你。

這是很多原料,但是應該讓你繼續上一個可能的解決方案。

0

所以,你要問的是在本地應用程序中顯示一個WebView,並在這個WebView中顯示一些本地組件。這是無法完成的。

您將不得不爲此構建完全原生的應用程序。或者在WebView中使用HTML5。

相關問題