WhiteBoard

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

函数说明

getWhiteBoardID

public abstract int com.ss.video.byteboard.WhiteBoard.getWhiteBoardID()

获取当前白板 ID

返回值 白板 ID

getWhiteBoardRoomID

public abstract String com.ss.video.byteboard.WhiteBoard.getWhiteBoardRoomID()

获取当前白板所属的房间 ID

返回值 房间 ID

setEventHandler

public abstract void com.ss.video.byteboard.WhiteBoard.setEventHandler(
    IWhiteBoardEventHandler handler)

设置白板事件回调

传入参数

参数名 类型 说明
handler IWhiteBoardEventHandler 回调

setEditMode

public abstract void com.ss.video.byteboard.WhiteBoard.setEditMode(
    WhiteBoardDefine.EditMode editMode)

设置当前白板是否可以编辑

传入参数

参数名 类型 说明
editMode WhiteBoardDefine.EditMode 当前白板的编辑模式,详见 EditMode

hideDrawing

public abstract void com.ss.video.byteboard.WhiteBoard.hideDrawing(
    boolean enable)

设置是否隐藏白板

传入参数

参数名 类型 说明
enable boolean 当前白板是否隐藏

setEditType

public abstract int com.ss.video.byteboard.WhiteBoard.setEditType(
    WhiteBoardDefine.EditType editType)

设置编辑模式

传入参数

参数名 类型 说明
editType WhiteBoardDefine.EditType 详见 EditType

返回值 调用结果 0: 成功

setPenWidth

public abstract int com.ss.video.byteboard.WhiteBoard.setPenWidth(
    float width)

设置笔画笔迹宽度

传入参数

参数名 类型 说明
width float 笔迹宽度,单位为画布宽度的万分之一

返回值 调用结果 0: 成功

setPenColor

public abstract int com.ss.video.byteboard.WhiteBoard.setPenColor(
    int color)

设置笔画颜色

传入参数

参数名 类型 说明
color int 格式为 ARGB_8888

返回值 调用结果 0: 成功

setShapeWidth

public abstract int com.ss.video.byteboard.WhiteBoard.setShapeWidth(
    float width)

设置形状线条宽度

传入参数

参数名 类型 说明
width float 形状线条宽度,单位为画布宽度的万分之一

返回值 调用结果 0: 成功

setShapeColor

public abstract int com.ss.video.byteboard.WhiteBoard.setShapeColor(
    int color)

设置形状颜色

传入参数

参数名 类型 说明
color int 颜色,格式为 ARGB_8888

返回值 调用结果 0: 成功

setTextSize

public abstract int com.ss.video.byteboard.WhiteBoard.setTextSize(
    float size)

设置文本字号大小

传入参数

参数名 类型 说明
size float 文字的高度,单位为画布高的万分之一

返回值 调用结果 0: 成功

setTextColor

public abstract int com.ss.video.byteboard.WhiteBoard.setTextColor(
    int color)

设置文字颜色

传入参数

参数名 类型 说明
color int 颜色,格式为 ARGB_8888

返回值 调用结果 0: 成功

undo

public abstract int com.ss.video.byteboard.WhiteBoard.undo()

撤销

返回值 调用结果 0: 成功

注意 当 onCanUndoStateChanged 返回的状态为 false 时,调用本接口无效。

redo

public abstract int com.ss.video.byteboard.WhiteBoard.redo()

重做

返回值 调用结果 0: 成功

注意 当 onCanRedoStateChanged 返回的状态为 false 时,调用本接口无效。

clearPage

public abstract void com.ss.video.byteboard.WhiteBoard.clearPage()

清除页面

注意 调用成功后在房间内所有客户端触发 onClearPage 回调,返回调用结果状态码

createPage

public abstract boolean com.ss.video.byteboard.WhiteBoard.createPage(
    String insertPageId,
    PageInfo pageInfo,
    boolean autoFlip)

新建页面

传入参数

参数名 类型 说明
insertPageId String 目标页面 ID。插入到目标页之后,为空时表示插入到首页
PageInfo **** 新页信息
autoFlip boolean 创建后自动翻到新页面

返回值

注意 调用成功后在本端和远端触发 onCreatePages 回调。

createPages

public abstract boolean com.ss.video.byteboard.WhiteBoard.createPages(
    String prePageId,
    List<PageInfo> pageConfigs,
    boolean autoFlip)

新建多个白板页

传入参数

参数名 类型 说明
prePageId String 插入到目标页之后,为空时表示插入到首页
pageConfigs List 新页信息
autoFlip boolean 自动翻到新页

返回值

注意 调用成功后在本端和远端触发 onCreatePages 回调。

getCurrentPageInfo

public abstract PageInfo com.ss.video.byteboard.WhiteBoard.getCurrentPageInfo()

获取当前页面信息

返回值 白板页信息,详见 PageInfo

getAllPageInfo

public abstract List<PageInfo> com.ss.video.byteboard.WhiteBoard.getAllPageInfo()

获取所有页面信息

返回值 白板页信息,详见 PageInfo

getCurrentPageIndex

public abstract int com.ss.video.byteboard.WhiteBoard.getCurrentPageIndex()

获取当前页面索引

返回值 索引, -1 表示没有找到索引

getAllPagesCount

public abstract int com.ss.video.byteboard.WhiteBoard.getAllPagesCount()

获取白板总页数

返回值 总数

getPageIndexByPageId

public abstract int com.ss.video.byteboard.WhiteBoard.getPageIndexByPageId(
    String pageId)

获取白板页所在索引号

传入参数

参数名 类型 说明
pageId String 页面 ID

返回值 索引, -1 表示没有找到索引

getPageInfoByIndex

public abstract PageInfo com.ss.video.byteboard.WhiteBoard.getPageInfoByIndex(
    int index)

通过索引号获取白板页信息

传入参数

参数名 类型 说明
index int 索引

返回值 白板信息,详见 PageInfo

removePage

public abstract boolean com.ss.video.byteboard.WhiteBoard.removePage(
    List<String> pageIds)

changePageBackground

public abstract boolean com.ss.video.byteboard.WhiteBoard.changePageBackground(
    String pageId,
    BackgroundInfo backgroundInfo)

修改单个页面的背景图、背景色

传入参数

参数名 类型 说明
pageId String 修改目标页面 ID
backgroundInfo BackgroundInfo 背景设置

返回值

注意 成功调用本接口后在本端和远端触发 onChangePageBackground 回调。

changeBoardBackground

public abstract boolean com.ss.video.byteboard.WhiteBoard.changeBoardBackground(
    BackgroundInfo backgroundInfo)

修改白板默认背景图、背景色

传入参数

参数名 类型 说明
backgroundInfo BackgroundInfo 背景信息

返回值

注意 成功调用本接口后在本端和远端触发 onChangeBoardBackground 回调。

flipPage

public abstract boolean com.ss.video.byteboard.WhiteBoard.flipPage(
    String pageId)

翻页

传入参数

参数名 类型 说明
pageId String 页面 ID

返回值

bindToWindow

public abstract int com.ss.video.byteboard.WhiteBoard.bindToWindow(
    WindowConfig config)

将白板绑定到 UI 控件。
调用 unBindFromWindow 进行解绑。

传入参数

参数名 类型 说明
config WindowConfig 白板会填满绑定的 UI 控件。详见 WindowConfig

注意 注意各端的 UI 控件比例要保持一致,例如固定为 4:3

unBindFromWindow

public abstract void com.ss.video.byteboard.WhiteBoard.unBindFromWindow()

解除白板和 UI 控件的绑定
调用 bindToWindow 将白板绑定到 UI 控件。

setMediaSyncTimestamp

public abstract void com.ss.video.byteboard.WhiteBoard.setMediaSyncTimestamp(
    long timestamp)

设置时间戳

传入参数

参数名 类型 说明
timestamp long 时间戳,精确到 ms

WhiteBoardRoom

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

函数说明

getRoomID

public abstract String com.ss.video.byteboard.WhiteBoardRoom.getRoomID()

获取房间 ID

返回值 房间 ID

joinRoom

public abstract int com.ss.video.byteboard.WhiteBoardRoom.joinRoom()

进房
调用后,本端触发 onJoinRoomResult 回调调用结果。
进房成功后,远端触发 onUserCountChanged 房间内人数回调。

leaveRoom

public abstract void com.ss.video.byteboard.WhiteBoardRoom.leaveRoom()

退房
调用后,本端触发 onLeaveRoomResult 回调调用结果。
退房成功后,远端触发 onUserCountChanged 房间内人数回调。

destroyWhiteBoard

public abstract void com.ss.video.byteboard.WhiteBoardRoom.destroyWhiteBoard(
    WhiteBoard whiteBoard)

销毁白板实例

传入参数

参数名 类型 说明
whiteBoard WhiteBoard 详见 WhiteBoard

getWhiteBoard

public abstract WhiteBoard com.ss.video.byteboard.WhiteBoardRoom.getWhiteBoard(
    String boardID)

获取白板实例

传入参数

参数名 类型 说明
boardID String 白板 ID

返回值 whiteBoard 详见 WhiteBoard

startPlaybackWhiteBoard

public abstract void com.ss.video.byteboard.WhiteBoardRoom.startPlaybackWhiteBoard()

开始播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。

pausePlaybackWhiteBoard

public abstract void com.ss.video.byteboard.WhiteBoardRoom.pausePlaybackWhiteBoard()

暂停播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。

stopPlaybackWhiteBoard

public abstract void com.ss.video.byteboard.WhiteBoardRoom.stopPlaybackWhiteBoard()

停止播放白板录像
成功调用后,触发 onPlaybackWhiteBoardStateChanged 播放状态回调。

setPlaybackWhiteBoardProgress

public abstract int com.ss.video.byteboard.WhiteBoardRoom.setPlaybackWhiteBoardProgress(
    long progress)

设置白板录像播放进度

传入参数

参数名 类型 说明
progress long 白板录像播放进度,单位 s

closeAllWhiteBoard

public abstract void com.ss.video.byteboard.WhiteBoardRoom.closeAllWhiteBoard()

关闭所有白板,重进房间后无法进行写画 白板创建后自动录制。调用本接口关闭白板以后可以开始播放录像。 录像回放路径 ./files/cache

WhiteBoardRoomManager

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

函数说明

setDeviceID

public static void com.ss.video.byteboard.WhiteBoardRoomManager.setDeviceID(
    String deviceId)

设置设备id

getVersion

public static String com.ss.video.byteboard.WhiteBoardRoomManager.getVersion()

获取白板sdk版本号。
静态方法,无需创建白板实例

返回值 sdk 版本号的字符串

outputLog

public static void com.ss.video.byteboard.WhiteBoardRoomManager.outputLog(
    @WhiteBoardDefine.LogLevel int logLevel,
    String log)

将日志写入日志文件
静态方法,无需创建白板实例 日志存放目录 ./files/Logs

传入参数

参数名 类型 说明
logLevel @WhiteBoardDefine.LogLevel int 需要打印的日志等级标签
log String 日志

createWhiteBoardRoom

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 实例。参数校验失败时返回空的实例

destroyWhiteBoardRoom

public abstract int com.ss.video.byteboard.WhiteBoardRoomManager.destroyWhiteBoardRoom(
    WhiteBoardRoom whiteBoardRoom)

销毁白板实例

传入参数

参数名 类型 说明
whiteBoardRoom WhiteBoardRoom 详见 WhiteBoardRoom

getWhiteBoardRoom

public abstract WhiteBoardRoom com.ss.video.byteboard.WhiteBoardRoomManager.getWhiteBoardRoom(
    String roomID)

获取白板实例。创建多个房间后,可以通过调用接口获得相应实例

传入参数

参数名 类型 说明
roomID String 房间 ID

返回值 whiteBoard 详见 WhiteBoardRoom

enableMediaTimeSync

public abstract void com.ss.video.byteboard.WhiteBoardRoomManager.enableMediaTimeSync(
    boolean enable)

开启/关闭媒体同步播放
成功开启后触发 2秒一次的 onMediaSyncTimestamp 回调,拿到时间戳后与其他端进行同步

传入参数

参数名 类型 说明
enable boolean 是否开启