视频观看模块 功能API 说明
调用方式: VHALL_ZK.init完成之后, 用VHALL_ZK.$player初始播放器。
/* 初始化播放器 */
VHALL_ZK.$player.init({
type: type || 'live', // live 直播 vod 点播 必填
recordId: this.recordId || '', // 回放id,type==vod 时必传
videoNode: '' // 播放器的容器, div的id 必填
})
/* 播放器初始化成功 */
VHALL_ZK.$event.on(VHALL_ZK.EVENTS.PlayerReady, (res) => {
console.log('--初始化直播播放器成功--')
})
播放器API列表 使用VHALL_ZK.$player作为句柄调用
API名 |
功能描述 |
参数 |
返回值 |
备注 |
play |
自助操作 播放 |
无 |
|
|
pause |
自助操作 暂停 |
无 |
|
|
getQualityList |
清晰度列表 |
无 |
Array |
没有则返回[] |
getCurrentQuality |
当前使用清晰度 |
无 |
Object |
没有则返回null |
setQuality |
设定指定清晰度 |
Object |
无 |
参数为getQualityList中单个值 |
getCurrentTime |
当前播放时间 |
无 |
Number |
没有则返回0 |
seekTime |
设置播放时间 |
Number |
无 |
参数精确到秒 |
getSpeedList |
获取当前可支持倍速列表 |
无 |
Array |
返回结果 [0.75, 1, 1.25, 1.5, 2] |
setSpeed |
设置倍速 |
int |
无 |
参数为getSpeedList里面单个值 |
setMute |
设置是否禁音 |
boolean |
无 |
参数为true 或 false |
setVolume |
设置声音音量 |
boolean |
无 |
参数为 0 ~ 1 范围数值 |
toggleBarrage |
视频弹幕开关切换 |
boolean |
无 |
参数为true 或 false |
addBarrage |
发送弹幕 |
string |
无 |
参数为字符串 |
getMarkPoints |
获取视频打点信息 |
无 |
Array |
返回样例[{timePoint:'打点的时间', msg: '打点的文字'}] |
on |
监听播放器事件 |
(type, event) |
无 |
type为监听的类型,event为响应事件 |
off |
移除播放器监听事件 |
(type, event) |
无 |
type为监听的类型,event为响应事件 |
enterFullScreen |
进入视频全屏 |
无 |
无 |
- |
destroy |
销毁播放器 |
无 |
无 |
销毁播放器之后视频不能播放 |
播放器事件列表
事件名 |
功能描述 |
备注 |
VHALL_ZK.EVENTS.PLAY |
开始播放 |
无 |
VHALL_ZK.EVENTS.PAUSE |
暂停播放 |
无 |
VHALL_ZK.EVENTS.LAG_REPORT |
播放卡顿 |
视频卡顿时触发 |
VHALL_ZK.EVENTS.LAG_RECOVER |
播放卡顿恢复 |
视频卡顿恢复时触发 |
VHALL_ZK.EVENTS.DEFINITION_CHANGE |
当前清晰度改变时触发 |
卡顿时自动切清晰度触发,手动切换不触发 |
VHALL_ZK.EVENTS.TIMEUPDATE |
播放时间改变 |
播放时间改变时触发,其中delay为直播时延 |
代码示例
VHALL_ZK.$player.init({
...
})
VHALL_ZK.$event.on(VHALL_ZK.EVENTS.PlayerReady, (res) => {
console.log('--初始化直播播放器成功--')
this.addEventPlayer()
})
// 自助操作 播放
VHALL_ZK.$player.play()
// 自助操作 暂停
VHALL_ZK.$player.pause()
// 获取当前可支持倍速列表
let speedList = VHALL_ZK.$player.getSpeedList()
// 设置倍速
VHALL_ZK.$player.setSpeed(speedList[2])
// 清晰度列表
let qualityList = VHALL_ZK.$player.getQualityList()
// 设定指定清晰度
VHALL_ZK.$player.setQuality(qualityList[1])
// 获取当前使用清晰度
let currentQuality = VHALL_ZK.$player.getCurrentQuality()
// 当前播放时间
let currentTime = VHALL_ZK.$player.getCurrentTime()
// 视频跳转到第100秒
VHALL_ZK.$player.seekTime(100)
// 获取当前可支持倍速列表
let speedList = VHALL_ZK.$player.getSpeedList()
// 设置倍速
VHALL_ZK.$player.setSpeed(speedList[1])
// 设置声音是否静音
VHALL_ZK.$player.setMute(true | false)
// 设置声音音量, 0.5表示50%音量
VHALL_ZK.$player.setVolume(0.5)
// 视频弹幕开关切换, true打开弹幕开关
VHALL_ZK.$player.toggleBarrage(true)
// 发送弹幕, 发送弹幕
VHALL_ZK.$player.addBarrage(str)
// 获取视频打点信息
VHALL_ZK.$player.getMarkPoints()
// 播放器全屏
VHALL_ZK.$player.enterFullScreen()
// 销毁播放器
VHALL_ZK.$player.destroy()
/* 视频监听事件 */
addEventPlayer () {
VHALL_ZK.$player.on(VHALL_ZK.EVENTS.PLAY, () => {
console.log('-----视频开始播放-----')
})
VHALL_ZK.$player.on(VHALL_ZK.EVENTS.PAUSE, () => {
console.log('-----视频暂停-----')
})
VHALL_ZK.$player.on(VHALL_ZK.EVENTS.LAG_REPORT, () => {
console.log('-----视频卡顿-----')
})
VHALL_ZK.$player.on(VHALL_ZK.EVENTS.LAG_RECOVER, () => {
console.log('-----卡顿恢复-----')
})
VHALL_ZK.$player.on(VHALL_ZK.EVENTS.DEFINITION_CHANGE, () => {
console.log('-----清晰度改变-----')
this.currentQuality = VHALL_ZK.$player.getCurrentQuality()
})
VHALL_ZK.$player.on(VHALL_ZK.EVENTS.TIMEUPDATE, (e) => {
// e.delay直播时延
})
}