伯索开放平台
首页API文档SDK文档伯索官网
首页API文档SDK文档伯索官网
  1. SDK文档
  • 直播SDK接入
    • WEB版本
      • WEB版本
    • iOS版本
      • IOS版本
    • Android版本
      • Android版本
  • 微课SDK接入
    • WEB版本
      • WEB版本
    • iOS版本
      • IOS版本
    • Android版本
      • Android版本
  • 批注SDK接入
    • Web版本
      • Web版本
    • iOS版本
      • IOS版本
    • Android版本
      • Android版本
  • 签名加密
    • 签名加密
  • 回调接口接入流程
    • 回调接口接入流程
  • 文档解析接入方式
    • 文档解析接入方式
  • 历史课堂接入方式
    • 历史课堂接入方式
  • 历史课堂转视频接入方式
    • 历史课堂转视频接入方式
  • 历史课堂/微课下载接口
    • 历史课堂/微课下载接口
  1. SDK文档

历史课堂接入方式

根据接口定义生成的地址,可以直接在浏览器中播放直播课产生的历史课堂。
请求地址
https://wwwr.plaso.cn/static/sdk/styleupime/1.33.213/?
名称类型必填描述
appId字符是应用id, 由伯索分配;
appType字符是应用类型,目前播放场景下固定值为player
recordId字符是同一个meetingId有可能会产生多个历史课堂,用此recordId标记;
meetingId字符否课堂ID,唯一标识该课堂;使用ASSIIC字符,不得包含/空格等;
web 播放器参数:
名称类型必填描述
showTypenumber否1/2/40(1-仅头像播放/2-仅白板播放/40-头像+白板播放,可选参数)
avatarHeightnumber否头像+白板播放时的自定义头像高度,可选参数),只有showType传参为40的情况下,该参数才会生效,最小值90,小于90时头像不会再变小,无最大值,当头像高度设置的值大于当前播放器的高度时,头像的高度会跟播放器的高度一致
场景对接说明:
📌
注:播放页面的关闭,需要调用者提供upimeBridge.onClose函数来完成关闭功能。 即点击关闭按钮后调用upimeBridge.onClose。
播放历史课堂-jssdk集成
接入步骤:
1.https://wwwr.plaso.cn/static/sdk/css/plaso_upime_player-1.8.501.css
2.https://wwwr.plaso.cn/static/sdk/js/plaso_upime_player-1.8.501.js
3.如果插入了m3u8类型的音视频窗口或气泡,需要引入 https://wwwr.plaso.cn/static/sdk/js/hls.js
4.window对象中会新增一个PlasoUpimePlayer类
5.调用new PlasoUpimePlayer(outBorder)创建sdkPlayer
6.准备好签名过的query,调有sdkPlayer.setSrc(query, option)方法设置播放路径(历史课堂保存到自己存储的可以不需要query,只传空字符串,在option中需要传getFileName方法;如果内容中包含从资料中心插入的ppt、音视频等,需要额外传入getExtFileName)
7.canplay事件触发之后,调用play,pause等方法控制播放、暂停,对sdkPlayer.currentTime赋值可以快进;
8.当播放sdk视频的容器大小发生变化时,需要调用sdkPlayer.resize()
9.用户需要制作播放控制条
普通播放器示例:
<script src="https://wwwr.plaso.cn/static/sdk/js/plaso_upime_player-1.7.js"></script>
<link rel="stylesheet" href="https://wwwr.plaso.cn/static/sdk/css/plaso_upime_player-1.7.css">
<script>
var loaded = false, currentTime, duration, playing = false;
var sdkPlayer= new PlasoUpimePlayer(document.getElementById("playerdiv"));
sdkPlayer.setSrc(query);
sdkPlayer.on("canplay", function() {
    loaded = true;
    // canplay事件触发时才能获取到duration
    duration = sdkPlayer.duration;
    // 监听timeupdate事件获取currentTime更新进度条长度,也可以自己设置定时器读取sdkPlayer.currentTime
    sdkPlayer.on("timeupdate", function() {
        currentTime = sdkPlayer.currentTime;
        console.log("currentTime =", currentTime);
        //TODO: 更新进度条长度
    })
    sdkPlayer.on("ended", function() {
        console.log("play end");
    });
});
// 播放
function play() {
    if(!loaded) return;
    if(sdkPlayer.ended) sdkPlayer.currentTime = 0;
    sdkPlayer.play().then(function() {
        playing = true;
    });
}
// 暂停
function pause() { 
    sdkPlayer.pause().then(function() {
        playing = false;
    })
}
// 快进,以s为单位
function seekTo(time) { sdkPlayer.currentTime = time }
</script>
函数参数说明
PlasoUpimePlayer
PlasoUpimePlayer是播放器类,播放sdk视频时需要先new一个sdkPlayer对象 functions
constructor(outBorder)
构造函数。参数:
outBorder: dom对象。用来装载sdk视频内容
setSrc(query, option) 设置播放路径,视频加载成功时会触发"canplay"事件,那时才可以正常播放。参数:

query: string类型。appId、recordId等参数签名后生成的字符串(历史课堂保存到自己存储的可以不需要query,只传空字符串)

option:对象(可选)。设置额外的参数,包括传入timer、audioObject等,详见option参数说明

play()*
播放;返回promise

当未设置播放路径、未加载完成时返回结果将是rejected。

ended属性为true时调用play()的返回结果也是rejected,需要先设置currentTime到可播放的点

pause()*
暂停;返回promise

resize()*
调整大小。装载sdk视频内容的容器div的大小发生变化时需要调用resize方法重新调整视频大小

on(eventName, callback)*
增加事件回调。参数:

eventName: string类型,事件名

callback:事件回调函数

off(eventName, callback)*
取消事件回调。参数:

eventName: string类型,事件名

callback:之前调用on方法绑定过的、待取消的事件回调函数

destroy()*
销毁播放器

variables
currentTime
sdk视频当前播放时间,double类型,以秒(s)为单位。当对该属性赋值时可以调整当前播放时间
duration
sdk视频的总时长,double类型,以秒(s)为单位
ended
当前是否已经播放到结尾,boolean类型

当触发ended事件时ended属性将变成true,此时调用play()方法将返回rejected
重新设置currentTime后ended属性将变成false
事件*
canplay* sdk视频内容加载完成事件,没有加载完成时无法播放sdk视频内容
timeupdate* 视频播放时间变化时触发。返回值:
time: 当前播放时间,对于currentTime
ended* 当视频播放到结尾时触发
click* 当播放器产生没有鼠标移动的点击事件时触发。用户也可以自行在装载sdk视频内容的outBorder元素上绑定click事件,当sdk视频中带有可拖动的视频人像,拖动、缩放人像视频大小也会触发click事件,用户需要判断自己监听的click事件触发时鼠标是否在移动
query说明
新增startRecordTime,标记绝对的录制开始时间, 便于播放器完成同步其他多媒体的工作;
Demo 地址:
1、http://wwwr.plaso.cn/static/sdk/websdkdemo/player_sdk.html
option参数说明
timer
当用户需要自己播放多媒体,需要提供timer对象供upime同步用, 并提供如下函数;

currentTime
audioObject
当传入audioObject时,播放器在播放时将同时播放audioObject指定的音频文件,在音频正常播放时sdk视频的播放时间将和音频播放的时间保持同步。属性:

src: 音频的url路径。如果音频文件为m3u8类型,还需要引入https://wwwr.plaso.cn/static/sdk/js/hls.js
duration: 音频文件时长(目前sdk视频的duration依然以sdk服务器录制的内容的duration为准)
getFileName
如果历史课堂保存到自己存储,需要在option中需要传入getFileName方法。该方法用来返回历史课堂目录下每个文件的访问地址。参数:

filename: string类型。文件相对于历史课堂目录的相对地址
isPublic: boolean类型。isPublic=true表示希望得到该文件公开的访问地址,即不需要签名、没有有效期的地址 返回promise,promise的结果为文件访问地址
getExtFileName
如果内容中包含从资料中心插入的ppt、音视频等,需要额外传入getExtFileName。该方法用来根据外部文件info获取外部文件的访问地址。参数:

info: Array类型。info为从资料中心插入ppt、音视频文件时提供的info 返回promise,promise的结构为文件访问地址
补充说明:
var option = {
    audioObject: {
        src: 'https://file-plaso.oss-cn-hangzhou.aliyuncs.com/dev-plaso%2Fteaching%2F182%2F1553651059818-15.mp3',
        duration:272
    }
}
sdkPlayer.setSrc(query, option);
关于微信播放
白板中如果插入了视频, 且需要在微信中播放.
请到微信开发组申请白名单,否则无法在微信中播放;
修改于 2023-11-16 05:57:49
上一页
文档解析接入方式
下一页
历史课堂接入方式
Built with