首先我认为问题出在文件格式/视频编解码器上,但是在测试vp8和vp9 webm和mp4时,并且测试了chrome-s数据保护程序,结果如下:
Android chrome: 数据保护程序: 什么都没有 数据保护: 一切都加载 Firefox上的android: 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>
编辑:也许我太乐观了,它只加载第一帧。
编辑3:我能够在Android浏览器上播放它:
$( document ).on('touchstart', function(){
$("video source").each(function() {
var video = this.parentElement;
if (video.paused){
video.play();
}
});
});
但是在启用数据保存时,它仍无法在chrome中运行。它只显示第一帧。尝试用5种不同的方法重新加载。