在Android WebView中嵌入视频vimeo
问题描述:
我最近创建了一个移动网站,其中有几个来自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平板电脑,该视频在启用硬件加速的情况下可以正常播放。尽管如此,我仍然在连接点上看到奇怪的渲染,所以它不能完全解决问题。
答
如果有人发现这种情况,我找到了一个答案,可能有助于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或更高版本)
我想这个视频是用flash初始化的,默认情况下在web视图中flash是禁用的。通过“WebClient”设置打开它。 – rds 2012-01-31 14:28:14
您是否找到解决方案? – Crawler 2015-07-21 11:58:18