我有以下简单的代码片段和平地播放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网址,那么整个网址应该加载,视频在其实际位置,用户应该能够播放
答案 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视频。