- 播放器SDK主要分为: 实例创建与销毁、实例事件监听、实例接口使用、全局定义,四大部分。
播放器实例
- 此SDK可支持创建多个实例,每一个实例对应一个播放器实例。
创建实例
// 创建实例参数
var opt = {
appId:'', // 应用ID 必填
accountId: '', // 第三方用户ID 必填
token:'', // access_token 必填
type:'', // live 直播 vod 点播 必填
videoNode:'videoNode', // 播放器的容器
poster:"http://xxx.jpg", // 封面地址
liveOption:{
type:'hls' // 直播播放类型 hls | flv
roomId:'', // 直播房间ID 必填
},
vodOption:{
recordId:'' // 回放 ID
}
}
// 成功回调
var vhallplayer;
var success = function(event){
// 实例句柄
vhallplayer = event.vhallplayer;
};
// 失败回调
var failure = function(event){
console.log(event);
}
// 创建实例
VhallPlayer.createInstance(opt, success, failure);
- videoNode为Dom容器的id
- type为live时则使用liveOption,反之则使用vodOption
- VhallPlayer 为SDK全局句柄
- vhallplayer 为当前传入播放器实例句柄,故以下所有操作均必须在成功回调后执行。
销毁实例
vhallplayer.destroy(); // 销毁当前实例
实例事件监听
- 在调用实例接口前,建议全部监听以下事件
事件监听
vhallplayer.on(event , handler); // 事件监听
- event 为事件,参考:播放器事件参考表
- handler 为处理函数
实例接口使用
- 由于播放器内核原因,接口的成功或失败采用事件监听模式来判断。
- 接口中的failure回调为参数校验
设置循环状态(仅点播可用)
var isLoop = true; // true 为循环 false 为非循环
// 失败回调
var failure = function(event){
console.log(event);
};
vhallplayer.setLoop(isLoop , failure); // 设置循环状态
获取循环状态(仅点播可用)
// 失败回调
var failure = function(event){
console.log(event);
};
vhallplayer.getLoop(); // true 为循环状态 false为非循环状态
获取当前视频总时长(仅点播可用)
// 失败回调
var failure = function (event) {
console.log(event);
};
vhallplayer.getDuration(failure);
获取当前视频播放时间(仅点播可用)
// 失败回调
var failure = function (event) {
console.log(event);
};
vhallplayer.getCurrentTime(failure);
设置当前播放时间(仅点播可用)
var time = 0; // 秒
// 失败回调
var failure = function (event) {
console.log(event);
};
vhallplayer.setCurrentTime(time , failure);
设置seek限制(仅点播可用)
var opt = {
enable:true, // true为开启seek限制 , false为关闭seek限制
maxTime:60 // seek最大值 number类型
};
var failure - function(event){
console.log(event);
};
vhallplayer.setLimitSeek(opt , failure);
获取当前seek限制信息(仅点播可用)
var failure = function(event){
console.log(event);
};
vhallplayer.getLimitSeek(failure);
获取当前可选倍速(仅点播可用)
vhallplayer.getUsableSpeed(); // 可选倍速列表
设置倍速播放(仅点播可用)
var list = vhallplayer.getUsableSpeed(); // 可选倍速列表
// 失败回调
var failure = function(event){
console.log(event);
};
vhallplayer.setPlaySpeed(list[0] , failure);
-
该方法参数只能为倍速列表已存在的一项
播放
vhallplayer.play(); // 播放
暂停
vhallplayer.pause(); // 暂停
获取当前暂停状态
vhallplayer.getIsPause(); // true 为暂停状态 false为播放状态
获取视频清晰度列表
vhallplayer.getQualitys(); // 获取视频清晰度列表
- 该接口返回当前可用的视频清晰度列表。
获取当前视频清晰度
vhallplayer.getCurrentQuality(); // 获取当前视频清晰度
设置当前视频清晰度
var qualityList = vhallplayer.getQualitys(); // 获取清晰度列表
// 失败回调
var failure = function(event){
console.log(event);
};
vhallplayer.setQuality(qualityList[0] , failure); // 设置当前视频清晰度
-
传入的清晰度应为清晰度列表中的一项。
进入全屏
// 失败回调
var failure = function(event){
console.log(event);
};
vhallplayer.enterFullScreen(failure ); // 进入全屏
退出全屏
// 失败回调
var failure = function(event){
console.log(event);
};
vhallplayer.exitFullScreen(failure); // 退出全屏
获取当前是否是全屏
vhallplayer.isFullScreen(); // true为全屏状态 false为非全屏状态
设置静音
var isMute = true; // true为静音 false为取消静音
// 失败回调
var failure = function(event){
console.log(event);
};
vhallplayer.setMute(isMute , failure); // 设置静音
获取音量
vhallplayer.getVolume(); // 0~100
设置音量
var volume = 50; // 音量 0~100
// 失败回调
var failure = function (event) {
console.log(event);
};
vhallplayer.setVolume(volume , failure );
获取当前网络状态
vhallplayer.getNetworkState(); // 获取当前网络状态
- 0为 音频/视频尚未初始化
- 1为 音频/视频是活动的且已选取资源,但并未使用网络
- 2为 浏览器正在下载数据
- 3为 未找到音频/视频来源
视频截图
var imgBase64Data = vhallplayer.videoScreenshot(); // 视频截图
- 截图后生成Base64
全局定义
播放器事件参考表
可选值 | 事件 | 备注 |
---|---|---|
VhallPlayer.CURRENTTIME_CHANGE | 当前时间改变 | 点播当前播放时间被改变时触发 |
VhallPlayer.LOOP_CHANGE | 循环状态改变 | 点播循环状态被改变时触发 |
VhallPlayer.MUTE_CHANGE | 静音状态改变 | 静音状态被改变时触发 |
VhallPlayer.RATE_CHANGE | 倍速改变 | 倍速被改变时触发 |
VhallPlayer.VOLUME_CHANGE | 声音改变 | 声音被改变时触发 |
VhallPlayer.FULLSCREEN_CHANGE | 全屏状态改变 | 全屏状态改变时触发 |
VhallPlayer.DEFINITION_CHANGE | 当前清晰度改变 | 当前清晰度改变时触发(卡顿时自动切清晰度触发,手动切换不触发) |
VhallPlayer.LAG_REPORT | 卡顿 | 视频卡顿时触发 |
VhallPlayer.LAG_RECOVER | 卡顿恢复 | 视频卡顿恢复时触发 |
VhallPlayer.PALY | 开始播放 | 点播开始播放时触发 |
VhallPlayer.PAUSE | 暂停 | 点播暂停时触发 |
VhallPlayer.PROGRESS | 视频加载中 | 点播视频加载中时触发 |
VhallPlayer.LOADED | 视频加载完成 | 点播视频加载完成时触发 |
VhallPlayer.ERROR | 播放器出错 | 播放器自身出现错误时触发 |
VhallPlayer.ENDED | 播放完毕 | 点播视频播放完毕时触发 |
VhallPlayer.OPEN_BARRAGE | 开启弹幕 | 开启弹幕时触发 |
VhallPlayer.CLOSE_BARRAGE | 关闭弹幕 | 关闭弹幕时触发 |
VhallPlayer.CLEAR_BARRAGE | 清空弹幕 | 清空弹幕时触发 |
VhallPlayer.TIMEUPDATE | 播放时间改变 | 播放时间改变时触发 |
错误码
code | message |
---|---|
611000 | 初始化播放器失败 |
611001 | 无效的参数 |
611002 | 服务器返回错误 |
611004 | 此方法仅点播可用 |
611005 | 进入全屏失败 |
611006 | 退出全屏失败 |
611008 | appId不存在 |
611009 | roomId不存在 |
611010 | token不存在 |
611011 | recordId不存在 |