我正在网络视图中显示youtube链接。我想自动播放链接。 问题是,打开链接后,我必须单击视频然后播放视频,但是我希望该视频可以自动播放。
谢谢。
myWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
}
myWebView.getSettings().setJavaScriptEnabled(true);
myWebView.getSettings().setMediaPlaybackRequiresUserGesture(false);
myWebView.loadUrl("https://www.youtube.com/watch?v=YyDnYaFtRS0");
在设备上测试过: 1)Amlogic Android Media Boxes(Android 6.0.1)-> 不起作用。 2)Nexus 5(Android 6.0)-> 正在运行。
答案 0 :(得分:1)
尝试
myWebView.setWebViewClient(new WebViewClient(){
public void onPageFinished(WebView视图,字符串url {
web.loadUrl(“ javascript:(function(){
document.getElementsByTagName('video')[0] .play(); })()“);
}
});
答案 1 :(得分:1)
我认为在webview或android浏览器中是不可能的。要实现自动播放,我认为您需要“ YOUTUBE API”。
检查以下链接:
1] There's no way method to do autoplay video on android platform?
2] Youtube Api android autostart
以上这些链接将使您对自动播放以及youtube api有所了解。 有关更多详细信息,请检查此link。
答案 2 :(得分:1)
我可以通过使用JavaScript以编程方式单击videoElement来解决此问题。
webView.loadUrl("javascript:(function() {"
+ "var videoElem = document.querySelectorAll('video');"
+ "if (videoElem.length > 0) {"
+ "videoElem[0].click(); return;"
+ "} else {"
+ "console.log('Not Found Video Element..!!');"
+ "}"
+ "})()");