Txplayer支持的事件
- 事件监听:
player.on(eventName, callback)
- 事件触发:
player.trigger(eventName, args)
- 事件取消:
player.off(eventName, [callback])
- 事件监听一次:
player.once(eventName, callback)
事件列表
事件监听
- ready [播放器初始化完成]
- error [播放出错]
- volumeChange [音量发生变化]
- timeupdate 在ready之后监听 [播放时间点变化]
- playStateChange [播放状态变化]
- definitionChange [清晰度发生变化]
- vidChange [播放的视频发生变化]
- smallWindowModeChange [进入或退出小窗口模式]
- showUIVipGuide [显示vip付费浮层]
- browserFullscreenChange [浏览器全屏状态变化]
- windowFullscreenChange [系统全屏状态变化]
- adStart [广告开始]
- adEnd [广告结束]
- languageSet [语言切换完成]
- showLoginGuide [清晰度切换720p时,要求登录,此时会触发这个事件,使用方需要监听此事件,处理登录逻辑] 对应的api closeLoginGuide
事件触发
- 1080pVipGuideClose [页面通知播放器付费浮层关闭]
监听播放器响应的 volumeChange
事件
var player = new Txplayer({
containerId: 'mod_player',
vid: 'r0018hmh1pa',
width: '100%',
height: 270
});
player.on('volumeChange', function(){
// do sth...
});
取消监听
// 取消volumeChange事件监听
player.off('volumeChange');
// 取消pause事件监听
player.off('pause');
添加子消息
// 添加主消息volumeChange
player.on('volumeChange',function(){
// do sth..
});
// 添加子消息volumeChange.namespace1
player.on('volumeChange.namespace1',function(){
// do sth..
});
// 添加子消息volumeChange.namespace2
player.on('volumeChange.namespace2',function(){
// do sth..
});
// 添加子消息volumeChange.namespace3
player.on('volumeChange.namespace3',function(){
// do sth..
});
按需移除事件监听
/**
* 移除子消息namespace2
* 说明:子消息namespace2被移除,但是volumeChange的其他消息不会被移除
*/
player.off('volumeChange.namespace2');
移除全部事件监听(移除主消息事件监听)
/**
* 移除主消息volumeChange的事件监听
* 说明:这里主消息和子消息namespace1,namespace2,namespace3的事件监听都会被移除
*/
player.off('volumeChange');
ready
回调函数参数:无
error
回调函数参数:
{
errCode: '平台统一错误码',
code: '错误码',
msg: '错误描述信息',
type: '错误类型'[cgi|video],
exem: '子分类错误码'
}
volumeChange
{
volume: '变化后的音量',
isUserAction: '是否是用户主动触发'
}
timeupdate
{
videoTag: 'video DOM对象'
}
playStateChange
{
state: '播放状态',
vid: '当前视频vid'
}
state的状态:
- -1(未开始)
- 0(已结束)
- 1(正在播放)
- 2(已暂停)
- 3(正在缓冲)
definitionChange
{
definition: '切换后的清晰度'
}
清晰度列表
- msd : 流畅180P
- sd : 标清270P
- hd : 高清480P
- shd : 超清720P
- fhd : 蓝光1080P
vidChange
vid: 切换后的视频id
smallWindowModeChange
{
isSmallWindow: '当前是否为小窗模式'
}
showUIVipGuide
{
trialFinish: true //试看结束
}
or
{
switchDefinitionFail: true //切换清晰度失败
}
1080pVipGuideClose 页面点击关闭浮层,通知播放器继续播放广告
player.trigger('1080pVipGuideClose', {
action: 'closeSkipAd'
})
browserFullscreenChange
isBrowserFullscreen 当前是否是浏览器全屏状态
windowFullscreenChange
isWindowFullscreen 当前是否是系统全屏状态
adStart
{
type: '广告类型'
}
广告类型范围:
- loadingad 前贴广告
- insertad 中插广告
- endingad 后贴广告
adEnd
{
type: '广告类型'
}
languageSet
{
vid: '将要切换的vid',
cid: '将要切换的cid', // 仅当setLanguage有传cid时才有值
title: '将要切换的语言',
lang: '将要切换的语言所属序号'
}