在Amlogic Android Media Boxs中的webview中自动播放视频

时间:2018-09-11 08:32:16

标签: android video webview youtube

我正在网络视图中显示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)-> 正在运行。

3 个答案:

答案 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..!!');"
              + "}"
              + "})()");