如何让YouTube预览图像显示在Android WebView中?

时间:2011-10-01 01:00:33

标签: android webview youtube

我发现在WebView问题中有很多YouTube,但它们似乎并没有完全解决我的问题。

我正在加载一个在WebView中嵌入了YouTube剪辑的网站,问题是YouTube预览图片没有出现,我只是在底部获得了一个带有YouTube的黑盒子。

同一网站在Android浏览器中加载预览图像。手机没有Flash。 Side by Side Screenshot

我理解它不能播放没有flash的视频,我不希望它在WebView中播放,我只需要像在常规浏览器中那样加载预览。

我无法修改网站本身,但它似乎将此用于YouTube视频。

<iframe allowfullscreen="" frameborder="0" height="271"     src="http://www.youtube.com/embed/28L-hOJHwUw?rel=0&amp;hd=1" width="475"></iframe></div> 

我在WebView中启用了Javascript和插件。

webView = (WebView) findViewById(R.id.webviewplan);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);

任何帮助将不胜感激。 感谢。

编辑: 发现它抛出了一个js错误,所以有人能够在没有闪存的WebView中显示YouTube嵌入预览,或者这根本不可能吗?

错误:

TypeError: Result of expression 'a' [undefined] is not an object. -- 
From line 342 of http://s.ytimg.com/yt/jsbin/www-embed_core_module-vflcoqCCO.js

1 个答案:

答案 0 :(得分:1)

YouTube JS可能要么关闭,因为它没有检测到Flash或出现错误。如果出现错误,您可以通过setting a custom WebChromeClient找出这些错误并覆盖其onConsoleMessage方法。将此泵送到您的LogCat(执行JS警报),您至少会知道错误。