javascript-HTML5视频要等到源更新后才能播放

我有一个HTML5播放器,它是我的移动(cordova)应用程序的一部分:

<video width="100%" height="100%" id="video-1" src="/mnt/sdcard/xyz-media/xyz.mp4?param=8zw6y" preload="none">
  <source src="/mnt/sdcard/xyz-media/xyz.mp4?param=8zw6y" type="video/mp4">
</video>

和中添加了?param =,是由于加载多个视频导致的已知Chrome错误添加的.

所以我在代码中也有canplaythrough事件:

var videoWrapper = document.getElementById('video-1');

videoWrapper.addEventListener('canplaythrough', function(){
  videoWrapper.play();
});

但是视频永远不会播放.当我尝试手动执行它时也不起作用,但是当我手动重新加载src属性然后尝试播放时-它起作用:

var src = document.getElementById('video-1').getAttribude('src');
document.getElementById('video-1').setAttribute('src', src);
document.getElementById('video-1').play();

为什么没有刷新就无法播放视频?请帮忙.

解决方法:

我怀疑问题在于预载属性.您已将其配置为none,因此浏览器不会在页面加载时加载视频.使用自动应该可以.

<video width="100%" height="100%" id="video-1" preload="auto">
  <source src="/mnt/sdcard/xyz-media/xyz.mp4?param=8zw6y" type="video/mp4">
</video>

相关文章

HTML5和CSS3实现3D展示商品信息的代码
利用HTML5中的Canvas绘制笑脸的代码
Html5剪切板功能的实现
如何通过HTML5触摸事件实现移动端简易进度条
Html5移动端获奖无缝滚动动画实现
关于HTML5和CSS3实现机器猫的代码