添加视频
防盗链参数。
如果没有给boardName, 则默认添加图片至当前Board
如果没有设置pageIndex,则默认添加图片至选定Board的当前页面
视频格式。会用于设置video标签中source的type属性。 目前支持mp3, aac等格式
音频标题
音频资源的url地址
添加多页空白Board
Board显示名称
Board页数
返回Board的boardName。注意boardName为sdk内部随机生成的名字,boardName不等于传入的docName
添加静态课件。静态课件由多页图片组成。用户既可以传入多页静态图片作为参数,也可以传入云信静态课件转码结果作为参数
Board的显示名
静态课件的参数
返回Board的boardName
添加图片至白板中
防盗链参数。
如果没有给boardName, 则默认添加图片至当前Board
如果没有设置pageIndex,则默认添加图片至选定Board的当前页面
图片URL地址。注意如果site部署在https协议上,图片也必须是https地址。
另注:如果图片地址跨域,如果需要导出图片的话,或者进行白板转流,则必须保证图片服务允许跨域
添加页面。
若提供,则在insertAfter索引代表的页面后插入。若不提供,则插入在最后一页
添加页面的自定义数据。开发者可以根据自定义数据进行页面检索或其他。
添加动态Board。云信动态Board只支持云信转码的动态课件结果
要展示动态Board,请确保页面中载入了pptRenderer.js
Board显示名
ppt的高度
Board总页面数,一般来说,该页面数应该和ppt课件的页面总数相等
ppt转码的resultUrl地址
ppt的宽度
返回Board的boardName。注意boardName为sdk内部随机生成的名字,boardName不等于传入的docName
添加视频
防盗链参数。
如果没有给boardName, 则默认添加图片至当前Board
如果没有设置pageIndex,则默认添加图片至选定Board的当前页面
视频格式。会用于设置video标签中source的type属性。 目前支持mp4, quicktime
视频标题
视频资源的url地址
清空画布。若drawPlugin.isClearAvailable()为false,则无法清空
删除指定Board
addDoc, addTransDoc, addBoard的返回值
删除指定页面
目标页面索引
复制选中的元素。若drawPlugin.getSelectedIds()返回空数组,则无法复制
是否允许本地编辑白板
返回当前页面的base64编码,及其宽高
clip导出当前页显示的内容。导出图片分辨率和容器大小一样
fitToDoc导出图片和页面中课件的宽高一样
fitToContent导出图片和页面中内容的最大宽高一样。如果内容较小,会设置最小宽高为容器宽高
region导出选定的区域,并导出为指定的图片大小
导出图片时,是否包含自定义背景。默认为false
是否绘制选择框。默认为false,即不忽略(绘制)
图片精度。有效范围为(0, 1]。只有当type为'jpeg'时有效
如果 content 为 region,则 regionParam 为必填项
cameraBound 为选定需要导出的区域
size 为导出图片的尺寸
导出当前白板页面内容为图片。该函数会触发浏览器的下载事件
clip导出当前页显示的内容。导出图片分辨率和容器大小一样
fitToDoc导出图片和页面中课件的宽高一样
fitToContent导出图片和页面中内容的最大宽高一样。如果内容较小,会设置最小宽高为容器宽高
region导出选定的区域,并导出为指定的图片大小
导出图片时,是否包含自定义背景。默认为false
是否绘制选择框。默认为false,即不忽略(绘制)
图片精度。有效范围为(0, 1]。只有当type为'jpeg'时有效
如果 content 为 region,则 regionParam 为必填项
cameraBound 为选定需要导出的区域
size 为导出图片的尺寸
导出board内容为base64字符串
导出过程分为:
若生成过程中有异常,则会触发onError回调。
注意, exportBoardAsStr尚不支持在移动端调用。且该过程时间可能较长,会造成页面少许卡顿。
board名称。若不提供,则默认为当前board
clip导出当前页显示的内容。导出图片分辨率和容器大小一样
fitToDoc导出图片和页面中课件的宽高一样
fitToContent导出图片和页面中内容的最大宽高一样。如果内容较小,会设置最小宽高为容器宽高
导出图片时,是否包含自定义背景。默认为false
是否绘制选择框。默认为false,即不忽略(绘制)
图片精度。有效范围为(0, 1]。只有当type为'jpeg'时有效
导出board为图片前,会下载board依赖的资源。resWait指资源下载最长等待时间。默认值为90s。
若超过resWait还没有下载下来全部依赖的资源,则会继续下一步直接渲染
调用成功时的回调函数
每一页渲染结果的base64值
所有图片的最大高度
所有图片的最大宽度
导出失败的图片索引
每一页图片的尺寸
抛出异常时的回调函数
生成每一页base64值的过程的回调函数
资源加载过程中回调函数。注意,动态课件的资源加载过程不会触发该回调。
将白板内容导出文件。导出后的文件,可以调用 DrawPlugin.importBoards 导入。
这个函数的常用场景为,将当前课堂的白板内容保存,然后在下次课堂开始时,导入白板内容。
选择导出的 board。boardNames 可以使用 drawPlugin.getBoardInfos().boardNames 获取
是否下载文件。如果为true,则会触发浏览器的下载事件。默认为 false
导出时的文件名。如果不设置,则默认为 whiteboard.yxwb
适配白板窗口至包含全部内容
是否通过动画过渡到目标位置
适配白板窗口至包含背景图(通过addDoc或者setPageBackground添加的图片)
是否通过动画过渡到目标位置
获取当前Board的动画位置。如果当前Board不是动态ppt页面,则返回null
获取当前自定义背景的名字。名字来源于setCustomBackground的第三个参数
获取当前房间的Board结构。包含Board名字列表,以及当前展示的Board
返回当前白板容器对应的世界坐标系
获取当前教具名称
返回当前各类元素的默认样式
返回当前的字体列表。用户可以基于该列表设置新的字体列表
获取当前页面中所有元素的id和类型,以及是否可见
获取指定Board的页面结构。若参数未设置,则返回当前Board的结构。
获取当前可以redo的次数
根据 url,以及资源类型,判断 白板示例 是否已经加载了该资源。如果资源已加载,则返回的结果中 loaded 为 true,反之则为 false
获取当前选中元素的id列表
获取白板视频流。开发者可以使用函数的返回的视频流,通过rtc,或者其他的方式推出去。 注意,每次调用时,都会关闭现有的track,并返回一个新的stream
白板推流的 fps。
请参考该接口的frameRate参数:https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/captureStream
当该参数设置超过60时,实际采集为 60 fps。
默认为true
如果设置了width,则该参数无效 如果未设置width,参数为true时,视频流的大小为容器宽度 * DPI
视频流宽度。高度根据容器宽高比自动计算
若不指定,则视频分辨率随容器宽度变化
获取当前可以undo的次数
获取当前客户端的视角相关的信息。
主播uid
主播名称。优先使用昵称(nickname), 若初始化时未设置nickname,则为主播uid
broadcaster: 当前用户为主播,其他用户跟随当前用户视角
follower: 当前用户跟随主播视角
freeObserver:当前用户自由视角
获取当前的缩放比例。1代表未缩放,即工具栏中的100%
跳转至指定页面的指定动画位置
注意,参数pageIndex为页面在原始ppt中的索引
如果当前Board不是动态ppt课件页、或者索引为'pageIndex'的页面已经被删除,则无法跳转
原始ppt中的页面索引
跳转至指定Board。
addDoc, addTransDoc, addBoard的返回值
跳转至第一页
跳转至最后一页
跳转至下一页
跳转到指定页面
目标页面索引
跳转至上一页
当前页面是否有背景图
当前Board中是否有动态ppt
导入白板。
drawPlugin.setAppConfig({
showImportProgress: false
})
drawPlugin.on('event:importBoard', (state) => {
if (state === 'start') {
//自定义提示UI
} else if (state === 'finish') {
//自定义提示UI
}
})
可选参数。如果不填,默认导入 exportBoards 文件的所有内容。如果填写,则只导入指定的 board
可选参数。默认值为 false。如果为 true,则当前白板所有的内容都会被清空,并被导入的内容替换。如果为 false,则只添加新的 board,不会影响当前 board 内容
导入的文件地址。该地址内容为 exportBoards 导出的文件
SDK 初始化后,是否已经经历过第一次视角调整。 推荐如果要插入背景图片和容器一样大时,要等到第一次视角调整结束后
白板中是否存在元素,是否可以执行清空操作
该函数主要用于标注场景中,保持白板和被标注物的相对位置不变。
假设标注物为一张图片,则该函数有以下限制:
在以上限制条件下,调用了此函数后,白板的位置将始终和标注物位置相对不变
标注物高度
标注物宽度
跳转至下一动画。如果当前页动画播放完毕,则跳至下一页面。工具栏中对应的工具名称为nextAnim。
该动作仅在当前Board使用动态ppt课件时才可以使用
导入白板时的事件
资源加载成功,或者多次重试后依旧加载失败时,会触发此回调
注册回调监听颜色变化
注册回调监听画笔缩放变化
注册回调监听教具变化
注册回调监听是否可以清空的状态变化
注册回调监听redo可用次数变化
注册回调监听undo可用次数变化
注册回调监听选中元素的变化
注册回调监听Board新增,删除,切换
注册回调监听页面新增,删除,切换
注册回调监听视角状态的变化
主播uid
主播名称。优先使用昵称(nickname), 若初始化时未设置nickname,则为主播uid
broadcaster: 当前用户为主播,其他用户跟随当前用户视角 follower: 当前用户跟随主播视角 freeObserver:当前用户自由视角
跳转至上一动画。如果已经跳转到当前页第一个动画,则跳转至上一页面的最后一个动画结束状态。工具栏中对应的工具名称为prevAnim。
该动作仅在当前Board使用动态ppt课件时才可以使用
重做。若drawPlugin.getRedoCount()为0,则无法重做
重置白板位置
是否通过动画过渡到目标位置
旋转当前画布上面的元素。注意angle的范围应该为[0, Math.PI * 2] 画布上面的元素可以使用DrawPlugin.getPageElementInfos获取
设置一些应用属性。这些属性只对当前客户端有影响。
设置当前白板容器对应的世界坐标系。由于容器宽高和设置的宽高可能不同,因此实际上会保证设置的世界坐标系完全显示在白板容器上,并且宽,或者高完全撑住容器。
目标坐标位置
是否通过动画过渡到目标位置
设置涂鸦(直线)颜色、设置图形颜色、设置连接颜色
设置自定义背景绘制。用户可以使用此函数添加网格线、网格点等背景。
注意设置只对本地有效。不同客户端可以独立设置自己的背景图
coodinate为world时,绘制时的ctx已经转换为白板坐标系。容器的四个角落可以根据参数中的rect确定
下面是设置相对网格线的代码
背景图类型
自定义背景绘制函数。如果类型为string,则会先使用eval函数提取函数
devicePixelRatio。
绘制的canvas的句柄
容器高度 = DPI * 容器css height
容器在白板坐标系中的范围
容器当前白板坐标系的中点x
容器当前白板坐标系的中点y
容器在白板坐标系中的高度
容器在白板坐标系中的宽度
容器宽度 = DPI * 容器css width
白板当前的缩放量
自定义背景名字。使用getBgRendererName可以返回该字段。可以用这个字段判断当前的自定义背景类型
设置自定义背景绘制。用户可以使用此函数添加网格线、网格点等背景。
注意设置只对本地有效。不同客户端可以独立设置自己的背景图
coodinate为container时,绘制时的ctx使用容器坐标系。容器的位置为(0, 0)到(DPI * width, DPI * height)
下面是设置绝对网格线的代码
背景图类型
自定义背景绘制函数。如果类型为string,则会先使用eval函数提取函数
devicePixelRatio。
绘制的canvas的句柄
容器高度 = DPI * 容器css height
容器宽度 = DPI * 容器css width
白板当前的缩放量
自定义背景名字。使用getBgRendererName可以返回该字段。可以用这个字段判断当前的自定义背景类型
设置画布上元素的可见性。
如果不传入ids,或者ids为undefined,则会设置当前页面所有元素的可见性。
设置文本的字体列表。第一个字体将作为默认字体
设置昵称
设置当前页面的背景图。图片默认添加在白板的世界坐标系的中心位置,即白板未进行缩放平移时的中心位置
防盗链参数
背景图URL
设置当前用户为主播。其他用户将与当前用户保持视角同步。
当页面中存在主播时,可以在自由观看和跟随模式中切换。若处于自由模式,可以调用setSelfAsFollower切换回跟随模式
当页面中存在主播时,可以在自由观看和跟随模式中切换。若处于跟随模式,可以调用setSelfAsFreeObserver切换回自由模式
设置是否广播当前用户的鼠标轨迹给其他用户
设置涂鸦(直线)、图形、或者连接的颜色
设置涂鸦(直线)、连接的线段粗细。或者设置图形的边框粗细
设置教具。教具为工具栏中支持的,非一次性动作的工具栏图标
目前支持的教具有:select, pen, pen-pressure, line, line-arrow, rect, ellipse, laser, text, element-eraser, pan, macro
如果设置教具为macro,可以预先设置一些文本或者图片元素。然后通过点击或者拖拽的方式添加至画布中
关闭白板视频流。
如果停止了白板直播,可以调用该函数销毁白板推流的相关对象,防止无谓的性能消耗。WhiteboardSDK.destroy时会自动调用该函数
撤销。若drawPlugin.getUndoCount()为0,则无法撤销
解除相机与标注物之间的对齐关系
删除自定义背景绘制。设置后再次调用getBgRendererName时,会返回undefined
停止视角同步
白板容器的宽高变化后,可以使用该函数刷新容器的显示。 白板本身设置了mutationObserver处理容器变化。但是有时候该事件可能会失效。这时候,开发者可以主动更新容器的属性。
更新现有的stream。如果当前不存在stream,则返回一个新的stream。 如果存在stream,则直接更新现有stream的分辨率
默认为true
如果设置了width,则该参数无效 如果未设置width,参数为true时,视频流的大小为容器宽度 * DPI
视频流宽度。高度根据容器宽高比自动计算
若不指定,则视频分辨率随容器宽度变化
以当前白板视角中心为瞄点缩放
以当前白板视角中心为瞄点缩放
以当前白板视角中心为瞄点缩放。可以指定最终的缩放大小
1表示缩放至100%
是否通过动画过渡到目标位置
绘制模块