2012-01-31 122 views
3

我最近創建了一個移動網站,其中有幾個來自Vimeo的iframe嵌入。現在,在帶有閃存的android瀏覽器中,這種方式非常有效,但是當我嘗試將它塞進一個僞應用的WebView中時,這些視頻就無法播放。我讀過關於這個問題的大量線程的,這是到目前爲止,我已經得到了代碼:在Android WebView中嵌入視頻vimeo

WebView wv = (WebView) findViewById(R.id.webview); 
wv.getSettings().setJavaScriptEnabled(true); 

if (Build.VERSION.SDK_INT < 8) { 
    wv.getSettings().setPluginsEnabled(true); 
} else { 
    wv.getSettings().setPluginState(PluginState.ON); 
} 
wv.setWebViewClient(new WebViewClient(){ 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      return false; 
     } 
    }); 
wv.loadUrl("myurl.here"); 

的頁面加載罰款,一切工作,除了視頻播放。我得到的是一個黑色的矩形,它不響應任何事情。

我試圖發揮所有的視頻I幀是這樣的:<iframe src='http://player.vimeo.com/video/<VIDEO ID HERE>?title=0&byline=0&portrait=0' width='100%' height='auto' frameborder='0'></iframe>

我也試了支持硬件加速的應用程序,但是這會導致一個完全新的問題。在啓動應用程序時,這是所有顯示的(在星系連線上測試的): http://i.imgur.com/bnonm.png

Flash安裝在手機上,並且通過瀏覽器正常加載網頁正常工作。

我一直在使用Google這一整天,我仍然像當我開始試圖弄清楚時一樣困難。我開始認爲這根本不可能。

更新:借用一臺運行android 3.2的xoom平板電腦,該視頻在啓用硬件加速的情況下可以正常播放。儘管如此,我仍然在連接點上看到奇怪的渲染,所以它不能完全解決問題。

+0

我想這個視頻是用flash初始化的,默認情況下在web視圖中flash是禁用的。通過「WebClient」設置打開它。 – rds 2012-01-31 14:28:14

+0

您是否找到解決方案? – Crawler 2015-07-21 11:58:18

回答

0

如果有人發現這種情況,我找到了一個答案,可能有助於here

你必須加載web視圖之前添加以下代碼:

wv.setWebChromeClient(new WebChromeClient() { 
}); 

用法示例:

WebView wv; 

wv.setWebChromeClient(new WebChromeClient() { 
}); 

wv.loadUrl("http://www.example.com/"); 

並確保您有:

android:hardwareAccelerated="true" 
<manifest>標籤

AndroidManifest.xml(僅適用於API 11或更高版本)