我在 WebView 中运行 HTML5 Youtube 嵌入 时遇到问题。 我想在我的应用程序上播放 Youtube 视频。我决定使用 WebView 而不是 VideoView,因为我想让我的系统更灵活地播放来自网络的视频。
虽然有很多方法可以在 android 上播放 youtube,但我会使用 youtube 嵌入式版本。 “http://www.youtube.com/embed/___________________”。因为这是我在你的 android 不支持 flash 时找到的解决方案之一。
问题:
WebView 正常加载,包括嵌入式 Youtube。但我在开始时在 youtube 上出现黑屏。
当我点击它时。它只加载第一个图像,然后它没有播放。我尝试在android浏览器上玩,它运行顺利,但在webView中不行。
知道为什么吗?
以下只是我的代码 fragment :
WebView wv = new WebView(getApplicationContext());
wv.getSettings().setPluginState(PluginState.ON);
wv.getSettings().setJavaScriptEnabled(true);
wv.loadUrl("http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html");
setContentView(wv);
以下是一些我觉得非常有用的资源:
How can we play YouTube embeded code in an Android application using webview?
http://apiblog.youtube.com/2010/07/new-way-to-embed-youtube-videos.html
http://www.broken-links.com/2009/10/06/building-html5-video-controls-with-javascript/
提前感谢您的任何支持和帮助:)
更新(2011 年 6 月 13 日):
我成功加载了http://m.youtube.com在 WebView 内,但无法播放任何视频。但是当我尝试在我的 Android 浏览器上加载 URL 时,它可以播放。
从这里,我注意到我的 WebView 中的 youtube 网站没有登录。那么我们如何允许 WebView 使用与我手机中的 Youtube 帐户相同的凭据?它真的有效吗?
最佳答案
第 1 步:只需将其添加到 list 文件中
android:hardwareAccelerated="true"
第 2 步:检查您是否正在为 webview 设置图层。
(即)
//myWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
将硬件加速设置为 true 并评论这些行对我有用。
要了解有关硬件加速和层的更多信息,请查看 http://developer.android.com/guide/topics/graphics/hardware-accel.html
关于android - 在 Android WebView 中播放 Youtube HTML5 嵌入视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6323169/