视频观看模块 功能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直播时延
  })
}