在Android WebView中嵌入vimeo视频

在Android WebView中嵌入vimeo视频,android,video,iframe,webview,video-streaming,Android,Video,Iframe,Webview,Video Streaming,我最近创建了一个移动网站,其中有几个来自Vimeo的iframe嵌入。现在,在使用flash的android浏览器中,这个功能运行得非常好,但是当我试图将它塞进一个虚拟应用程序的WebView中时,视频将无法播放。我已经阅读了很多关于这个问题的文章,到目前为止,我得到了以下代码: WebView wv = (WebView) findViewById(R.id.webview); wv.getSettings().setJavaScriptEnabled(true); if (Build.VE

我最近创建了一个移动网站,其中有几个来自Vimeo的iframe嵌入。现在,在使用flash的android浏览器中,这个功能运行得非常好,但是当我试图将它塞进一个虚拟应用程序的WebView中时,视频将无法播放。我已经阅读了很多关于这个问题的文章,到目前为止,我得到了以下代码:

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");
WebView wv=(WebView)findviewbyd(R.id.WebView);
wv.getSettings().setJavaScriptEnabled(true);
if(Build.VERSION.SDK_INT<8){
wv.getSettings().setPluginsEnabled(true);
}否则{
wv.getSettings().setPluginState(PluginState.ON);
}
wv.setWebViewClient(新的WebViewClient(){
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){
返回false;
}
});
wv.loadUrl(“myurl.here”);
页面加载良好,除视频播放外,一切正常。我得到的只是一个黑色矩形,它对任何东西都没有反应

我尝试播放的视频iFrame都是这样的:

我也尝试过为应用程序启用硬件加速,但这会导致一个全新的问题。启动应用程序后,这就是所有显示(在galaxy nexus上测试):

Flash安装在手机上,通过浏览器正常加载网页也可以

我已经在谷歌上搜索了一整天,但我仍然像我开始试图弄明白它时一样被卡住了。我开始觉得这根本不可能


更新:借用了一款运行android 3.2的xoom平板电脑,在启用硬件加速的情况下,视频播放效果良好。尽管如此,我仍然在nexus上发现了奇怪的渲染问题,因此它并没有完全解决这个问题。

如果有人发现了这个问题,我找到了一个可能会有所帮助的答案

在加载WebView之前,必须添加以下代码:

wv.setWebChromeClient(new WebChromeClient() {
});
用法示例:

WebView wv;

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

wv.loadUrl("http://www.example.com/");
并确保包括:

android:hardwareAccelerated="true"

在AndroidManifest.xml的
标记中(仅适用于API 11或更高版本)

我假设视频是用flash初始化的,并且默认情况下在webview中禁用flash。通过
WebClient
设置将其打开。找到解决方案了吗?