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>
上一篇:在Android模拟器中显示韩语(不支持MacRoman)


下一篇:android-科尔多瓦在显示启动画面时隐藏状态栏