html5 播放事件与视频标签中的播放事件
Posted
技术标签:
【中文标题】html5 播放事件与视频标签中的播放事件【英文标题】:html5 play event vs playing event in video tag 【发布时间】:2012-12-25 06:40:01 【问题描述】:我正在阅读有关 html5 视频标签的文档,但并不完全理解它。 如果用户单击播放按钮或控制栏上的播放箭头,我会 认为您只有一个事件,而该事件表明该视频 正在玩。
但我读到: 当音频/视频已开始或不再暂停时触发“播放” 当音频/视频在暂停后准备好播放时触发'playing' 或停止缓冲。 听起来第二个只有在您暂停视频然后播放时才会发生 再次, 虽然第一个发生在那时,但也发生在您第一次开始播放视频时。 但为什么要这样做? 为什么不只是一个事件?
【问题讨论】:
【参考方案1】:差异的原因在于,一旦您单击播放按钮(或调用play
方法),paused
状态为false
并且play
事件将触发,但这并不能保证视频将真正开始播放。只是在“尝试”玩。
如果视频在任何时候都没有足够的数据,那么它会出现暂停(尽管paused
将再次为假)并且waiting
事件将触发。一旦有足够的数据(并且readyState
大于或等于HAVE_FUTURE_DATA
),playing
事件将触发,视频将继续播放。
因此,出于实际目的,play
非常适合设置播放状态的视觉指示器,例如播放/暂停切换按钮上的图标。如果您想知道视频何时实际播放,请使用playing
。例如,您可能希望在waiting
事件触发时显示一个旋转的“加载”图标,然后在playing
触发时移除该图标。
(除了没有足够的数据外,还有其他原因导致视频无法播放,即使您希望它播放,但这些可能不会导致 waiting
和 playing
事件触发。更多详细信息关于HTML standard.)
【讨论】:
以上是关于html5 播放事件与视频标签中的播放事件的主要内容,如果未能解决你的问题,请参考以下文章