我有一个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>