微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。