public abstract class com.ss.video.byteboard.WhiteBoard
javaWhiteBoard 对外的接口类,用户通过这个类来操作白板接口
| 返回 | 名称 |
|---|---|
| abstract int | getWhiteBoardID |
| abstract String | getWhiteBoardRoomID |
| abstract void | setEventHandler |
| abstract void | setEditMode |
| abstract void | hideDrawing |
| abstract int | setEditType |
| abstract int | setPenWidth |
| abstract int | setPenColor |
| abstract int | setShapeWidth |
| abstract int | setShapeColor |
| abstract int | setTextSize |
| abstract int | setTextColor |
| abstract int | setShapeStyle |
| abstract void | enableCursorSync |
| abstract void | setCursorStyle |
| abstract boolean | addImage |
| abstract int | undo |
| abstract int | redo |
| abstract void | clearPage |
| abstract boolean | createPage |
| abstract boolean | createPages |
| abstract PageInfo | getCurrentPageInfo |
| abstract List | getAllPageInfo |
| abstract int | getCurrentPageIndex |
| abstract int | getAllPagesCount |
| abstract int | getPageIndexByPageId |
| abstract PageInfo | getPageInfoByIndex |
| abstract boolean | removePage |
| abstract boolean | changePageBackground |
| abstract boolean | changeBoardBackground |
| abstract boolean | flipPage |
| abstract int | bindToWindow |
| abstract void | unBindFromWindow |
| abstract void | setMediaSyncTimestamp |
public abstract int com.ss.video.byteboard.WhiteBoard.getWhiteBoardID()
java获取当前白板 ID
返回值
白板 ID
public abstract String com.ss.video.byteboard.WhiteBoard.getWhiteBoardRoomID()
java获取当前白板所属的房间 ID
返回值
房间 ID
public abstract void com.ss.video.byteboard.WhiteBoard.setEventHandler(
IWhiteBoardEventHandler handler)
java设置白板事件回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| handler | IWhiteBoardEventHandler | 回调 |
public abstract void com.ss.video.byteboard.WhiteBoard.setEditMode(
WhiteBoardDefine.EditMode editMode)
java设置当前白板是否可以编辑
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| editMode | WhiteBoardDefine.EditMode | 当前白板的编辑模式,详见 EditMode |
public abstract void com.ss.video.byteboard.WhiteBoard.hideDrawing(
boolean enable)
java设置是否隐藏白板
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | boolean | 当前白板是否隐藏 |
public abstract int com.ss.video.byteboard.WhiteBoard.setEditType(
WhiteBoardDefine.EditType editType)
java设置编辑动作类型
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| editType | WhiteBoardDefine.EditType | 编辑动作类型,详见 EditType。 |
返回值
调用结果0: 成功
注意
如果默认的光标图形无法满足你的需求,调用 setCursorStyle,为不同工具过指定光标图形和样式。
public abstract int com.ss.video.byteboard.WhiteBoard.setPenWidth(
float width)
java设置笔画笔迹宽度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | float | 笔迹宽度,单位为画布宽度的万分之一 |
返回值
调用结果0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setPenColor(
int color)
java设置笔画颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | int | 格式为 ARGB_8888 |
返回值
调用结果0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setShapeWidth(
float width)
java设置形状线条宽度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | float | 形状线条宽度,单位为画布宽度的万分之一 |
返回值
调用结果0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setShapeColor(
int color)
java设置形状颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | int | 颜色,格式为 ARGB_8888 |
返回值
调用结果0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setTextSize(
float size)
java设置文本字号大小
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| size | float | 文字的高度,单位为画布高的万分之一 |
返回值
调用结果0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setTextColor(
int color)
java设置文字颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | int | 颜色,格式为 ARGB_8888 |
返回值
调用结果0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setShapeStyle(
ShapeStyle shapeStyle)
java设置选择框样式。如果默认的选择框样式无法满足你的需求,调用本接口,并传入需要修改的属性。默认样式详见 ShapeStyle。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| shapeStyle | ShapeStyle | 选择框样式。详见 ShapeStyle。 |
返回值
调用结果0: 成功
public abstract void com.ss.video.byteboard.WhiteBoard.enableCursorSync(
boolean enable)
java开启光标同步功能,默认关闭。开启后,房间中其他用户可以看到当前用户光标的实时移动轨迹。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | boolean | 是否开启 |
public abstract void com.ss.video.byteboard.WhiteBoard.setCursorStyle(
HashMap<Integer, CursorInfo> cursorStyles)
java自定义不同的工具光标样式。如果默认的光标图形无法满足你的需求,调用本接口,为不同工具过指定光标图形和样式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| cursorStyles | HashMap<Integer, CursorInfo> | 自定义光标样式,字典类型的 key 为 CursorType 中的变量,value 为 UserCursorInfo. CursorInfo 类型。 |
返回值
调用结果
public abstract boolean com.ss.video.byteboard.WhiteBoard.addImage(
String url,
Rect imagePosition)
java在当前页面中添加图片
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| url | String | 图片的 url |
| imagePosition | Rect | 图片的位置,单位为画布宽度的万分之一。 选填。默认居中放置,如果图片尺寸比白板页面小,不缩放;如果图片尺寸比白板页面大,按原始尺寸的比例缩小后居中放置。 |
返回值
调用结果True: 成功False: 失败。频繁调用,小于 500 ms;或传入的参数为空。
public abstract int com.ss.video.byteboard.WhiteBoard.undo()
java撤销
当 onCanUndoStateChanged 返回的状态为 false 时,调用本接口无效。
返回值
调用结果0: 成功
注意
当 onCanUndoStateChanged 返回的状态为 false 时,调用本接口无效。
public abstract int com.ss.video.byteboard.WhiteBoard.redo()
java重做
返回值
调用结果0: 成功
注意
当 onCanRedoStateChanged 返回的状态为 false 时,调用本接口无效。
public abstract void com.ss.video.byteboard.WhiteBoard.clearPage()
java清除页面
注意
调用成功后在房间内所有客户端触发 onClearPage 回调,返回调用结果状态码
public abstract boolean com.ss.video.byteboard.WhiteBoard.createPage(
String insertPageId,
PageInfo pageInfo,
boolean autoFlip)
java新建页面
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| insertPageId | String | 目标页面 ID。插入到目标页之后,为空时表示插入到首页 |
| PageInfo | **** | 新页信息 |
| autoFlip | boolean | 创建后自动翻到新页面 |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms。注意
调用成功后在本端和远端触发 onCreatePages 回调。
public abstract boolean com.ss.video.byteboard.WhiteBoard.createPages(
String prePageId,
List<PageInfo> pageConfigs,
boolean autoFlip)
java新建多个白板页
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| prePageId | String | 插入到目标页之后,为空时表示插入到首页 |
| pageConfigs | List | 新页信息 |
| autoFlip | boolean | 自动翻到新页 |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms。注意
调用成功后在本端和远端触发 onCreatePages 回调。
public abstract PageInfo com.ss.video.byteboard.WhiteBoard.getCurrentPageInfo()
java获取当前页面信息
返回值
白板页信息,详见 PageInfo
public abstract List<PageInfo> com.ss.video.byteboard.WhiteBoard.getAllPageInfo()
java获取所有页面信息
返回值
白板页信息,详见 PageInfo
public abstract int com.ss.video.byteboard.WhiteBoard.getCurrentPageIndex()
java获取当前页面索引
返回值
索引, -1 表示没有找到索引
public abstract int com.ss.video.byteboard.WhiteBoard.getAllPagesCount()
java获取白板总页数
返回值
总数
public abstract int com.ss.video.byteboard.WhiteBoard.getPageIndexByPageId(
String pageId)
java获取白板页所在索引号
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageId | String | 页面 ID |
返回值
索引, -1 表示没有找到索引
public abstract PageInfo com.ss.video.byteboard.WhiteBoard.getPageInfoByIndex(
int index)
java通过索引号获取白板页信息
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | int | 索引 |
返回值
白板信息,详见 PageInfo
public abstract boolean com.ss.video.byteboard.WhiteBoard.removePage(
List<String> pageIds)
javapublic abstract boolean com.ss.video.byteboard.WhiteBoard.changePageBackground(
String pageId,
BackgroundInfo backgroundInfo)
java修改单个页面的背景图、背景色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageId | String | 修改目标页面 ID |
| backgroundInfo | BackgroundInfo | 背景设置 |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms;或传入的参数为空。注意
成功调用本接口后在本端和远端触发 onChangePageBackground 回调。
public abstract boolean com.ss.video.byteboard.WhiteBoard.changeBoardBackground(
BackgroundInfo backgroundInfo)
java修改白板默认背景图、背景色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| backgroundInfo | BackgroundInfo | 背景信息 |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms;或传入的参数为空。注意
成功调用本接口后在本端和远端触发 onChangeBoardBackground 回调。
public abstract boolean com.ss.video.byteboard.WhiteBoard.flipPage(
String pageId)
java翻页
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageId | String | 页面 ID |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms;或传入的参数为空。public abstract int com.ss.video.byteboard.WhiteBoard.bindToWindow(
WindowConfig config)
java将白板绑定到 UI 控件。
调用 unBindFromWindow 进行解绑。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| config | WindowConfig | 白板会填满绑定的 UI 控件。详见 WindowConfig |
返回值
调用结果0: 成功
注意
注意各端的 UI 控件比例要保持一致,例如固定为 4:3
public abstract void com.ss.video.byteboard.WhiteBoard.unBindFromWindow()
java解除白板和 UI 控件的绑定
调用 bindToWindow 将白板绑定到 UI 控件。
public abstract void com.ss.video.byteboard.WhiteBoard.setMediaSyncTimestamp(
long timestamp)
java设置时间戳
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| timestamp | long | 时间戳,精确到 ms |
public abstract class com.ss.video.byteboard.WhiteBoardRoom
javaWhiteBoard 房间接口类,用户通过这个类来进行白板房间相关操作
| 返回 | 名称 |
|---|---|
| abstract String | getRoomID |
| abstract int | joinRoom |
| abstract void | leaveRoom |
| abstract void | destroyWhiteBoard |
| abstract WhiteBoard | getWhiteBoard |
| abstract void | startPlaybackWhiteBoard |
| abstract void | pausePlaybackWhiteBoard |
| abstract void | stopPlaybackWhiteBoard |
| abstract int | setPlaybackWhiteBoardProgress |
| abstract void | closeAllWhiteBoard |
public abstract String com.ss.video.byteboard.WhiteBoardRoom.getRoomID()
java获取房间 ID
返回值
房间 ID
public abstract int com.ss.video.byteboard.WhiteBoardRoom.joinRoom()
java进房
返回值
调用结果0: 成功
注意
调用后,本端触发 onJoinRoomResult 回调调用结果。
public abstract void com.ss.video.byteboard.WhiteBoardRoom.leaveRoom()
java退房
注意
调用后,本端触发 onLeaveRoomResult 回调调用结果。
public abstract void com.ss.video.byteboard.WhiteBoardRoom.destroyWhiteBoard(
WhiteBoard whiteBoard)
java销毁白板实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| whiteBoard | WhiteBoard | 详见 WhiteBoard |
public abstract WhiteBoard com.ss.video.byteboard.WhiteBoardRoom.getWhiteBoard(
String boardID)
java通过白板 ID 获取白板对象
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | String | 白板 ID |
返回值
白板对象。获取失败时,返回 null,例如,传入的 boardID 有误。
public abstract void com.ss.video.byteboard.WhiteBoardRoom.startPlaybackWhiteBoard()
java开始播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。
注意
public abstract void com.ss.video.byteboard.WhiteBoardRoom.pausePlaybackWhiteBoard()
java暂停播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。
public abstract void com.ss.video.byteboard.WhiteBoardRoom.stopPlaybackWhiteBoard()
java停止播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。
public abstract int com.ss.video.byteboard.WhiteBoardRoom.setPlaybackWhiteBoardProgress(
long progress)
java设置白板录像播放进度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| progress | long | 白板录像播放进度,单位 s |
返回值
调用结果0: 成功
public abstract void com.ss.video.byteboard.WhiteBoardRoom.closeAllWhiteBoard()
java关闭所有白板,重进房间后无法进行写画。
注意
public abstract class com.ss.video.byteboard.WhiteBoardRoomManager
javaWhiteBoard 对外的接口类,用户通过这个类来操作白板接口
| 返回 | 名称 |
|---|---|
| static void | setDeviceID |
| static void | setAid |
| static String | getVersion |
| static void | outputLog |
| 返回 | 名称 |
|---|---|
| abstract WhiteBoardRoom | createWhiteBoardRoom |
| abstract int | destroyWhiteBoardRoom |
| abstract WhiteBoardRoom | getWhiteBoardRoom |
| abstract void | enableMediaTimeSync |
public static void com.ss.video.byteboard.WhiteBoardRoomManager.setDeviceID(
String deviceId)
java设置设备 ID
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceId | String | 设备 ID |
public static void com.ss.video.byteboard.WhiteBoardRoomManager.setAid(
String aid)
java设置设备 ID
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| aid | String | App Id |
public static String com.ss.video.byteboard.WhiteBoardRoomManager.getVersion()
java获取白板 SDK 版本号。
静态方法,无需创建白板实例
返回值
SDK 版本号的字符串
public static void com.ss.video.byteboard.WhiteBoardRoomManager.outputLog(
@WhiteBoardDefine.LogLevel int logLevel,
String log)
java将日志写入日志文件
静态方法,无需创建白板实例
日志存放目录 ./files/Logs
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| logLevel | @WhiteBoardDefine.LogLevel int | 需要打印的日志等级标签 |
| log | String | 日志 |
public abstract WhiteBoardRoom com.ss.video.byteboard.WhiteBoardRoomManager.createWhiteBoardRoom(
String roomID,
String userID,
String token,
IWhiteBoardRoomEventHandler handler)
java创建白板房间实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | String | 房间 ID |
| userID | String | 用户 ID |
| token | String | 动态密钥。用于对用户进行鉴权验证。 测试时可使用控制台生成临时 Token,正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。 使用不同 AppID 的 App 是不能互通的。 请务必保证生成 Token 使用的 AppID 和创建实例时使用的 AppID 相同,否则会导致创建房间实例失败。 |
| handler | IWhiteBoardRoomEventHandler | SDK 回调给应用层的 Handler,详见 IWhiteBoardRoomEventHandler |
返回值whiteBoardRoom 实例。参数校验失败时返回空的实例
注意
白板房间创建成功后自动创建白板,成功后将触发 onCreateWhiteBoard 回调。
public abstract int com.ss.video.byteboard.WhiteBoardRoomManager.destroyWhiteBoardRoom(
WhiteBoardRoom whiteBoardRoom)
java销毁白板房间实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| whiteBoardRoom | WhiteBoardRoom | 详见 WhiteBoardRoom |
返回值
调用结果0: 成功
public abstract WhiteBoardRoom com.ss.video.byteboard.WhiteBoardRoomManager.getWhiteBoardRoom(
String roomID)
java获取白板实例。创建多个房间后,可以通过调用接口获得相应实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | String | 房间 ID |
返回值
whiteBoard 详见 WhiteBoardRoom。失败时返回空的实例
public abstract void com.ss.video.byteboard.WhiteBoardRoomManager.enableMediaTimeSync(
boolean enable)
java开启/关闭时间戳回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | boolean | 是否开启时间戳回调 |
注意
在参与白板互动的用户中,选择一个端作为参考对象。在这个端调用本接口,成功开启后将触发 2 秒一次的 onMediaSyncTimestamp 时间戳回调。将时间戳传给房间中的其他客户端,实现时间同步。