播放器媒体事件。由浏览器 video
元素触发,SDK 代理。
成员
名称 | 值 | 描述 |
---|---|---|
ABORT | 'abort' | 在播放被终止时触发。例如当播放中的视频重新开始播放。 |
CANPLAY | 'canplay' | 视频缓冲足够数据、可以播放时触发。 |
CANPLAY_THROUGH | 'canplaythrough' | 视频可以流畅播放时触发。 |
DURATION_CHANGE | 'durationchange' | 视频时长发生变化时触发。 |
EMPITED | 'empited' | (已废弃)媒体被清空时触发,通常是由于初始化。 |
EMPTIED | 'emptied' | 媒体被清空时触发,通常是由于初始化。 |
ENDED | 'ended' | 视频播放完毕时触发。 |
ERROR | 'error' | 发生错误时触发。 |
LOADED_DATA | 'loadeddata' | 视频起播数据加载完成时触发。 |
LOADED_META_DATA | 'loadedmetadata' | 媒体的元数据已加载完毕,playerSdkIns.player.video 可获取所有的 video 属性。 |
LOAD_START | 'loadstart' | 媒体内容开始加载时触发。 |
PAUSE | 'pause' | 视频暂停播放时触发。 |
PLAY | 'play' | 视频开始播放时触发。 |
PLAYING | 'playing' | 恢复播放时触发,包括暂停后恢复播放或卡顿后恢复播放。 |
PROGRESS | 'progress' | 报告媒体下载进度,即已缓存播放数据进度。 |
RATE_CHANGE | 'ratechange' | 播放速率变化时触发。 |
SEEKED | 'seeked' | Seek 操作完成时触发。 |
SEEKING | 'seeking' | Seek 操作开始时触发。 |
STALLED | 'stalled' | 在尝试获取媒体数据、但数据不可用时触发。 |
SUSPEND | 'suspend' | 媒体资源加载终止时触发。这可能是因为下载已完成或因为其他原因暂停。 |
TIME_UPDATE | 'timeupdate' | 视频播放时间更新时触发。 |
VOLUME_CHANGE | 'volumechange' | 视频音量发生变化时触发。 |
WAITING | 'waiting' | 等待加载数据时触发。 |
示例
监听播放错误
playerSdkIns.on(VePlayer.Events.ERROR, (error) => { // error 处理 })
监听播放
playerSdkIns.on(VePlayer.Events.PLAY, () => { // TODO after play })
监听播放时间更新
playerSdkIns.on(VePlayer.Events.TIME_UPDATE, (data) => { const { currentTime } = data; console.log('currentTime: ', currentTime); })
SDK 事件,由 SDK 内部触发。
成员
名称 | 值 | 描述 |
---|---|---|
READY | 'ready' | 播放器实例创建完成时触发。 |
COMPLETE | 'complete' | 播放器创建 video 完成时触发,表示可以开始播放。 |
URL_CHANGE | 'urlchange' | 播放资源发生变化。 |
PLAYER_FOCUS | 'focus' | 播放器聚焦。 |
PLAYER_BLUR | 'blur' | 播放器失焦。 |
FULLSCREEN_CHANGE | 'fullscreen_change' | 系统全屏状态切换。 |
CSS_FULLSCREEN_CHANGE | 'cssFullscreen_change' | 网页全屏状态切换。 |
MINI_STATE_CHANGE | 'mini_state_change' | 画中画模式切换。 |
DESTROY | 'destroy' | 播放器销毁。 |
REPLAY | 'replay' | 播放器重新播放。 |
RETRY | 'retry' | 播放器重试。 |
DEFINITION_CHANGE | 'definition_change' | 清晰度发生变化 |
VIDEO_RESIZE | 'video_resize' | 播放器容器尺寸发生变化。 |
PIP_CHANGE | 'pip_change' | 画中画状态切换。 |
ROTATE | 'rotate' | 播放器发生旋转。 |
SHORTCUT | 'shortcut' | 播放器内置快捷键事件被触发。 |
SEI_PARSED | 'SEI_PARSED' | SEI 信息解析。 |
USER_ACTION | 'user_action' | 内置插件用户行为触发。所有内置插件用户行为交互都会下发该事件,可用于用户行为埋点。 |
AUTOPLAY_STARTED | 'autoplay_started' | 自动播放成功时触发。 |
AUTOPLAY_PREVENTED | 'autoplay_was_prevented' | 自动播放失败时触发。 |
PLAYER_CREATED_FINISH | 'player_create_finish' | 播放器完成创建。 |
PLAYER_REBUILD | 'player_rebuild' | 播放器重建。 |
NOT_SUPPORT_HARDWARE_DECODER | 'not_support_hardware_decoder' | 硬解不支持时触发。 |
NOT_SUPPORT_SOFT_DECODER | 'not_support_soft_decoder' | 软解不支持时触发。 |
TOKEN_EXPIRED | 'playAuthToken_expired' | playAuthToken 过期。 |
UMD_LOAD_FAIL | 'umd_load_fail' | UMD 加载失败。 |
PLAYNEXT | 'playnext' | 切换下一个视频。调用 playNext 后触发。 |
URL_NULL | 'urlNull' | 视频地址为空。 |
LEAVE_PLAYER | 'leaveplayer' | 鼠标移出。 |
ENTER_PLAYER | 'enterplayer' | 鼠标移入。 |
RESET | 'reset' | 播放器状态重置。 |
SOURCE_ERROR | 'source_error' | <source> 加载错误,表示 <source> 不支持或播放失败。 |
SOURCE_SUCCESS | 'source_success' | <source> 加载成功。 |
示例
监听播放器创建完成
playerSdkIns.on(VePlayer.Events.COMPLETE, () => { // can execute the apis and get the attributes of player core after sdk build complete console.log('player core: ', playerSdkIns.player); })
监听清晰度切换
playerSdkIns.on(VePlayer.Events.DEFINITION_CHANGE, (data) => { const { to } = data; const { definition, url } = to; console.log('target definition is ', definition); console.log('target url is ', url); })
监听全屏状态切换
playerSdkIns.on(VePlayer.Events.FULLSCREEN_CHANGE, (isFullScreen) => { console.log('current fullscreen: ', isFullScreen); })
插件事件,由插件内部触发。
成员
名称 | 值 | 描述 |
---|---|---|
DANMU_CHANGE | 'danmu_change' | 弹幕配置发生变化。 |
CANCEL_UNMUTE | 'cancel_unmute' | 取消静音。 |
REFRESH_CLICK | 'refresh_click' | 刷新按钮被点击。 |
PLAY_BACKUP_CHANGE | 'play_backup_change' | 报错时触发降级。 |
PLAY_BACKUP_CHANGE_FINISH | 'play_backup_change_finish' | 报错时触发的降级结束。 |
PLAY_ERROR_BUTTON_CLICK | 'play_error_button_click' | 报错时触发重试。 |
PlAY_URL_CHANGE | 'play_url_change' | 播放 URL 改变。 |
SHOW_PLAY_ERROR | 'show_play_error' | 展示报错。 |
LONG_WAITING | 'long_waiting' | 发生长时间卡顿时触发。播放器会在事件发生时自动进行清晰度降级或提醒用户手动切换晰度降级。 |
OFTEN_WAITING | 'often_waiting' | 发生频繁卡顿时触发。 |
DEFINITION_DEMOTE | 'definition_demote' | 清晰度降级。 |
INNER_DEFINITION_CHANGE | 'inner_definition_change' | 清晰度切换。 |
LINE_CHANGE | 'line_change' | 线路切换。 |
GET_PLAY_URL_ERR | 'get_play_url_err' | 播放器通过 playAuthToken 获取 URL 失败。 |
MEDIA_EXPIRED | 'MEDIA_EXPIRED' | 资源过期。 |
MIRROR_CHANGE | 'mirror_change' | 镜像开启。 |
TIME_SCALE_CHANGE | 'time_scale_change' | 音乐播放器快进或快退。 |
MUSIC_MODE_CHANGE | 'music_mode_change' | 音乐播放模式切换。 |
MUSIC_CHANGE | 'music_change' | 音乐播放模式下切换音乐。 |
MUSIC_LIST_CHANGE | 'music_list_change' | 音乐播放列表发生变化。 |
AUTOPLAY_SUCCESS | 'autoplay_success' | 自动播放成功。 |
AUTOPLAY_FAILED | 'autoplay_failed' | 自动播放失败。 |
MENU_LOG | 'MENU_LOG' | 右键菜单事件。事件 data 中包含具体信息。 |
MENU_REPORT | 'MENU_REPORT' | 点击了右键菜单的反馈按钮。 |
PLAY_LIST_CHANGE | 'play_list_change' | 播放列表更新。 |
PLAY_LIST_ITEM_CHANGE | 'play_list_item_change' | 播放列表播放项变更。 |
PLAY_NEXT_START | 'play_next_start' | playNext开始 |
PLAY_NEXT_END | 'play_next_end' | playNext结束。 |
ABR_AUTO_DESC_CHANGE | 'ABR_AUTO_DESC_CHANGE' | 自动挡档位改变。 |
示例
监听自动播放成功
playerSdkIns.on(VePlayer.Events.AUTOPLAY_SUCCESS, () => { // TODO something })