2012-01-31 151 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或更高版本)