模組事件
一、播放器資訊修改事件
播放器模組會儲存播放器的狀態資訊,透過該事件監聽播放器狀態改變。
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>
