我在运行HTML5 Youtube在WebView中嵌入时遇到了问题。我想在我的申请上播放一个Youtube视频。我决定使用WebView而不是VideoView,因为我想让我的系统更灵活地播放来自网络的视频。
虽然有很多方法可以让youtube在android上玩,但我会使用youtube嵌入式版本。"http://www.youtube.com/embed/___________________“。因为这是当你的android不支持闪存时我找到的解决方案之一。
问题:
WebView正常加载,包括嵌入的Youtube。但我一开始就在youtube上看到了一个黑屏幕。
当我点击它。它只加载第一个图像,但它没有播放。我试着在安卓浏览器上玩,它运行得很顺利,但在webView上却不行。
知道为什么吗?
下面只是我代码的一个片段:
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);以下是一些我认为非常有用的资源:
)预先多谢各位的支持和帮助:)
更新(2011年6月13日):
我成功地在http://m.youtube.com中加载了WebView,但是无法播放任何视频。但是当我试图在我的Android浏览器上加载URL时,它可以播放。
从这里,我注意到youtube网站从我的WebView没有登录。那么,我们如何允许WebView在我的手机中使用与我的Youtube账户相同的凭据呢?它真的能用吗?
发布于 2013-06-06 02:18:31
步骤1:只需将其添加到Manifest文件
android:hardwareAccelerated="true"
步骤2:检查您是否正在为您的for视图设置层。
(即) //myWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
将硬件加速设置为true并对这些行进行注释对我有用。
要了解更多关于硬件加速和层的信息,请看这里的http://developer.android.com/guide/topics/graphics/hardware-accel.html
发布于 2011-06-12 16:58:03
编辑
因此,我们从评论对话中扣除:
在这个网站上: www.youtube.com/html5 5,它说你必须登录,然后选择加入HTML5视频播放
这就是为什么你的视频不会加载,它是重定向到一个闪存版本,而你的网页视图没有闪存。
原创
您是否正在重写url加载,以便使用您的used视图?
wv.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
});你是说视频不会播放但网站会加载吗?
你可以试着对YouTube撒谎,告诉他们你的另一个浏览器(也许假装是安卓浏览器) Firefox是:
wv.getSettings().setUserAgentString("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/534.36 (KHTML, like Gecko) Chrome/13.0.766.0 Safari/534.36");https://stackoverflow.com/questions/6323169
复制相似问题