西瓜播放器 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
1资源请求被用户终止media
2媒体请求网路错误network
3媒体解码出错decoder
4媒体资源不支持播放format
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