public abstract class com.ss.video.byteboard.WhiteBoard
WhiteBoard 对外的接口类,用户通过这个类来操作白板接口
| 返回 | 名称 |
|---|---|
| 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 | 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()
获取当前白板 ID
返回值 白板 ID
public abstract String com.ss.video.byteboard.WhiteBoard.getWhiteBoardRoomID()
获取当前白板所属的房间 ID
返回值 房间 ID
public abstract void com.ss.video.byteboard.WhiteBoard.setEventHandler(
IWhiteBoardEventHandler handler)
设置白板事件回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| handler | IWhiteBoardEventHandler | 回调 |
public abstract void com.ss.video.byteboard.WhiteBoard.setEditMode(
WhiteBoardDefine.EditMode editMode)
设置当前白板是否可以编辑
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| editMode | WhiteBoardDefine.EditMode | 当前白板的编辑模式,详见 EditMode |
public abstract void com.ss.video.byteboard.WhiteBoard.hideDrawing(
boolean enable)
设置是否隐藏白板
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | boolean | 当前白板是否隐藏 |
public abstract int com.ss.video.byteboard.WhiteBoard.setEditType(
WhiteBoardDefine.EditType editType)
设置编辑模式
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| editType | WhiteBoardDefine.EditType | 详见 EditType |
返回值
调用结果
0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setPenWidth(
float width)
设置笔画笔迹宽度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | float | 笔迹宽度,单位为画布宽度的万分之一 |
返回值
调用结果
0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setPenColor(
int color)
设置笔画颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | int | 格式为 ARGB_8888 |
返回值
调用结果
0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setShapeWidth(
float width)
设置形状线条宽度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | float | 形状线条宽度,单位为画布宽度的万分之一 |
返回值
调用结果
0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setShapeColor(
int color)
设置形状颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | int | 颜色,格式为 ARGB_8888 |
返回值
调用结果
0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setTextSize(
float size)
设置文本字号大小
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| size | float | 文字的高度,单位为画布高的万分之一 |
返回值
调用结果
0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.setTextColor(
int color)
设置文字颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | int | 颜色,格式为 ARGB_8888 |
返回值
调用结果
0: 成功
public abstract int com.ss.video.byteboard.WhiteBoard.undo()
撤销
返回值
调用结果
0: 成功
注意
当 onCanUndoStateChanged 返回的状态为 false 时,调用本接口无效。
public abstract int com.ss.video.byteboard.WhiteBoard.redo()
重做
返回值
调用结果
0: 成功
注意
当 onCanRedoStateChanged 返回的状态为 false 时,调用本接口无效。
public abstract void com.ss.video.byteboard.WhiteBoard.clearPage()
清除页面
注意 调用成功后在房间内所有客户端触发 onClearPage 回调,返回调用结果状态码
public abstract boolean com.ss.video.byteboard.WhiteBoard.createPage(
String insertPageId,
PageInfo pageInfo,
boolean autoFlip)
新建页面
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| 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)
新建多个白板页
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| prePageId | String | 插入到目标页之后,为空时表示插入到首页 |
| pageConfigs | List |
新页信息 |
| autoFlip | boolean | 自动翻到新页 |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms。注意 调用成功后在本端和远端触发 onCreatePages 回调。
public abstract PageInfo com.ss.video.byteboard.WhiteBoard.getCurrentPageInfo()
获取当前页面信息
返回值 白板页信息,详见 PageInfo
public abstract List<PageInfo> com.ss.video.byteboard.WhiteBoard.getAllPageInfo()
获取所有页面信息
返回值 白板页信息,详见 PageInfo
public abstract int com.ss.video.byteboard.WhiteBoard.getCurrentPageIndex()
获取当前页面索引
返回值
索引, -1 表示没有找到索引
public abstract int com.ss.video.byteboard.WhiteBoard.getAllPagesCount()
获取白板总页数
返回值 总数
public abstract int com.ss.video.byteboard.WhiteBoard.getPageIndexByPageId(
String pageId)
获取白板页所在索引号
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageId | String | 页面 ID |
返回值
索引, -1 表示没有找到索引
public abstract PageInfo com.ss.video.byteboard.WhiteBoard.getPageInfoByIndex(
int index)
通过索引号获取白板页信息
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | int | 索引 |
返回值 白板信息,详见 PageInfo
public abstract boolean com.ss.video.byteboard.WhiteBoard.removePage(
List<String> pageIds)
public abstract boolean com.ss.video.byteboard.WhiteBoard.changePageBackground(
String pageId,
BackgroundInfo backgroundInfo)
修改单个页面的背景图、背景色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageId | String | 修改目标页面 ID |
| backgroundInfo | BackgroundInfo | 背景设置 |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms;或传入的参数为空。注意 成功调用本接口后在本端和远端触发 onChangePageBackground 回调。
public abstract boolean com.ss.video.byteboard.WhiteBoard.changeBoardBackground(
BackgroundInfo backgroundInfo)
修改白板默认背景图、背景色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| backgroundInfo | BackgroundInfo | 背景信息 |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms;或传入的参数为空。注意 成功调用本接口后在本端和远端触发 onChangeBoardBackground 回调。
public abstract boolean com.ss.video.byteboard.WhiteBoard.flipPage(
String pageId)
翻页
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageId | String | 页面 ID |
返回值
True: 成功False: 失败。频繁调用,小于 500 ms;或传入的参数为空。
public abstract int com.ss.video.byteboard.WhiteBoard.bindToWindow(
WindowConfig config)
将白板绑定到 UI 控件。
调用 unBindFromWindow 进行解绑。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| config | WindowConfig | 白板会填满绑定的 UI 控件。详见 WindowConfig |
注意 注意各端的 UI 控件比例要保持一致,例如固定为 4:3
public abstract void com.ss.video.byteboard.WhiteBoard.unBindFromWindow()
解除白板和 UI 控件的绑定
调用 bindToWindow 将白板绑定到 UI 控件。
public abstract void com.ss.video.byteboard.WhiteBoard.setMediaSyncTimestamp(
long timestamp)
设置时间戳
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| timestamp | long | 时间戳,精确到 ms |
public abstract class com.ss.video.byteboard.WhiteBoardRoom
WhiteBoard 房间接口类,用户通过这个类来进行白板房间相关操作
| 返回 | 名称 |
|---|---|
| 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()
获取房间 ID
返回值 房间 ID
public abstract int com.ss.video.byteboard.WhiteBoardRoom.joinRoom()
进房
调用后,本端触发 onJoinRoomResult 回调调用结果。
进房成功后,远端触发 onUserCountChanged 房间内人数回调。
public abstract void com.ss.video.byteboard.WhiteBoardRoom.leaveRoom()
退房
调用后,本端触发 onLeaveRoomResult 回调调用结果。
退房成功后,远端触发 onUserCountChanged 房间内人数回调。
public abstract void com.ss.video.byteboard.WhiteBoardRoom.destroyWhiteBoard(
WhiteBoard whiteBoard)
销毁白板实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| whiteBoard | WhiteBoard | 详见 WhiteBoard |
public abstract WhiteBoard com.ss.video.byteboard.WhiteBoardRoom.getWhiteBoard(
String boardID)
获取白板实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | String | 白板 ID |
返回值 whiteBoard 详见 WhiteBoard
public abstract void com.ss.video.byteboard.WhiteBoardRoom.startPlaybackWhiteBoard()
开始播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。
public abstract void com.ss.video.byteboard.WhiteBoardRoom.pausePlaybackWhiteBoard()
暂停播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。
public abstract void com.ss.video.byteboard.WhiteBoardRoom.stopPlaybackWhiteBoard()
停止播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。
public abstract int com.ss.video.byteboard.WhiteBoardRoom.setPlaybackWhiteBoardProgress(
long progress)
设置白板录像播放进度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| progress | long | 白板录像播放进度,单位 s |
public abstract void com.ss.video.byteboard.WhiteBoardRoom.closeAllWhiteBoard()
关闭所有白板,重进房间后无法进行写画 白板创建后自动录制。调用本接口关闭白板以后可以开始播放录像。 录像回放路径 ./files/cache
public abstract class com.ss.video.byteboard.WhiteBoardRoomManager
WhiteBoard 对外的接口类,用户通过这个类来操作白板接口
| 返回 | 名称 |
|---|---|
| static void | setDeviceID |
| 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)
设置设备id
public static String com.ss.video.byteboard.WhiteBoardRoomManager.getVersion()
获取白板sdk版本号。
静态方法,无需创建白板实例
返回值 sdk 版本号的字符串
public static void com.ss.video.byteboard.WhiteBoardRoomManager.outputLog(
@WhiteBoardDefine.LogLevel int logLevel,
String log)
将日志写入日志文件
静态方法,无需创建白板实例
日志存放目录 ./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)
创建白板实例
创建成功后触发 onCreateWhiteBoard 白板创建回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | String | 房间 ID |
| userID | String | 用户 ID |
| token | String | 鉴权密钥 |
| handler | IWhiteBoardRoomEventHandler | 回调手柄 |
返回值
whiteBoardRoom 实例。参数校验失败时返回空的实例
public abstract int com.ss.video.byteboard.WhiteBoardRoomManager.destroyWhiteBoardRoom(
WhiteBoardRoom whiteBoardRoom)
销毁白板实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| whiteBoardRoom | WhiteBoardRoom | 详见 WhiteBoardRoom |
public abstract WhiteBoardRoom com.ss.video.byteboard.WhiteBoardRoomManager.getWhiteBoardRoom(
String roomID)
获取白板实例。创建多个房间后,可以通过调用接口获得相应实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | String | 房间 ID |
返回值 whiteBoard 详见 WhiteBoardRoom
public abstract void com.ss.video.byteboard.WhiteBoardRoomManager.enableMediaTimeSync(
boolean enable)
开启/关闭媒体同步播放
成功开启后触发 2秒一次的 onMediaSyncTimestamp 回调,拿到时间戳后与其他端进行同步
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | boolean | 是否开启 |