伯索开放平台
首页API文档SDK文档伯索官网
首页API文档SDK文档伯索官网
  1. SDK帮助文档
  • 快速入门
    • SDK简介
      • SDK简介
    • SDK支持的业务场景
      • SDK支持的业务场景
    • 产品特色
      • 产品特色
  • 产品指南
    • 实时课堂功能介绍
      • 实时课堂功能介绍
    • 微课功能介绍
      • 微课功能介绍
    • 作业批改功能介绍
      • 作业批改功能介绍
    • 上传课件功能介绍
      • 上传课件功能介绍
    • SDK后台功能介绍
      • SDK后台功能介绍
  • 最佳实践
    • 最佳实践
  • 接入流程说明
    • SDK对接标准流程说明
      • SDK对接标准流程说明
    • 基础概念说明
      • 基础概念说明
  • SDK帮助文档
    • 直播SDK接入
      • WEB版本
        • WEB版本
      • iOS版本
        • IOS版本
      • Android版本
        • Android版本
    • 微课SDK接入
      • WEB版本
        • WEB版本
      • iOS版本
        • IOS版本
      • Android版本
        • Android版本
    • 批注SDK接入
      • Web版本
        • Web版本
      • iOS版本
        • IOS版本
      • Android版本
        • Android版本
    • 签名加密
      • 签名加密
    • 回调接口接入流程
      • 回调接口接入流程
    • 文档解析接入方式
      • 文档解析接入方式
    • 历史课堂接入方式
      • 历史课堂接入方式
    • 历史课堂转视频接入方式
      • 历史课堂转视频接入方式
    • 历史课堂/微课下载接口
      • 历史课堂/微课下载接口
  • Open API帮助文档
    • Open API 主要功能
    • Open API集成常用场景
    • 数据字典
    • 接入须知
      • 调用流程
      • 在线调试
      • 通用错误码
    • 用户信息管理
      • 添加用户
      • 修改密码
      • 删除用户
      • 更新用户
      • 用户精确查询
      • 查询多个用户
      • 用户访问Token
      • 验证用户Token有效期
    • 教材包管理
      • 查询机构教材包
      • 查询教材包内教材
      • 向学生分发教材包
    • 实时课堂管理
      • 创建实时课堂
      • 创建实时课堂(班)
      • 更新实时课堂
      • 更新实时课堂(班)
      • 删除实时课堂
      • 查询实时课堂列表
      • 更新实时课堂下听众用户
      • 获取实时课堂监控地址
      • 控制单个学员是否可以回看单次课
      • 获取单个课堂的回看地址
      • 删除单个历史课堂
      • 获取课堂考勤数据
      • 获取历史课堂信息
      • 获取历史课堂观看数据
      • 获取课堂互动信息
      • 获取课堂列表(新)
      • 获取实时课堂旁听链接
    • 班级管理
      • 创建班级
      • 更新班级
      • 删除班级
      • 查询班级列表
      • 向班级中添加学生
      • 从班级中移除学生
      • 更换学生所在班级
      • 老师列表中查询机构分校学科
      • 根据班级获取获取班级详情和人员信息
    • 学情数据
      • 获取学生课堂明细数据
      • 获取学生巩固明细数据
      • 获取学生测验明细数据
      • 获取学生辅导明细数据
      • 获取学生积分明细数据
    • 商城管理
      • 获取商品详情
      • 获取商品列表
      • 获取分校自定义商品栏目列表
      • 订单查询
      • 订单详情查询
    • 作业管理
      • 查询学生作业列表
      • 查询老师作业列表
    • 测验管理
      • 查询机构测评列表
      • 获取测评统计
      • 查询机构测验列表
      • 获取测验明细
  • 产品更新记录
    • Open API 更新日志
    • SDK 更新日志
  • 常见问题
    • PPT制作事项
    • 课件常见问题与解决方法
    • 网络相关问题
    • 声音相关问题
    • 网络测速
  • 推荐
    • 浏览器推荐
    • 常见软件推荐
    • 教育硬件推荐
  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