我正在网页浏览中加载YouTube视频,但问题是视频无法像我们访问实际的YouTube网站时那样自动播放。在网页视频中,视频会显示并播放,但只有在我按下之后播放按钮出现在视频的顶部。所以我想知道,一旦网址加载,我是否可以通过网页视频播放视频。以下是我的代码:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.video_view);
WebView wv = (WebView) findViewById(R.id.webView);
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setPluginState(PluginState.ON);
final String mimeType = "text/html";
final String encoding = "UTF-8";
String html = getHTML();
wv.setWebChromeClient(new WebChromeClient() {
});
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;
}
谢谢!!!
答案 0 :(得分:4)
将“autoplay = 1”添加到您的网址
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?autoplay=1"
+ "&fs=0\" frameborder=\"0\">\n"
+ "</iframe>\n";
答案 1 :(得分:0)
做Youtube有点棘手。首先,您需要尝试访问移动网站。其次,您需要在弹出窗口中播放它。播放需要在WebChromClient#onShowCustomView方法中完成。我有点忘了细节,但这是一般的想法。 onShowCustomView方法的“view”参数,如果我没记错的话是一个带有视频视图的布局,你可以开始播放它。
答案 2 :(得分:0)
按照此代码,您的视频将运行良好
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
webView.getSettings().setPluginState(PluginState.ON);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
webView.getSettings().setAllowFileAccess(true);
//webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
webView.setBackgroundColor(Color.BLACK);
webView.getSettings().setUserAgentString("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.117 Safari/537.36");
//webView.addJavascriptInterface(this, "nativeInterface");
if (Build.VERSION.SDK_INT >= VERSION_CODES.JELLY_BEAN) {
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
}
webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
webView.setWebViewClient(new WebViewClient());
webView.setWebChromeClient(new WebChromeClient());
String youtubeID = ""; //get Youtube ID and input here
String url = "http://www.youtube.com/embed/" +
youtubeID +
"?autoplay=1";
webView.loadUrl(url);