前言
video等h5标签在播放过程中,如果遇到请求pending,会直接卡顿,默认不会展示loading。loading只会在初次加载视频资源的时候才会展示。所以在播放过程中,如果卡顿,也需要提供一个loading状态。
networkState
networkState属性返回音频/视频的当前网络状态。我们通过video.networkState可以获取到当前网络状态。其中
- 0 = NETWORK_EMPTY - 音频/视频尚未初始化
- 1 = NETWORK_IDLE - 音频/视频是活动的且已选取资源,但并未使用网络
- 2 = NETWORK_LOADING - 浏览器正在下载数据
- 3 = NETWORK_NO_SOURCE - 未找到音频/视频来源
具体实现思路
通过定时器轮训video.networkState,获取当前网络状态,如果networkState === 2则显示loading,其它隐藏loading。