Polyv Help Center

Help Center

Module Events

Updated: 2024-10-10 17:27:10

1. Player Info Change Event

The player module stores the player's status information. Listen for player status changes through this event.

Event: PlayerEvents.PlayerInfoChange

Callback Parameters: Object object, detailed type description as follows

Property 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 warm-up information initialization has a certain delay. Developers can listen for the completion of warm-up information initialization and obtain the warm-up information through this event.

Event: PlayerEvents.PlayerWarmUpSettingChange

Callback Parameters: Object object, detailed type description as follows

Property 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 Initialization Complete

When creating a player by calling the setupPlayer method of the player module, listen for the player initialization completion event via the PlayerInited event. 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
});

4. Player Play Event

The play event is triggered after 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('播放了');
});

5. Player Pause Event

The pause event is triggered after the user clicks pause 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('暂停了');
});

6. Volume Change

This event is triggered when the volume changes.

Event: PlayerEvents.VolumeChange

Callback Parameters: Object object, detailed type description as follows

Property Description Type
currentVolume Current volume number

Example:

watchCore.player.eventEmitter.on(PlayerEvents.VolumeChange, () => {
  const currentVolume = watchCore.player.getCurrentVolume();
  console.log('当前音量', currentVolume);
});

7. Line Switch

This event is triggered when switching lines.

Event: PlayerEvents.LineChange

Callback Parameters: Object object, detailed type description as follows

Property Description Type
currentLine Current line number

Example:

watchCore.player.eventEmitter.on(PlayerEvents.LineChange, () => {
  const currentLine = watchCore.player.getCurrentLine();
  console.log('当前线路', currentLine);
});

8. Quality Level Switch

This event is triggered when switching quality levels.

Event: PlayerEvents.QualityLevelChange

Callback Parameters: Object object, detailed type description as follows

Property Description Type
currentQualityLevel Current quality level number

Example:

watchCore.player.eventEmitter.on(PlayerEvents.QualityLevelChange, () => {
  const currentLevel = watchCore.player.getCurrentQualityLevel();
  console.log('当前清晰度', currentLevel);
});

9. Playback Rate Change

This event is triggered when switching playback speed.

Event: PlayerEvents.RateChange

Callback Parameters: Object object, detailed type description as follows

Property Description Type
currentRate Current playback speed number

Example:

watchCore.player.eventEmitter.on(PlayerEvents.RateChange, () => {
  const currentRate = watchCore.player.getCurrentRate();
  console.log('当前倍速', currentRate);
});

10. Player Danmaku 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 Description Type
barrageShow Whether to show danmaku boolean

Example:

watchCore.player.eventEmitter.on(PlayerEvents.BarrageStatusChange, () => {
  const playerInfo = watchCore.player.getPlayerInfo();
  console.log('弹幕显示状态', playerInfo.barrageShow);
});

11. 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('显示弹幕设置面板');
});

12. Playback Time Change

Event: PlayerEvents.TimeUpdate

Callback Parameters: Object object, detailed type description as follows

Property Description Type
currentTime Current playback time, unit: seconds number
durationTime Total playback duration, unit: seconds number

13. Playback End

Event: PlayerEvents.PlaybackOver

14. Playback Resume Event

Event: PlayerEvents.HistoryPlay

Callback Parameters: Object object, detailed type description as follows

Property Description Type
historyTime Resume time, unit: seconds number

15. Low Latency Playback Error

Listen for low latency playback errors via the LowLatencyError event. Switch to normal latency mode after an error occurs.

Event: PlayerEvents.LowLatencyError

Example:

watchCore.player.eventEmitter.on(PlayerEvents.LowLatencyError, () => {
  toast.error('播放无延迟异常,已帮您切换到正常延迟模式');
  // TODO 重建播放器并使用正常延迟
});

16. Toggle Player Fullscreen

Event: PlayerEvents.ToggleFullScreen

Callback Parameters: Object object, detailed type description as follows

Property Description Type
isPlayerFullscreen Whether the player is fullscreen boolean

17. Video Resolution Change

Event: PlayerEvents.PlayerResolutionChange

Callback Parameters: Object object, detailed type description as follows

Property Description Type
width Video width number
height Video height number
联系客服,在线咨询
在线咨询