为啥 Android WebView 不加载 youtube HTML5 iframe 视频?
Posted
技术标签:
【中文标题】为啥 Android WebView 不加载 youtube HTML5 iframe 视频?【英文标题】:Why Android WebView is not loading youtube HTML5 iframe video?为什么 Android WebView 不加载 youtube HTML5 iframe 视频? 【发布时间】:2012-08-07 05:27:39 【问题描述】:我尝试了以下方法:
WebView wv = (WebView) findViewById(R.id.webView1);
String playVideo= "<html><body><iframe width='200' height='143' src='http://www.youtube.com/embed/JW5meKfy3fY' frameborder='0' allowfullscreen></iframe></body></html>";
wv.getSettings().setPluginsEnabled(true);
wv.getSettings().setAllowFileAccess(true);
wv.getSettings().setPluginState(PluginState.ON);
wv.getSettings().setBuiltInZoomControls(true);
wv.getSettings().setjavascriptEnabled(true);
wv.loadData(playVideo, "text/html", "utf-8");
我只看到缩略图,然后当我点击它时,框架变成黑色并且不加载视频。我的目标是 API 15,我有互联网许可。如何在 android webview 中运行 html5 youtube iframe 视频?
【问题讨论】:
看看***.com/questions/8475707/…。这家伙有同样的问题,似乎得到它的工作。一些 cmets 建议不这样做,但这可能对你有用。 你可以看看this question and answer。和你的问题差不多。 这个有什么答案吗? 【参考方案1】:iframe 适合我。但是,我发现,在 Windows 上使用 Android 模拟器播放视频时,模拟器上的互联网会在一段时间后停止工作,我需要重新启动模拟器才能访问互联网。这在 Android 手机上从未发生过。
所以,只需在您的浏览器上检查它以确保有互联网连接。
【讨论】:
【参考方案2】:你必须把它放在你的清单中
<application android:hardwareAccelerated="true" ...>
【讨论】:
【参考方案3】:在 Android 3.0++ 上,如果您的 android:targetSdkVersion 低于 11,则必须激活硬件加速。并且,您必须添加以下行:
wv.setWebChromeClient(new WebChromeClient());
【讨论】:
谢谢!它有效,但我还必须添加:webSettings.setJavaScriptEnabled(true);【参考方案4】:您是在 2.3(GingerBread)还是 4.0(冰淇淋)上运行?
如果您在 Ice Cream 上运行,则需要启用硬件加速。
如果您在 GingerBread 上运行,请参考: WebView and HTML5 <video>
希望这个帮助。
【讨论】:
以上是关于为啥 Android WebView 不加载 youtube HTML5 iframe 视频?的主要内容,如果未能解决你的问题,请参考以下文章
android webview加载嵌入了svg的html,svg作为background-img,但是不同设备为啥显示不同,怎么解决好
为啥 android webview 比原生 android 浏览器慢很多?