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

我在运行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);

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

  • 我们如何使用webview在Android应用程序中播放YouTube嵌入代码?

  • 在WebView中播放YouTube视频

  • 如何在Android上的WebView中嵌入YouTube剪辑

  • 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/

  • http://www.youtube.com/embed/bHQqvYy5KYo

  • 预先感谢您的任何支持和帮助:)


    更新(2011年6月13日):

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

    从这里,我注意到我的WebView中的YouTube网站未登录。那么,我们如何让WebView使用与我的手机中的Youtube帐户相同的凭据? 它会真的起作用吗?


    第1步 :只需将其添加到清单文件

    android:hardwareAccelerated="true"

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

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

    将硬件加速设置为true并评论这些行对我有用。

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


    编辑

    所以从评论对话我们已经扣除:

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

    这就是为什么你的视频无法加载,它重定向到Flash版本,你的webview没有闪光灯。

    原版的

    你是否覆盖url加载,所以你的webview被使用?

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

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

    你可以尝试对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");
    

    如何在Android WebView中启用HTML5没有很好的记录。 你可能想试试我的HTML5WebView和我的旧幻灯片

    链接地址: http://www.djcxy.com/p/44755.html

    上一篇: Play Youtube HTML5 embedded Video in Android WebView

    下一篇: HTML5 framework for both Web and Mobile (LAMP)