aug*_*aug 4 html video addeventlistener
loadedmetadata我想知道视频的事件侦听器和事件侦听器之间有什么区别canplay。根据MDN:
canplay 当有足够的数据可供媒体播放(至少播放几帧)时发送。这对应于 CAN_PLAY 就绪状态。
loadmetadata 媒体元数据已完成加载;所有属性现在都包含尽可能多的有用信息。
还有两个事件侦听器,包括loadeddata和loadedstart。
对于我的用例,我想等待video元素加载,以便我可以获取video.currentTime. 我的timeupdate函数使用此信息,但我相信视频未完全加载,因此它会引发一个小错误,即无法获取视频的当前时间。
等待视频加载或播放的最佳做法是什么?
canplay通常意味着已加载足够的内容,假设网络条件保持不变,浏览器将能够播放到内容的末尾而无需缓冲。loadedmetadata这通常只会在元数据告诉浏览器内容的长度和其他重要信息之后触发。
loadedmetadata仅指有关内容本身的元数据 - 例如,在 mp4 文件的情况下,将从 MOOV 原子中提取(因此,最佳实践是对 mp4 进行编码,以便默认位于开头,而不是末尾,磁盘上的文件)
如果您只需要访问诸如 currentTime 之类的内容并且不太关心无缓冲区播放,那么loadedmetadata应该足够了,但我个人的偏好(如果用例将在大多数视图中不跳过的情况下播放)也将canplay等待创造更好的用户体验。
| 归档时间: |
|
| 查看次数: |
6112 次 |
| 最近记录: |