# 播放结束的状态

视频播放可能有很多种情况导致播放结束,例如播放出错,用户中断等。因此我们列出了播放结束的状态枚举:

/**
 * 播放结束时的状态枚举,用于区分播放结束的原因
 * @enum {string}
 */
export enum END_STATE {
  /** 正常结束(到视频结束点播放完成) */
  NORMAL = 'normal',
  /** 中断播放(未播放完成时被结束) */
  INTERRUPT = 'interrupt',
  /** 播放出错 */
  ERROR = 'error'
}

# 如何监听

对于引用方来说,我们可以按如下方式监听播放结束事件,并且使用END_STATE枚举来判断播放结束的各种状态:

import SuperPlayer, { END_STATE, H5_PLAY_EVENT } from '@tencent/super-player';

const player = new SuperPlayer({ container: '#app' });
player.on(H5_PLAY_EVENT.PLAY_SESSION_END, ({ data }) => {
  const { code, endState } = data;
  if (endState === END_STATE.NORMAL) {
    console.log('正常播放结束');
  } else if (endState === END_STATE.INTERRUPT) {
    console.log('播放被中断播放');
  } else if (endState === END_STATE.ERROR) {
    console.log('播放出错,错误码为: ', code);
  }
});

# 播放错误

当播放状态为END_STATE.ERROR时,播放器会抛出错误码。我们可以按如下方式拿到错误信息:

import SuperPlayer, { END_STATE, H5_PLAY_EVENT } from '@tencent/super-player';

const player = new SuperPlayer({ container: '#app' });
player.on(H5_PLAY_EVENT.PLAY_SESSION_END, ({ data }) => {
  const { code, message, endState } = data;
  if (endState === END_STATE.ERROR) {
    console.log(`播放出错,错误码为${code},错误消息为${message}`);
  }
});

所有错误码请查询错误码列表

播放器也会在出错时展示如下画面: superplayer

当然您也可以不使用默认错误页,或者对错误页元素进行配置,具体请参考错误插件

上次更新: 5/23/2022, 8:25:08 PM