Android api 16 webview 不播放 html 5 视频

问题描述

我有一个 HTML 文件,其中包含 JSCSS 以及多个一个一个播放的视频,在网络浏览器上一切正常,并且还更改我正在使用的 android 上的视频之间工作,只是视频没有播放,即使我使用 autoplaymuteloop 如下:

<video autoplay="" muted="" loop="" src="placeholder.mp4" type="video/mp4" id="Video_1" style="display: inline-block">
        Your browser does not support HTML video.
        </video>

我尝试将 autoplay="" 更改为 autoplay,并将 autoplay="" 更改为 autoplay="autoplay",但没有任何效果

我的网络视图设置代码

        webView = (WebView) findViewById(R.id.webview);
        webView.setWebViewClient(new WebViewClient());
        webView.setWebChromeClient(new WebChromeClient());
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
            webView.getSettings().setmediaplaybackRequiresUserGesture(false);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            WebView.setWebContentsDebuggingEnabled(true);
        }
        WebSettings webSettings = webView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.norMAL);
        webSettings.setUseWideViewPort(true);
        webSettings.setDomStorageEnabled(true);


        webView.clearCache(true);
        webView.clearHistory();
        webSettings.setLoadWithOverviewmode(true);
        webSettings.setPluginState(WebSettings.PluginState.ON_DEMAND);
        webSettings.setJavaScriptCanopenWindowsAutomatically(true);

我已尝试更改设置并最终得到上述所有设置(有些可能对我的代码无用)

我试过在 js 文件中播放视频

 function play_all_Videos() {
                var all = document.getElementsByTagName("video");
                if (!all.length == 0) {
                    for (var i = 0,max = all.length; i < max; i++) {
                        all[i].play();
                    }

                }
            }
            play_all_Videos();

同样来自安卓工作室

webView.setWebViewClient(new WebViewClient() {
 // autoplay when finished loading via javascript injection
public void onPageFinished(WebView view,String url) { webView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); }
 });

还为 android:hardwareAccelerated="true" 文件尝试了 manifest

我怀疑某些 webview 设置是导致此问题的原因,但我无法控制

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)