【问题标题】:html5 play event vs playing event in video taghtml5 播放事件与视频标签中的播放事件
【发布时间】:2012-12-25 06:40:01
【问题描述】:

我正在阅读有关 HTML5 视频标签的文档,但并不完全理解它。 如果用户单击播放按钮或控制栏上的播放箭头,我会 认为您只有一个事件,而该事件表明该视频 正在玩。

但我读到: 当音频/视频已开始或不再暂停时触发“播放” 当音频/视频在暂停后准备好播放时触发'playing' 或停止缓冲。 听起来第二个只有在您暂停视频然后播放时才会发生 再次, 虽然第一个发生在那时,但也发生在您第一次开始播放视频时。 但为什么要这样做? 为什么不只是一个事件?

【问题讨论】:

    标签: video html5-video


    【解决方案1】:

    差异的原因在于,一旦您单击播放按钮(或调用play 方法),paused 状态为false 并且play 事件将触发,但这并不能保证视频将真正开始播放。只是在“尝试”玩。

    如果视频在任何时候都没有足够的数据,那么它会出现暂停(尽管paused 将再次为假)并且waiting 事件将触发。一旦有足够的数据(并且readyState 大于或等于HAVE_FUTURE_DATA),playing 事件将触发,视频将继续播放。

    因此,出于实际目的,play 非常适合设置播放状态的视觉指示器,例如播放/暂停切换按钮上的图标。如果您想知道视频何时实际播放,请使用playing。例如,您可能希望在waiting 事件触发时显示一个旋转的“加载”图标,然后在playing 触发时移除该图标。

    (除了没有足够的数据外,还有其他原因导致视频无法播放,即使您希望它播放,但这些可能不会导致 waitingplaying 事件触发。更多详细信息关于HTML standard.)

    【讨论】:

      猜你喜欢
      • 2012-04-29
      • 2020-05-27
      • 1970-01-01
      • 1970-01-01
      • 2017-01-29
      • 2012-07-10
      • 1970-01-01
      • 2014-02-10
      • 2012-10-11
      相关资源
      最近更新 更多