首页 > 解决方案 > 为什么 canplaythrough 不能按预期工作

问题描述

这是我们在www.w3school中作为参考的内容:

当浏览器估计它可以播放指定的音频/视频而无需停止缓冲时,就会发生 canplaythrough 事件。

这里是开发者 Mozilla参考:

当用户代理可以播放媒体时会触发 canplaythrough 事件,并估计已经加载了足够的数据来播放媒体直到其结束,而无需停止进一步缓冲内容。

无需停下来缓冲!?我测试了一个视频,我看到视频仍然停止以进行进一步缓冲。不使用没有区别canplaythrough

这是代码:

let video = document.createElement('video'); 
content.appendChild(video);
let source = document.createElement('source');
source.src = `clip.mp4`
source.type = 'video/mp4';
video.appendChild(source);
video.load();

video.addEventListener('canplaythrough', function() {
      console.log('Video is loaded..');
});

我错过了什么吗?如何解决这个问题?我希望视频仅在可以播放而无需停止缓冲的情况下播放。

注意:我正在使用 chrome 的最新更新,我希望它只能在 chrome 和 HTTPS 服务器中工作。

非常感谢任何评论。随时问我任何更改并在服务器上测试代码。

标签: javascript

解决方案


推荐阅读