西瓜播放器 HTML5 video video.js 播放器 HTML5播放器 mp4 hls hls.js flv flv.js dash dash.js 无缝切换

错误

播放器出现播放错误会抛出错误事件,可以通过以下方式监听错误


import { Events } from 'xgplayer'

player.on(Events.ERROR, (error) => {
  // TODO
})

// OR

player.on('error', (error) => {
  // TODO
})

error

const error = {
  playerVersion: string,  // 当前播放器的版本号
  errorType: string, // 错误类型
  errorCode: number, // 错误码
  message: string, // 错误信息
  mediaError?: { // video.error
    code: number,
    message?: string
  },
  originError?: {},  // 原始错误对象
  readyState: number,  // mediaElement readyState
  networkState: number,// mediaElement networkState
  currentTime: number, // 当前播放到的时间点
  duration: number, // 视频时长
  ended: boolean,
  src: any,
  url?: string, // network error的时候有,请求出现问题的url
  httpCode?: number // network error的时候有,请求返回的是httpCode
}

type

erroType含义
media资源请求被用户终止
network媒体请求网路错误
decoder媒体解码出错
format媒体资源格式不支持播放
demux解封装过程出错
remux重封转出错
hlshls解析错误
mseMSE出错

code

erroCode含义errorType备注
5101资源请求被用户终止mediav3.0.2+
5102媒体请求网路错误networkv3.0.2+
5103媒体解码出错decoderv3.0.2+
5104媒体资源不支持播放formatv3.0.2+
5105当前环境不支持视频解码formatv3.0.2+
5106空地址formatv3.0.2+
1资源请求被用户终止mediav3.0.2+废弃
2媒体请求网路错误networkv3.0.2+废弃
3媒体解码出错decoderv3.0.2+废弃
4媒体资源不支持播放formatv3.0.2+废弃
600http请求失败, 存在 404,403、500等标准错误码network
601http请求超时network
602请求出错. https下请求http资源、不允许跨域请求之类network
603其它错误。 fetch流式请求出错 reader.read()出错等network
700解封装过程出错demux
800重封装过程出错remux
900m3u8解析失败hls
901m3u8内容有误hls
1000mse addSourceBuffer出错mse