• 播放器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);   // 事件监听

实例接口使用

  • 由于播放器内核原因,接口的成功或失败采用事件监听模式来判断。
  • 接口中的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不存在