在Kitkat的webview中播放youtube视频

时间:2014-01-01 08:36:13

标签: android webview youtube android-4.4-kitkat

我有以下简单的代码片段和平地播放youtube视频:

mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading (WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);
        }

    });
    mWebView.loadUrl(finalUrl);

然而,在将手机升级到Android 4.4.2后,在加载YouTube链接时,视频无法播放。

经过一些谷歌搜索后,我在清单中添加了android:hardwareAccelerated="true",但问题仍然存在。

在这里,我需要加载任何网址,如果恰好是youtube网址,那么整个网址应该加载,视频在其实际位置,用户应该能够播放

1 个答案:

答案 0 :(得分:1)

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    WebView wv = (WebView) findViewById(R.id.webView1);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setPluginsEnabled(true);
    final String mimeType = "text/html";
    final String encoding = "UTF-8";
wv.setWebChromeClient(new WebChromeClient() {
});
    String html = getHTML();
    wv.loadDataWithBaseURL("", html, mimeType, encoding, "");
}

public String getHTML() {
    String html = "<iframe class=\"youtube-player\" style=\"border: 0; width: 100%; height: 95%; padding:0px; margin:0px\" id=\"ytplayer\" type=\"text/html\" src=\"http://www.youtube.com/embed/"
            + "J2fB5XWj6IE"
            + "?fs=0\" frameborder=\"0\">\n"
            + "</iframe>\n";
    return html;
}

使用此功能在网页浏览中播放YouTube视频。