在Android WebView中播放Youtube HTML5嵌入式视频

Yeo*_*Yeo 26 youtube video html5 android webview

我有运行的一个问题嵌入HTML5的Youtube网页视图.我想在我的应用程序上播放Youtube视频.我决定使用WebView而不是VideoView,因为我想让我的系统更灵活地从网上播放视频.

虽然有很多方法可以在Android上玩youtube,但我会使用youtube嵌入式版本." http://www.youtube.com/embed/___________________ ".因为这是我在你的android不支持flash时发现的解决方案之一.

问题:

WebView正常加载,包括嵌入的Youtube.但是我开始在youtube上看到黑屏.

当我点击它.它仅加载第一个图像,但之后它不播放.我尝试在Android浏览器上播放,它运行顺畅但不在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);
Run Code Online (Sandbox Code Playgroud)

以下是我发现非常有用的一些资源:

提前感谢您的支持和帮助:)


更新(2011年6月13日):

我成功加载了WebView中的http://m.youtube.com,但无法播放任何视频.但是当我尝试在我的Android浏览器上加载URL时,它可以播放.

从这里开始,我注意到我的WebView上的youtube站点没有登录.那么我们如何允许WebView使用与我手机中的Youtube帐户相同的凭据?它真的有效吗?

N20*_*753 6

第1步:只需将此添加到Manifest文件

android:hardwareAccelerated="true"

第2步:检查您是否为webview设置图层.

(即) //myWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

将硬件加速设置为true并评论这些线为我工作.

要了解有关硬件加速和图层的更多信息,请访问http://developer.android.com/guide/topics/graphics/hardware-accel.html


Blu*_*ell 5

编辑

所以我们从评论对话中扣除了:

在这个网站上:www.youtube.com/html5它说你必须登录然后选择加入HTML5视频播放

这就是为什么您的视频无法加载,重定向到Flash版本而您的webview没有闪存.

原版的

您是否覆盖了网址加载以便使用您的网络视图?

 wv.setWebViewClient(new WebViewClient(){
                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                            return false;
                    }
            });
Run Code Online (Sandbox Code Playgroud)

你是说视频不会播放但网站加载?

您可以尝试撒谎到YouTube并告诉他们您的其他浏览器(可能假装是Android浏览器)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");
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

39032 次

最近记录:

10 年,6 月 前