Module Events
1. Player Info Change Event
The player module stores the player's status information. Listen to this event to monitor player status changes.
Event: PlayerEvents.PlayerInfoChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
playerInfo |
Player information | PlayerStoreInfo |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerInfoChange, (data) => {
const playerInfo = data.playerInfo;
console.log('播放状态', playerInfo.playStatus);
});
2. Player Warm-up Info Update
The initialization of warm-up information has a certain delay. Developers can listen to this event to detect when the warm-up info initialization is complete and retrieve the warm-up information.
Event: PlayerEvents.PlayerWarmUpSettingChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
warmUpSetting |
Warm-up information | PlayerWarmUpSetting |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerWarmUpSettingChange, () => {
const setting = watchCore.player.getPlayerWarmUpSetting();
console.log('暖场类型', setting.warmUpType);
console.log('暖场图片地址', setting.warmUpImg);
console.log('暖场视频地址', setting.warmUpVideo);
});
3. Player Configuration Loaded Successfully
Event: PlayerEvents.PlayerConfigLoaded
Example:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerConfigLoaded, () => {
console.log('播放配置加载成功');
});
4. Player Initialization Complete
When creating a player using the setupPlayer method of the player module, listen for the player initialization completion event via PlayerInited. After this event is triggered, the player's API can be called.
Event: PlayerEvents.PlayerInited
Example:
// 创建播放器
watchCore.player.setupPlayer({
container: 'NodeElement',
});
watchCore.player.eventEmitter.on(PlayerEvents.PlayerInited, () => {
console.log('播放器初始化完成');
const playerInfo = watchCore.player.getPlayerInfo();
console.log(playerInfo.playerInited); // true
});
5. Player Script Loaded
Triggered when the corresponding player script finishes loading after calling the setupPlayer method of the player module to create a player.
Event: PlayerEvents.PlayerScriptLoaded
Callback Parameters: Record<string, never>
6. Player Play Event
The play event is triggered when the user clicks play or plays via the API. Developers can also synchronize the playback status through the PlayerEvents.PlayerInfoChange event.
Event: PlayerEvents.PlayerPlaying
Example:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerPlaying, () => {
console.log('播放了');
});
7. Player Pause Event
The pause event is triggered when the user clicks pause, auto-play fails, or pauses via the API. Developers can also synchronize the playback status through the PlayerEvents.PlayerInfoChange event.
Event: PlayerEvents.PlayerPause
Example:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerPause, () => {
console.log('暂停了');
});
8. Volume Change
This event is triggered when the volume changes.
Event: PlayerEvents.VolumeChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
currentVolume |
Current volume | number |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.VolumeChange, () => {
const currentVolume = watchCore.player.getCurrentVolume();
console.log('当前音量', currentVolume);
});
9. Line Switch
This event is triggered when switching lines.
Event: PlayerEvents.LineChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
currentLine |
Current line | number |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.LineChange, () => {
const currentLine = watchCore.player.getCurrentLine();
console.log('当前线路', currentLine);
});
10. Quality Level Switch
This event is triggered when switching quality levels.
Event: PlayerEvents.QualityLevelChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
currentQualityLevel |
Current quality level | number |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.QualityLevelChange, () => {
const currentLevel = watchCore.player.getCurrentQualityLevel();
console.log('当前清晰度', currentLevel);
});
11. Playback Rate Change
This event is triggered when switching playback speed.
Event: PlayerEvents.RateChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
currentRate |
Current playback speed | number |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.RateChange, () => {
const currentRate = watchCore.player.getCurrentRate();
console.log('当前倍速', currentRate);
});
12. Player Danmaku Status Change
This event is triggered when the player's danmaku display status changes.
Event: PlayerEvents.BarrageStatusChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
barrageShow |
Whether danmaku is displayed | boolean |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.BarrageStatusChange, () => {
const playerInfo = watchCore.player.getPlayerInfo();
console.log('弹幕显示状态', playerInfo.barrageShow);
});
13. Trigger Danmaku Settings Popup
Danmaku settings on mobile need to be implemented by the page. This event is used to listen for the viewer clicking the player's danmaku settings button. After this event is triggered, display the danmaku settings overlay.
Event: PlayerEvents.BarrageSettingClick
Example:
watchCore.player.eventEmitter.on(PlayerEvents.BarrageSettingClick, () => {
console.log('显示弹幕设置面板');
});
14. Playback Time Change
Event: PlayerEvents.TimeUpdate
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
currentTime |
Current playback time, unit: seconds | number |
durationTime |
Total playback duration, unit: seconds | number |
15. Playback End
Event: PlayerEvents.PlaybackOver
16. Playback Resume Event
Event: PlayerEvents.HistoryPlay
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
historyTime |
Resume time, unit: seconds | number |
17. Low Latency Playback Error
Listen for low latency playback errors via the LowLatencyError event. Switch to normal latency mode after an error.
Event: PlayerEvents.LowLatencyError
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
errorCode |
Error code | string |
reason |
Error reason | PlayerErrorReason |
message |
Error message | string |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.LowLatencyError, () => {
toast.error('播放无延迟异常,已帮您切换到正常延迟模式');
// TODO 重建播放器并使用正常延迟
});
18. Toggle Player Fullscreen
Event: PlayerEvents.ToggleFullScreen
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
isPlayerFullscreen |
Whether the player is fullscreen | boolean |
fullScreenMode |
Current fullscreen scheme | FullScreenMode |
19. Anti-Screen Recording Marquee Error
Event: PlayerEvents.PlayerMarqueeError
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
code |
Error code | string |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerMarqueeError, () => {
toast.error('跑马灯异常');
});
20. Player Timeline Mark List Change
Event: PlayerEvents.PlayerTimeAxisMarkListChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
timeAxisMarkList |
Mark list | TimeAxisMarkInfo[] |
Example:
watchCore.player.eventEmitter.on(PlayerEvents.PlayerTimeAxisMarkListChange, (params) => {
toast.error('播放器打点信息改变', params);
});
21. Player "Highlights" Button Click Event
Event: PlayerEvents.PlayerHighlightsBtnClicked
22. Player "Live Captions" Toggle Switch
Event: PlayerEvents.PlayerSubtitleSwitched
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
checked |
Whether it is turned on | boolean |
23. Player UI Control Bar Visibility Event
Event: PlayerEvents.PlayerUIControlDisplay
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
visible |
Current control bar display status | boolean |
24. Mobile Player Loading Show/Hide Event
Event: PlayerEvents.PlayerLoading
25. Enable/Disable Specific Subtitles for Playback
Event: PlayerEvents.PlayerUIReplaySubtitleChecked
Callback Parameters: PlayerUIReplaySubtitleCheckedCallbackParams
26. Triggered When Clicking the Subtitle Selector on Mobile Player
Event: PlayerEvents.PlayerUIReplaySubtitleSelectBtnClick
Callback Parameters: PlayerUIReplaySubtitleSelectBtnClickCbParams
27. Mobile Player Settings Panel Skin Initialization Event
Event: PlayerEvents.PlayerSetupPanelSkinInit
28. Mobile Player Header Ad Click Event
Event: PlayerEvents.PlayerHeadAdClicked
Callback Parameters: PlayerHeadAdClickedCbParams
29. Mobile Player Pause Ad Click Event
Event: PlayerEvents.PlayerStopAdClicked
Callback Parameters: PlayerStopAdClickedCbParams
30. Mobile Player Statistics Information
Event: PlayerEvents.PlayerStatisticsInfo
Callback Parameters: PlayerStatisticsInfoCbParams
31. Player Internal Time Update Event
Event: PlayerEvents.PlayerInnerTimeUpdate
Callback Parameters: PlayerInnerTimeUpdateCbParams
32. Mobile Player Settings Panel Change Event
Event: PlayerEvents.PlayerSetupPanelChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
isShow |
Whether the settings panel is displayed | boolean |
33. Playback Buffering Status Monitoring Update Event
Event: PlayerEvents.PlayerLoadingDetectionUpdate
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
type |
Playback buffering monitoring prompt status | PlayerLoadingDetectionType |
detail |
Playback buffering monitoring status details | PlayerDetectionSwitchDetail |
34. Player Fullscreen Status Change Event
Event: PlayerEvents.PlayerFullscreenChange
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
isFullscreen |
Whether fullscreen | boolean |
fullscreenElement |
Fullscreen element | Element | null |
35. Director Console Stream Resolution Adjustment Event
Event: PlayerEvents.GuideStreamVideoSizeChange
Callback Parameters: VideoSize
36. VOD Player Server Error Event
Event: PlayerEvents.VodPlayerServerError
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
code |
Error code | string |
37. Live Player s2j_onPlayerError Event
Event: PlayerEvents.LivePlayerError
Callback Parameters: Object object, detailed type description as follows
| Property Name | Description | Type |
|---|---|---|
errorCode |
Error code | string |
cid |
Channel ID | string |
38. Enter Picture-in-Picture
Event: PlayerEvents.EnterPictureInPicture
Callback Parameters: Record<string, never>
39. Leave Picture-in-Picture
Event: PlayerEvents.LeavePictureInPicture
Callback Parameters: Record<string, never>
