类型:enum
| 名称 | 值 | 说明 |
|---|---|---|
| PLAY | 'play' | 视频开始播放 |
| PLAYING | 'playing' | 恢复播放(包括暂停后恢复播放或卡顿后恢复播放) |
| ENDED | 'ended' | 视频播放完毕 |
| PAUSE | 'pause' | 视频暂停播放 |
| ERROR | 'error' | 视频播放时出现错误 |
| TIME_UPDATE | 'timeupdate' | 视频播放时间更新 |
| WAITING | 'waiting' | 等待加载数据 |
| CANPLAY | 'canplay' | 视频缓冲足够数据,可以播放 |
| CANPLAY_THROUGH | 'canplaythrough' | 视频可以流畅播放 |
| DURATION_CHANGE | 'durationchange' | 视频时长发生变化 |
| VOLUME_CHANGE | 'volumechange' | 视频音量发生变化 |
| LOADED_DATA | 'loadeddata' | 视频起播数据加载完成 |
| LOAD_START | 'loadstart' | 视频内容开始加载 |
| PLAYER_FOCUS | 'focus' | 播放器聚焦 |
| PLAYER_BLUR | 'blur' | 播放器失焦 |
| READY | 'ready' | 播放器完成实例化 |
| AUTOPLAY_STARTED | 'autoplayStarted' | 自动播放成功 |
| AUTOPLAY_PREVENTED | 'autoplayWasPrevented' | 自动播放失败 |
| COMPLETE | 'complete' | 播放器创建video完成,可以开始播放 |
| REPLAY | 'replay' | 播放器重新播放 |
| DESTROY | 'destroy' | 播放器销毁 |
| URL_CHANGE | 'urlchange' | 播放资源发生变化 |
| FULLSCREEN_CHANGE | 'fullscreenChange' | 系统全屏状态切换 |
| CSS_FULLSCREEN_CHANGE | 'cssFullscreenChange' | 网页样式全屏状态切换 |
| DEFINITION_CHANGE | 'definitionChange' | 清晰度发生变化 |
| VIDEO_RESIZE | 'videoResize' | 播放器容器尺寸发生变化 |
| PIP_CHANGE | 'pipChange' | 画中画状态切换 |
| ROTATE | 'rotate' | 播放器被旋转 |
| USER_ACTION | 'userAction' | 内置插件用户行为触发,所有内置插件用户行为交互都会下发该事件,可用于用户行为埋点 |
| SHORTCUT | 'shortcut' | 播放器内置快捷键事件触发 |
| FALLBACK_ERROR | 'fallbackError' | 降级后失败 |
| FALLBACK | 'fallback' | 主备流降级 |
| AUTOPLAY_UNMUTE | 'autoplayUnmute' | 点击“取消静音”按钮 |
| LONG_WAITING | 'longWaiting' | 长时间等待 |
| DEFINITION_FALLBACK | 'definitionFallback' | 清晰度降级 |
| ERROR_REFRESH_CLICK | 'errorRefreshClick' | 报错后点击刷新按钮 |
| SOURCE_CHANGE | 'sourceChange' | 线路切换 |
| SEI | 'sei' | SEI 信息解析 |
| TIME_SHIFT_CHANGE | 'timeShiftChange' | 时移状态切换 |
| REFRESH_CLICK | 'refreshClick' | 点击刷新按钮 |
| ABR_SWITCH_START | 'abrSwitchStart' | 切换自适应码率流 |
| ABR_SWITCH_SUCCESS | 'abrSwitchedSuccess' | 成功切换自适应码率直播流 |
| ABR_SWITCH_FAILED | 'abrSwitchFailed' | 切换自适应码率直播流失败 |
类型:interface
直播事件的 payload 接口,封装了拉流过程中各类事件的详细数据。
示例
VePlayer.createLivePlayer({ height: 360, url: 'https://livepull.example.com/appname/streamname.flv', }).then(function (veplayer) { veplayer.on(VePlayer.live.Events.PLAYER_FOCUS, function (data) { console.log('监听到 PLAYER_FOCUS 事件的回调数据为', data); }); veplayer.once(VePlayer.live.Events.PLAYER_FOCUS, function (data) { console.log('监听到 PLAYER_FOCUS 事件的回调数据为', data); }); }).catch(error => { console.log('创建播放器失败,报错信息:', error); });
视频开始播放。
类型
() => void
恢复播放(包括暂停后恢复播放或卡顿后恢复播放)。
类型
() => void
视频播放完毕。
类型
() => void
视频暂停播放。
类型
() => void
视频播放时出现错误。
类型
(error: VeError) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
error | 错误对象。 |
视频播放时间更新。
类型
() => void
等待加载数据。
类型
() => void
视频缓冲足够数据,可以播放。
类型
() => void
视频可以流畅播放。
类型
() => void
视频时长发生变化。
类型
() => void
视频音量发生变化。
类型
() => void
视频起播数据加载完成。
类型
() => void
视频内容开始加载。
类型
() => void
播放器聚焦。
类型
(data: { paused: boolean; ended: boolean; autoHide: boolean; delay: number;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | 播放器聚焦信息。 |
paused | boolean | 是否是播放暂停。 |
ended | boolean | 是否是播放结束。 |
autoHide | boolean | 是否可以自动隐藏。 |
delay | number | 自动隐藏的延迟时间,单位为 ms。 |
播放器失焦。
类型
(data: { paused: boolean; ended: boolean;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | 播放器失焦信息。 |
paused | boolean | 是否是播放暂停。 |
ended | boolean | 是否是播放结束。 |
播放器完成实例化。
类型
() => void
成功自动播放。
类型
() => void
自动播放失败。
类型
() => void
播放器创建 video 完成,可以开始播放。
类型
() => void
播放器重新播放。
类型
() => void
播放器销毁。
类型
() => void
播放资源发生变化。
类型
(url: string) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
url | string | 播放地址。 |
系统全屏状态切换。
类型
(isFullscreen: boolean) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
isFullscreen | boolean | 是否是全屏。 |
网页样式全屏状态切换。
类型
(isFullscreen: boolean) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
isFullscreen | boolean | 是否是全屏。 |
清晰度发生变化。
类型
(data: { from: ExposedDefinition; to: ExposedDefinition;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | 清晰度信息 |
from | 变化前清晰度。 | |
to | 变化后清晰度。 |
播放器容器尺寸发生变化。
类型
(data: any) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | any | 播放器尺寸。 |
画中画状态切换。
类型
(isPIP: boolean) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
isPIP | boolean | 是否是画中画。 |
播放器被旋转。
类型
(rotateDeg: number) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
rotateDeg | number | 旋转角度。 |
内置插件用户行为触发,所有内置插件用户行为交互都会下发该事件,可用于用户行为埋点。
类型
(data: any) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | any | 操作信息。 |
播放器内置快捷键事件触发。
类型
(data: any) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | any | 快捷键信息。 |
降级后失败。
类型
(error: VeError) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
error | 错误信息。 |
主备流降级。
类型
(data: { from: { url: string; }; to: { url: string; };}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | 主备流降级信息。 |
from | - | 降级前信息 |
url | string | 降级前播放地址。 |
to | - | 降级后信息 |
url | string | 降级后播放地址。 |
点击“取消静音”按钮。
类型
() => void
长时间等待。
类型
() => void
清晰度降级。
类型
(data: { from: ExposedDefinition; to: ExposedDefinition;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | 清晰度降级信息。 |
from | 降级前清晰度信息。 | |
to | 降级后清晰度信息。 |
报错后点击刷新按钮。
类型
() => void
线路切换。
类型
() => void
SEI 信息解析。
类型
(data: { originPts: number; pts: number; time: number; data: { payload: Uint8Array; type: number; size: number; uuid: string; };}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | SEI 信息 |
originPts | number | 原始 PTS。视频帧在实际推流中的显示时间戳 PTS。 |
pts | number | 修正后的 PTS。在直播场景中,播放器会根据观众进入直播间时间,从 0 开始重新定义显示时间戳 PTS。 |
time | number | 该 SEI 消息在当前直播视频中的时间点,单位为 s。 |
data | - | SEI 数据。 |
payload | Uint8Array | SEI 数据。 |
type | number | SEI 类型。 |
size | number | SEI 大小。 |
uuid | string | SEI UUID,不存在则为空字符串。 |
时移状态切换。
类型
(isTimeShift: boolean) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
isTimeShift | boolean | 是否是时移状态。 |
点击刷新按钮。
类型
() => void
切换自适应码率流的事件回调。
类型
(data: { bitrate: number;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | - |
bitrate | number | 切换后的码率。 |
成功切换自适应码率流的事件回调。
类型
(data: { bitrate: number; url: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | - |
bitrate | number | 切换后的码率。 |
url | string | 切换后的播放地址。 |
切换自适应码率直播流失败的事件回调。
类型
(data: { bitrate: number; url: string;}) => void
参数
名称 | 类型 | 说明 |
|---|---|---|
data | - | - |
bitrate | number | 切换的码率。 |
url | string | 切换后的播放地址。 |