如果使用thumbplayer-core的话,我们可以播放中的各种事件:
import { PLAY_EVENT } from "@tencent/thumbplayer-core";
// 监听初次开播事件
player.on(PLAY_EVENT.FIRST_PLAYING, () => {
console.log('开始播放');
});
PLAY_EVENT.FIRST_PLAYING
即thumbeplayer-core提供的事件名称。以下是thumbplayer-core中提供的所有事件:
事件名 | 含义 | data |
---|---|---|
RESTART | 重新播放 | |
TIME_UPDATE | 视频时间更新。依赖浏览器video标签实现,通常是250ms触发一次。 | videoInfo : IVideoInfo |
METADATA_CHANGE | 视频metadata更新。 | videoInfo : IVideoInfo |
RATE_CHANGE | 播放器倍速更新。 | videoInfo : IVideoInfo |
VOLUME_CHANGE | 播放器音量更新。 | videoInfo : IVideoInfo |
DURATION_CHANGE | 视频时长更新。 | videoInfo : IVideoInfo |
AUTOPLAY_BLOCKED | 自动播放被浏览器拦截。 | videoInfo : IVideoInfo |
LOAD_PROGRESS | 加载进度变化时(只有部分播放内核发出此事件) | |
STATE_CHANGE | 播放器状态更新。 | old : VIDEO_STATE, new : VIDEO_STATE |
FIRST_PLAYING | 是否是否首次开播(即使当前播放列表有多个视频,也只有一次此事件,而且一定是看到画面) | videoInfo : IVideoInfo |
VIDEONODE_START_PLAY | 每一段视频开始播放时候(可能并未看到画面,只是切到此视频开始加载) | |
VIDEONODE_FIRST_PLAYING | 每一段视频是否首次开播(一定是看到画面) | |
VIDEONODE_CHANGE | 每一段视频准备播放(player列表的当前索引变化) | |
LIST_CHANGE | 播放列表发生变化(每次列表变化,都只是变化当前播放地址后面的列表) | |
SET_LOADING | 通知外部是否显示loading动画 | show : boolean |
PRELOAD_START | 列表预加载开始事件,多视频预加载只会通知一次 | |
PRELOAD_VIDEONODE_OVER | 单个视频预加载结束事件,多视频预加载每个视频都会通知 | |
PRELOAD_VIDEONODE_CLEAR | 单个视频预加载清除事件,多视频预加载每个视频都会通知 | |
PRELOAD_VIDEONODE_ERROR | 单个视频预加载错误事件,多视频预加载每个视频都会通知 | |
VIDEO_BUFFER_CHANGE | video标签的buffered属性变化时 | |
SETLEVEL_START | 切换清晰度开始 | videoInfo : IVideoInfo |
SETLEVEL_OVER | 切换清晰度成功or失败 | videoInfo : IVideoInfo, fail : boolean |
RESIZE | ||
STOPED | 播放被停止 | |
ERROR | 播放器报错 | videoInfo : IVideoInfo |
RETRY_BACKURL | 播放器触发备用地址重试 | prevUrl : string, curUrl : string |