如果使用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
上次更新: 7/29/2021, 9:43:19 PM