🚀 快速开始:
- 通过后端获取
${access_token}
如何对接?
- 1、
window.access_token = ${access_token}
验证KEY
- 2、通过script方式 (引入点播SDK包)
- 3、
var _HT = new MT.SDK.main(window.access_token);
实例化 & 创建SDK对象
下载Web-VOD工程
事件 & 内置方法:
监听事件 _HT.on
创建摄像头播放器 _HT.camera
_HT.camera(@cameraContainer, @cameraId, @callback)
创建视频播放器 _HT.mainPlayer
_HT.mainPlayer(@playerContainer, @videoId, @callback)
- 参数@playerContainer: 视频容器
- 参数@videoId: 视频id
- 参数@callback: 创建完成回调函数
- 返回 player 播放器
例:
_HT.mainPlayer("playerContainer", "videoId", function(player){
// Player init success;
});
创建课件播放器 _HT.whiteboardPlayer(v3.9+)
_HT.whiteboardPlayer(@docContainer, @docplayerId, @callback)
- 参数@docContainer: 容器ID
- 参数@docplayerId: 播放器ID
- 参数@callback: 创建完成回调函数
- 返回 docPlayer 对象
说明:view层自适应外层容器
说明:docPlayer
对象 => 在创建播放器 callback 函数内返回
名称 |
类型 |
描述 |
whiteboardResize() |
Function |
docPlayer.whiteboardResize() 播放器按比例resize |
例:
// js part
_HT.whiteboardPlayer("docContainer", "docplayerId", function(player){
// Player init success;
});
<!-- html part -->
<div id="docContainer">
// 这里会生成一个doc播放器
</div>
重置主播放器尺寸 _HT.playerResize
_HT.playerResize(@width, @height)
- 参数@width: 宽
- 参数@height: 高
- 返回 oject{width: w, height: h} 重置播放器高宽
例:
_HT.playerResize(700, 740); // 按4:3比例返回:{width: 700, height: 526}
销毁 _HT.destroy() (v3.0+)
@说明: 销毁点播 (销毁后必须重新初始化)
示例:
_HT.destroy()
配置自定义表情包 _HT.setting('emotions', opts)
_HT.setting(@type, @opts)
- 参数@type: "emotions"
- 参数@opts: 表情包数据
- @path:String => 存放目录
- @maps:JSON-Object => UBB编码文件名 [aha] => aha.png
- 解析后 var emo = path + maps[key]
例:
var opts = {
base: 'https://path_to_emotions/',
maps: {
'[aha]': 'aha.png',
'[smile]': 'smile.png'
}
}
// 调用
_HT.setting("emotions", opts);
// 默认表情包
baseUrl => static-1.talk-fun.com/open/cooperation/common/emotions/default/
[aha]: "001.gif"
[amaz]: "009.gif"
[bye]: "010.gif"
[cool]: "006.gif"
[flower]: "005.gif"
[good]: "003.gif"
[hard]: "002.gif"
[love]: "004.gif"
[pitiful]: "008.gif"
[why]: "007.gif"
模式切换:live:mode:change
说明:直播模式切换 (课件模式,桌面分享,视频插播)
事件反馈逻辑:
1、课件模式 => 视频模式 (响应事件)
2、视频模式 => 课件模式 (响应事件)
3、停止直播 => 开始直播(课件模式)(不会响应事件)
4、停止直播 => 视频模式 (响应事件)
停止直播:建议恢复到课件模式
@参数说明:
模式类型 |
描述 |
0 |
教育模式 CODE |
2 |
桌面分享/视频插播 CODE |
字段 |
描述(object) |
mode.currentMode |
当前模式 |
mode.beforeMode |
历史(上一次)模式 |
示例:
MT.on('live:mode:change',function(mode){
// mode.beforeMode
// mode.currentMode
});
回放信息 live:info
字段 |
类型 |
描述 |
liveid |
string |
点播id |
title |
string |
点播标题 |
duration |
string |
点播总时间 |
views |
string |
点播观看次数 |
例:
_HT.on('live:info',function(live){
// liveid: "1259651", title: "20150914开班典礼(侯老师)", duration: "6345", views: "0"
});
音量设置 _HT.volume
_HT.volume(range)
- 参数: range
- 范围: 0-1 之间
例:
_HT.volume(0.5) // 设置音量
倍速度播放方法 _HT.playRate(range)
_HT.playRate(range)
- 参数: range
- 范围: 0-2 之间
- 指示音频/视频的当前播放速度。
- 例值:
- 1.0 正常速度
- 0.5 半速(更慢)
- 2.0 倍速(更快)
- -1.0 向后,正常速度
- -0.5 向后,半速
例:
_HT.playRate(0.5) // 设置从0.5倍速度播放
获取线路 _HT.getSource(callback)
_HT.getSource(callback)
- 配置参数: callback
- 返回说明:
字段 |
类型 |
描述 |
lineCounter |
Number |
返回线路条数 |
例:
_HT.getSource(function (lineCounter){
for(var i = 0; i < lineCounter; i++) {
//todo...
console.log('线路:' + i)
}
})
切换线路 _HT.changeSource(lineTarget, callback)
_HT.changeSource(lineTarget, callback)
- 配置参数: lineTarget callback
- 参数说明:
字段 |
类型 |
描述 |
lineTarget |
Number |
要设置的线路序号 |
callback |
function |
设置回调 |
例:
_HT.changeSource(lineTarget, function (){
// console.log('线路' + lineTarget + '设置成功.')
})
_HT.setMediaControl(options)
- 配置参数: @Object options
- 参数说明:
字段 |
类型 |
描述 |
fullscreenButton |
boolean |
是否开启全屏按钮 (默认 true) |
volumeButton |
boolean |
是否开启音量选择 (默认 true) |
例:
_HT.setMediaControl({
fullscreenButton: true // 播放器全屏按钮开启
})
播放 _HT.play
例:
_HT.play() // 开始播放
暂停 _HT.pause
例:
_HT.pause() // 暂停播放
停止 _HT.stop
例:
_HT.stop() // 停止播放
开始 vod:load:init
例:
_HT.on('vod:load:init',function(){
// 开始播放
});
结束 vod:stop
例:
_HT.on('vod:stop',function(){
// 点播结束
});
摄像头开启 camera:start
例:
_HT.on('camera:start',function(){
// 摄像头开启
});
摄像头关闭 camera:stop
例:
_HT.on('camera:stop',function(){
// 摄像头关闭
});
点播视频初始化完成 live:video:loaded
例:
_HT.on('live:video:loaded',function(){
// 点播视频初始化完成
});
章节分段信息 live:chapter:list
字段 |
类型 |
描述 |
course |
string |
课程名 |
page |
string |
页码 |
starttime |
string |
开始时间 |
thumb |
string |
预览缩略图 |
title |
string |
章节标题 |
例:
_HT.on('live:chapter:list',function(chpterlist){
console.log(chpterlist)
});
聊天分段信息 live:chat:slice
字段 |
类型 |
描述 |
start |
string |
开始时间点 |
end |
string |
结束时间点 |
loc |
string |
分段xml地址 |
例:
_HT.on('live:chat:slice',function(curlist){
// 返回当前聊天截取信息
});
聊天分段详细信息 live:message:append
字段 |
类型 |
描述 |
message |
string |
聊天信息 |
nickname |
string |
昵称 |
role |
string |
角色 |
starttime |
string |
起始时间点 |
timestamp |
string |
当前时间戳 |
xid |
string |
用户xid |
例:
_HT.on('live:message:append',function(curlist){
// 返回一批聊天数据
});
问答分段详细信息 live:questions:append
字段 |
类型 |
描述 |
content |
string |
聊天信息 |
nickname |
string |
昵称 |
role |
string |
角色 |
starttime |
string |
起始时间点 |
time |
string |
时间 |
xid |
string |
用户xid |
uid |
string |
用户uid |
liveid |
string |
直播id |
qid |
string |
问答id |
replies |
string |
回复数 |
replyId |
string |
回复id |
sn |
string |
问答序号 |
例:
_HT.on('live:questions:append',function(curlist){
// 返回一批问答数据
});
seek _HT.seek
_HT.seek(@duration)
- 参数@duration: seek时间点(单位-秒)
例:
_HT.seek(100); // 时间轴从100秒开始播放
seek开始 live:seek:begin
seek完成 live:seek:finish
返回当前时间点 live:duration
live:duration
点播开始,每隔200毫秒自执行该事件
视频错误 live:video:error
在线 vod:on:online
离线 vod:on:offline
License:
版权所有 @TalkFun 解析权归欢拓所有。