video.networkState

430 阅读1分钟

前言

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。