根据 this 和 this ,在加载过程中会发生以下事件,顺序如下:
- loadstart - 开始加载媒体时发送。
- durationchange - 已加载或更改元数据,表示媒体持续时间发生变化。例如,当媒体加载足够的时间以便知道持续时间时,就会发送此信息。
- loadedmetadata - 媒体的元数据已完成加载;所有属性现在都包含尽可能多的有用信息。
- loadeddata - 媒体的第一帧已完成加载。
- 进度 - 定期发送以通知相关方下载媒体的进度。有关当前已下载媒体数量的信息可在媒体元素的缓冲属性中找到。
- canplay - 当有足够的数据可以播放媒体时发送,至少在几帧内播放。
- canplaythrough - 当就绪状态变为CAN_PLAY_THROUGH时发送,表示可以不间断地播放整个媒体,假设下载速率至少保持在当前级别。注意:手动设置currentTime最终会在firefox中触发canplaythrough事件。其他浏览器可能不会触发此事件。
醇>
所以,看看那些可以玩其中两个的事件:loadstart
和progress
。或者您可以使用音频元素的duration
和currentTime
属性,例如 here 。