# 播放结束的状态
视频播放可能有很多种情况导致播放结束,例如播放出错,用户中断等。因此我们列出了播放结束的状态枚举:
/**
* 播放结束时的状态枚举,用于区分播放结束的原因
* @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}`);
}
});
所有错误码请查询错误码列表
播放器也会在出错时展示如下画面:
当然您也可以不使用默认错误页,或者对错误页元素进行配置,具体请参考错误插件