【问题标题】:When exactly is the canplaythrough event triggered in html5?html5中canplaythrough事件到底是什么时候触发的?
【发布时间】:2015-08-24 11:14:16
【问题描述】:

在 HTML5 中定义了一个 canplaythrough 事件,当整个视频可以播放而不会卡顿时触发(这是由浏览器估计的)。我的问题是,这是从视频的开头开始的吗?

假设我愿意:

video.load();

video.addEventListener("loadedmetadata", function(){
    video.currentTime = 500;
}.bind(this), false );

video.addEventListener("canplaythrough", function(){
    console.log( "I can play through..." );
}.bind(this), false );

canplaythrough事件是在视频可以从开头开始播放时触发,还是在视频可以从视频500秒点开始播放时触发?

可能是视频的前 20 秒已被缓冲,这意味着从一开始播放时它可以播放,但是当我们将 currentTime 设置为 500 秒时,我们可能无法播放因为这部分还没有被缓冲。

【问题讨论】:

  • 我怀疑你会发现它是特定于实现的。

标签: html events video buffering seek


【解决方案1】:

来自文档:

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

我假设为了估计结果,浏览器会考虑下载速度和整体文件大小。

【讨论】:

  • 您似乎已经回答了问题标题,但没有阅读任何提供有关所问内容的重要背景的问题正文。结果,这根本没有解决问题。
  • 我的回答有点澄清 canplaytrough 是一个近似值,任何事情都可能在获得结果后伪造结果。我想如果有人想知道视频是否 100% 缓冲,你应该使用w3schools.com/tags/av_event_progress.asp
  • 您的 cmets 似乎都没有与以下问题有远程联系,即“canplaytrough 的计算是基于寻求的点还是起点?”
  • 我回答了他问题的第二部分。 (基本上关于如何处理)
猜你喜欢
  • 1970-01-01
  • 2011-04-27
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 2012-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多