模块事件
一、播放器信息修改事件
播放器模块会保存播放器的状态信息,通过该事件监听播放器状态改变。
Event 事件: PlayerEvents.PlayerInfoChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
playerInfo |
播放器信息 | PlayerStoreInfo |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerInfoChange, (data) => {
const playerInfo = data.playerInfo;
console.log('播放状态', playerInfo.playStatus);
});
二、播放器暖场信息更新
暖场信息初始化有一定的延迟,开发者可通过该事件监听暖场信息初始化完成并获取暖场信息。
Event 事件: PlayerEvents.PlayerWarmUpSettingChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
warmUpSetting |
暖场信息 | PlayerWarmUpSetting |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerWarmUpSettingChange, () => {
const setting = watchCore.player.getPlayerWarmUpSetting();
console.log('暖场类型', setting.warmUpType);
console.log('暖场图片地址', setting.warmUpImg);
console.log('暖场视频地址', setting.warmUpVideo);
});
三、播放器配置信息加载成功
Event 事件: PlayerEvents.PlayerConfigLoaded
示例:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerConfigLoaded, () => {
console.log('播放配置加载成功');
});
四、播放器初始化完毕
调用播放器模块的 setupPlayer 方法创建播放器时,通过 PlayerInited 事件监听播放器初始化完成事件,触发该事件后即可调用播放器的 Api。
Event 事件: PlayerEvents.PlayerInited
示例:
// 创建播放器
watchCore.player.setupPlayer({
container: 'NodeElement',
});
watchCore.player.eventEmitter.on(PlayerEvents.PlayerInited, () => {
console.log('播放器初始化完成');
const playerInfo = watchCore.player.getPlayerInfo();
console.log(playerInfo.playerInited); // true
});
五、播放器脚本加载完成
调用播放器模块的 setupPlayer 方法创建播放器时,在对应播放器脚本加载完成后触发。
Event 事件: PlayerEvents.PlayerScriptLoaded
回调参数: Record<string, never>
六、播放器播放事件
用户点击播放或通过 Api 播放后会回调播放事件,开发者也可通过 PlayerEvents.PlayerInfoChange 事件同步播放状态。
Event 事件: PlayerEvents.PlayerPlaying
示例:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerPlaying, () => {
console.log('播放了');
});
七、播放器暂停事件
用户点击暂停、自动播放失败、通过 Api 暂停都会回调暂停事件,开发者也可通过 PlayerEvents.PlayerInfoChange 事件同步播放状态。
Event 事件: PlayerEvents.PlayerPause
示例:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerPause, () => {
console.log('暂停了');
});
八、音量改变
音量改变时触发该事件。
Event 事件: PlayerEvents.VolumeChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
currentVolume |
当前音量 | number |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.VolumeChange, () => {
const currentVolume = watchCore.player.getCurrentVolume();
console.log('当前音量', currentVolume);
});
九、线路切换
线路切换时触发该事件。
Event 事件: PlayerEvents.LineChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
currentLine |
当前线路 | number |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.LineChange, () => {
const currentLine = watchCore.player.getCurrentLine();
console.log('当前线路', currentLine);
});
十、清晰度级别切换
清晰度切换时触发该事件。
Event 事件: PlayerEvents.QualityLevelChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
currentQualityLevel |
当前清晰度级别 | number |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.QualityLevelChange, () => {
const currentLevel = watchCore.player.getCurrentQualityLevel();
console.log('当前清晰度', currentLevel);
});
十一、倍速修改
倍速切换时触发该事件。
Event 事件: PlayerEvents.RateChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
currentRate |
当前播放倍速 | number |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.RateChange, () => {
const currentRate = watchCore.player.getCurrentRate();
console.log('当前倍速', currentRate);
});
十二、播放器弹幕改变
播放器弹幕显示状态切换时触发该事件。
Event 事件: PlayerEvents.BarrageStatusChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
barrageShow |
是否显示弹幕 | boolean |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.BarrageStatusChange, () => {
const playerInfo = watchCore.player.getPlayerInfo();
console.log('弹幕显示状态', playerInfo.barrageShow);
});
十三、调起弹幕设置弹窗
移动端下的弹幕设置需要由页面实现,该事件用于监听观众点击播放器的弹幕设置按钮,触发该事件后显示弹幕设置蒙层。
Event 事件: PlayerEvents.BarrageSettingClick
示例:
watchCore.player.eventEmitter.on(PlayerEvents.BarrageSettingClick, () => {
console.log('显示弹幕设置面板');
});
十四、播放时间改变
Event 事件: PlayerEvents.TimeUpdate
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
currentTime |
当前播放时间,单位:秒 | number |
durationTime |
播放总时长,单位:秒 | number |
十五、回放播放结束
Event 事件: PlayerEvents.PlaybackOver
十六、回放续播事件
Event 事件: PlayerEvents.HistoryPlay
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
historyTime |
续播的时间,单位:秒 | number |
十七、无延迟播放异常
通过 LowLatencyError 事件监听无延迟播放异常,异常后切到正常延迟模式。
Event 事件: PlayerEvents.LowLatencyError
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
errorCode |
错误码 | string |
reason |
错误原因 | PlayerErrorReason |
message |
错误信息 | string |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.LowLatencyError, () => {
toast.error('播放无延迟异常,已帮您切换到正常延迟模式');
// TODO 重建播放器并使用正常延迟
});
十八、切换播放器全屏
Event 事件: PlayerEvents.ToggleFullScreen
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
isPlayerFullscreen |
是否播放器全屏 | boolean |
fullScreenMode |
当前全屏方案 | FullScreenMode |
十九、防录屏跑马灯异常
Event 事件: PlayerEvents.PlayerMarqueeError
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
code |
错误码 | string |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerMarqueeError, () => {
toast.error('跑马灯异常');
});
二十、播放器打点信息改变
Event 事件: PlayerEvents.PlayerTimeAxisMarkListChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
timeAxisMarkList |
打点列表 | TimeAxisMarkInfo[] |
示例:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerTimeAxisMarkListChange, (params) => {
toast.error('播放器打点信息改变', params);
});
二十一、播放器"精彩看点"按钮点击事件
Event 事件: PlayerEvents.PlayerHighlightsBtnClicked
二十二、播放器"实时字幕"切换按钮切换
Event 事件: PlayerEvents.PlayerSubtitleSwitched
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
checked |
是否打开 | boolean |
二十三、播放器 UI 控制栏显隐事件
Event 事件: PlayerEvents.PlayerUIControlDisplay
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
visible |
当前控制栏显示状态 | boolean |
二十四、移动端播放器Loading显示隐藏事件
Event 事件: PlayerEvents.PlayerLoading
二十五、回放字幕开启和关闭指定的字幕
Event 事件: PlayerEvents.PlayerUIReplaySubtitleChecked
回调参数: PlayerUIReplaySubtitleCheckedCallbackParams
二十六、移动端播放器点击字幕的选择器时触发
Event 事件: PlayerEvents.PlayerUIReplaySubtitleSelectBtnClick
回调参数: PlayerUIReplaySubtitleSelectBtnClickCbParams
二十七、移动端播放器设置面板皮肤初始化事件
Event 事件: PlayerEvents.PlayerSetupPanelSkinInit
二十八、移动端播放器头部广告点击事件
Event 事件: PlayerEvents.PlayerHeadAdClicked
回调参数: PlayerHeadAdClickedCbParams
二十九、移动端播放器暂停广告点击事件
Event 事件: PlayerEvents.PlayerStopAdClicked
回调参数: PlayerStopAdClickedCbParams
三十、移动端播放器统计信息
Event 事件: PlayerEvents.PlayerStatisticsInfo
回调参数: PlayerStatisticsInfoCbParams
三十一、播放器内部时间更新事件
Event 事件: PlayerEvents.PlayerInnerTimeUpdate
回调参数: PlayerInnerTimeUpdateCbParams
三十二、移动端播放器设置面板改变事件
Event 事件: PlayerEvents.PlayerSetupPanelChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
isShow |
是否显示设置面板 | boolean |
三十三、播放缓冲状态监测更新事件
Event 事件: PlayerEvents.PlayerLoadingDetectionUpdate
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
type |
播放缓冲监测提示状态 | PlayerLoadingDetectionType |
detail |
播放缓冲监测状态详细信息 | PlayerDetectionSwitchDetail |
三十四、播放器全屏状态改变事件
Event 事件: PlayerEvents.PlayerFullscreenChange
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
isFullscreen |
是否全屏 | boolean |
fullscreenElement |
全屏元素 | Element | null |
三十五、导播台推流分辨率调整事件
Event 事件: PlayerEvents.GuideStreamVideoSizeChange
回调参数: VideoSize
三十六、点播播放器server error事件
Event 事件: PlayerEvents.VodPlayerServerError
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
code |
错误码 | string |
三十七、直播播放器s2j_onPlayerError事件
Event 事件: PlayerEvents.LivePlayerError
回调参数: Object 对象,详细类型说明如下
| 属性名 | 说明 | 类型 |
|---|---|---|
errorCode |
错误码 | string |
cid |
频道号 | string |
三十八、进入画中画
Event 事件: PlayerEvents.EnterPictureInPicture
回调参数: Record<string, never>
三十九、退出画中画
Event 事件: PlayerEvents.LeavePictureInPicture
回调参数: Record<string, never>
