首先我认为问题出在文件格式/视频编解码器上,但在测试vp8和vp9 webm和mp4时,并且测试了chrome-s数据保护程序,结果如下:

Android Chrome:数据保护程序:没有任何加载数据保护程序关闭:一切都在Android上加载Firefox:mp4和vp9 webm加载

有谁知道如何实现在所有移动浏览器上加载的解决方案?

码:

<h1>vp8</h1>
<video autoplay="" muted="" loop="" width="100%">
    <source src="bannervp8.webm" type="video/webm">
</video>
<h1>vp9</h1>
<video autoplay="" muted="" loop="" width="100%">
    <source src="bannervp9.webm" type="video/webm">
</video>
<h1>mp4</h1>
<video autoplay="" muted="" loop="" width="100%">
    <source src="banner.mp4" type="video/mp4">
</video>

编辑:能够强制它加载chrome(和源src属性替换为data-src):

<script>
    $("video source").each(function() {
        var sourceFile = $(this).attr("data-src");
        $(this).attr("src", sourceFile);
        var video = this.parentElement;
        video.load();
        video.play();
    });
</script>

编辑:也许我太乐观了,它只加载第一帧 .

Edit 3: 我能够在Android浏览器上使用它:

$( document ).on('touchstart', function(){
            $("video source").each(function() {
                var video = this.parentElement;
                if (video.paused){
                    video.play();
                }
            });
        });

但是在启用数据保存时,它仍无法在chrome中运行 . 它只显示第一帧 . 尝试用5种不同的方法重新加载 .