@interface ByteWhiteBoard : NSObject
objectivecByteWhiteBoard 类包含应用程序调用的主要方法。
| 返回 | 名称 |
|---|---|
| int | updateByteWhiteBoardDelegate: |
| NSInteger | getWhiteBoardID |
| NSString* | getCurrentPageID |
| NSString* | getWhiteBoardRoomID |
| int | hideDrawing: |
| int | setEditMode: |
| int | setEditType: |
| int | setPenSize: |
| int | setPenColor: |
| int | setShapeWidth: |
| int | setShapeColor: |
| int | setTextFontSize: |
| int | setTextColor: |
| int | setShapeStyle: |
| void | enableCursorSync: |
| void | setCursorStyle: |
| int | addImage:X:Y:width:height: |
| int | undo |
| int | redo |
| int | clearPage |
| int | flipPage: |
| int | createPage:config:isAutoFlip: |
| int | createMultiPages:configs:isAutoFlip: |
| int | changePageBackgroundWhitPageID:bkInfo: |
| int | changeWholeBoardBackgroundWhitBkInfo: |
| ByteWhiteBoardPageInfo* | getCurrentPageInfo |
| NSArray<ByteWhiteBoardPageInfo>** | GetAllPageInfo |
| NSInteger | getCurrentPageIndex |
| NSInteger | GetAllPagesCount |
| NSInteger | GetPageIndexWhitPageId: |
| ByteWhiteBoardPageInfo* | getPageInfoWhitIndex: |
| int | removePage: |
| int | bindToWindow: |
| int | bindToWindowWithConfig: |
| int | unbindFromWindow |
| int | SetMediaSyncTimestamp: |
- (int)updateByteWhiteBoardDelegate:(id<ByteWhiteBoardDelegate>)delegate;
objectivec设置事件回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| delegate | id | 事件回调 |
返回值
调用结果0: 成功
- (NSInteger)getWhiteBoardID;
objectivec获取当前白板的ID
返回值
白板ID
- (NSString*)getCurrentPageID;
objectivec获取当前白板的PageID
返回值
PageID
- (NSString*)getWhiteBoardRoomID;
objectivec获取当前白板的房间号
返回值
房间号
- (int)hideDrawing:(BOOL)ishide;
objectivec设置是否隐藏白板
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| ishide | BOOL | 当前白板是否隐藏 |
返回值
调用结果0: 成功
- (int)setEditMode:(ByteWhiteBoardEditMode)mode;
objectivec设置当前白板是否可以编辑
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| mode | ByteWhiteBoardEditMode | 当前白板的编辑模式,详见 ByteWhiteBoardEditMode |
返回值
调用结果0: 成功
- (int)setEditType:(ByteWhiteBoardShapeType)shapeType;
objectivec设置编辑动作类型
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| shapeType | ByteWhiteBoardShapeType | 编辑动作类型,详见 ByteWhiteBoardEditMode。 |
返回值
调用结果
注意
如果默认的光标图形无法满足你的需求,调用 setCursorStylesetCursorStyle:,为不同工具过指定光标图形和样式。
- (int)setPenSize:(NSInteger)size;
objectivec设置画笔笔迹宽度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| size | NSInteger | 笔迹宽度,单位为画布宽度的万分之一 |
返回值
调用结果0: 成功
- (int)setPenColor:(UIColor *)color;
objectivec设置画笔颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | UIColor* | 格式为 ARGB_8888 |
返回值
调用结果0: 成功
- (int)setShapeWidth:(NSInteger)width;
objectivec设置形状线条宽度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | NSInteger | 形状线条宽度,单位为画布宽度的万分之一 |
返回值
调用结果0: 成功
- (int)setShapeColor:(UIColor*)color;
objectivec设置图形边框颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | UIColor* | 颜色,格式为 ARGB_8888 |
返回值
调用结果0: 成功
- (int)setTextFontSize:(NSInteger)size;
objectivec设置文本字号大小
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| size | NSInteger | 文字的高度,单位为画布高的万分之一 |
返回值
调用结果0: 成功
- (int)setTextColor:(UIColor*)color;
objectivec设置文本颜色
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | UIColor* | 颜色,格式为 ARGB_8888 |
返回值
调用结果0: 成功
- (int)setShapeStyle:(ByteWhiteBoardAnchor *)anchor;
objectivec设置选择框样式。如果默认的选择框样式无法满足你的需求,调用本接口,并传入需要修改的属性。默认样式详见 ByteWhiteBoardAnchor。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| anchor | ByteWhiteBoardAnchor* | 选择框样式。详见 ByteWhiteBoardAnchor。 |
返回值
调用结果0: 成功
- (void)enableCursorSync:(BOOL)enable;
objectivec开启光标同步功能,默认关闭。开启后,房间中其他用户可以看到当前用户光标的实时移动轨迹。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | BOOL | 是否开启 |
- (void)setCursorStyle:(NSDictionary<NSString*, ByteWhiteBoardCursorInfo*> *)styleConfig;
objectivec自定义不同的工具光标样式。如果默认的光标图形无法满足你的需求,调用本接口,为不同工具过指定光标图形和样式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| styleConfig | NSDictionary<NSString, ByteWhiteBoardCursorInfo>*** | 自定义光标样式,字典类型的 key 为 ByteWhiteBoardCursorType 枚举类对应的字符串,value 为 ByteWhiteBoardCursorInfo 类型。 |
返回值
调用结果
- (int)addImage:(NSString *)url X:(NSString *)positionX Y:(NSString *)positionY width:(NSString *)positionWidth height:(NSString *)positionHeight;
objectivec在当前页面中添加图片
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| url | NSString* | 图片的 url |
| positionX | NSString* | 图片的x轴坐标,若填写nil,将由sdk自动居中插入 |
| positionY | NSString* | 图片的y轴坐标,若填写nil,将由sdk自动插入默认位置 |
| width | **NSString *** | 图片的宽,若填写nil,将由sdk自动计算大 |
| height | **NSString *** | 图片的高,若填写nil,将由sdk自动计算大小 |
返回值
调用结果0: 成功
- (int)undo;
objectivec撤销
当 byteWhiteBoard:onCanUndoStateChanged: 返回的状态为 false 时,调用本接口无效。
返回值
调用结果0: 成功
- (int)redo;
objectivec重做
当 byteWhiteBoard:onCanRedoStateChanged: 返回的状态为 false 时,调用本接口无效。
返回值
调用结果0: 成功
- (int)clearPage;
objectivec清空白板
调用成功后在房间内所有客户端触发 byteWhiteBoardClearPage:
返回值
调用结果0: 成功
- (int)flipPage:(NSString*)pageID;
objectivec白板翻页
调用成功后在房间内所有客户端触发 byteWhiteBoard:onPageIndexChanged:pageInfo:
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageID | NSString* | 目标页 ID |
返回值
调用结果0: 成功
- (int)createPage:(NSString* _Nullable)prePageID config:(ByteWhiteBoardPageInfo*)info isAutoFlip:(BOOL)autoFlip;
objectivec新建白板页
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| prePageID | NSString* | 新增白板页的前向页,即新增的白板页将插在prePageID之后,如果prePageID==nil,则插到开头 |
| info | ByteWhiteBoardPageInfo* | 白板页的配置 |
| autoFlip | BOOL | 是否自动翻页 |
返回值
调用结果0: 成功
- (int)createMultiPages:(NSString *)prePageID configs:(NSArray<ByteWhiteBoardPageInfo*> *)infos isAutoFlip:(BOOL)autoFlip;
objectivec新建多个白板页
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| prePageID | NSString* | 新增白板页的前向页,即新增的白板页将插在prePageID之后,如果prePageID==nil,则插到开头 |
| infos | NSArray<ByteWhiteBoardPageInfo>** | 白板页的配置,新增白板页个数和infos配置的个数相同 |
| autoFlip | BOOL | 是否自动翻页 |
返回值
调用结果0: 成功
- (int)changePageBackgroundWhitPageID:(NSString*)pageID bkInfo:(ByteWhiteBoardBackgroundInfo*)info;
objectivec修改白板页背景
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| info | ByteWhiteBoardBackgroundInfo* | 修改参数 |
返回值
调用结果0: 成功
- (int)changeWholeBoardBackgroundWhitBkInfo:(ByteWhiteBoardBackgroundInfo*)info;
objectivec修改整个board的所有页的背景
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| info | ByteWhiteBoardBackgroundInfo* | 修改参数 |
返回值
调用结果0: 成功
- (ByteWhiteBoardPageInfo*)getCurrentPageInfo;
objectivec获取当前页面信息
返回值
白板页信息,详见 ByteWhiteBoardPageInfo
- (NSArray<ByteWhiteBoardPageInfo*>*)GetAllPageInfo;
objectivec获取所有页面信息
返回值
白板页信息,详见 ByteWhiteBoardPageInfo
- (NSInteger)getCurrentPageIndex;
objectivec获取当前页面索引
返回值
索引
- (NSInteger)GetAllPagesCount;
objectivec获取白板总页数
返回值
总数
- (NSInteger)GetPageIndexWhitPageId:(NSString*)pageID;
objectivec获取白板页所在索引号
返回值
索引
- (ByteWhiteBoardPageInfo*)getPageInfoWhitIndex:(NSInteger)index;
objectivec通过索引号获取白板页信息
返回值
白板信息
- (int)removePage:(NSArray<NSString*>*)pageIDs;
objectivec删除白板页
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageIDs | NSArray<NSString>** | 待删除的id |
返回值
调用结果0: 成功
- (int)bindToWindow:(UIView *)view;
objectivec把画板UI绑定到某个view上
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| view | UIView* | 视图 |
返回值
调用结果0: 成功
- (int)bindToWindowWithConfig:(ByteWhiteBoardWindowConfig*)config;
objectivec把画板UI绑定到某个view上
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| config | ByteWhiteBoardWindowConfig* | 详见 ByteWhiteBoardWindowConfig |
返回值
调用结果0: 成功
- (int)unbindFromWindow;
objectivec取消画板UI绑定
返回值
调用结果0: 成功
- (int)SetMediaSyncTimestamp:(int64_t)timestamp;
objectivec设置同步时间戳
返回值
调用结果0: 成功
@interface ByteWhiteBoardRoom : NSObject
objectivecByteWhiteBoardRoom 接口
| 返回 | 名称 |
|---|---|
| void | updateByteWhiteBoardRoomDelegate: |
| NSString* | getRoomID |
| void | joinRoom |
| void | leaveRoom |
| int | destroyWhiteBoard: |
| ByteWhiteBoard* | getWhiteBoardByID: |
| void | closeAllWhiteBoard |
| void | startPlaybackWhiteBoard |
| void | pausePlaybackWhiteBoard |
| void | stopPlaybackWhiteBoard |
| int | setPlaybackWhiteBoardProgress: |
- (void)updateByteWhiteBoardRoomDelegate:(id<ByteWhiteBoardRoomDelegate>)delegate;
objectivec更新回调手柄
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| delegate | id | 回调手柄 |
- (NSString *)getRoomID;
objectivec获得当前WhiteBoardRoom的房间ID
返回值
房间ID
- (void)joinRoom;
objectivec进房
注意
- (void)leaveRoom;
objectivec退房
注意
调用后,本端触发 byteWhiteBoardRoom:onLeaveRoomResult:reason: 回调调用结果。
- (int)destroyWhiteBoard:(ByteWhiteBoard *)board;
objectivec销毁白板 WhiteBoard
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| board | ByteWhiteBoard* | 待销毁白板。详见 ByteWhiteBoard |
- (ByteWhiteBoard *)getWhiteBoardByID:(NSInteger)boardID;
objectivec通过白板 ID 获取白板对象
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID |
返回值
白板对象。获取失败时,返回 nil。例如,传入的 boardID 有误。
- (void)closeAllWhiteBoard;
objectivec关闭所有白板,重进房间后无法进行写画。
注意
- (void)startPlaybackWhiteBoard;
objectivec开始播放白板录像
成功调用后,触发 byteWhiteBoardRoom:onPlaybackWhiteBoardStateChanged:errCode: 播放状态回调。
注意
- (void)pausePlaybackWhiteBoard;
objectivec暂停播放白板录像
成功调用后,触发 byteWhiteBoardRoom:onPlaybackWhiteBoardStateChanged:errCode: 播放状态回调。
- (void)stopPlaybackWhiteBoard;
objectivec停止播放白板录像
成功调用后,触发 byteWhiteBoardRoom:onPlaybackWhiteBoardStateChanged:errCode: 播放状态回调。
- (int)setPlaybackWhiteBoardProgress:(NSInteger)progress;
objectivec设置白板回放进度
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| progress | NSInteger | 白板录像播放进度,单位 s |
返回值
调用结果0: 成功
@interface ByteWhiteBoardRoomManager : NSObject
objectivec白板房间管理接口
| 返回 | 名称 |
|---|---|
| instancetype | sharedEngineWithAppId:delegate: |
| void | destroy |
| void | setDeviceID: |
| void | setLogLocation: |
| void | setCacheLocation: |
| void | setAid: |
| 返回 | 名称 |
|---|---|
| void | updateByteWhiteBoardRoomManagerDelegate: |
| ByteWhiteBoardRoom* | createWhiteBoardRoom:userID:token:delegate: |
| void | destroyWhiteBoardRoom: |
| ByteWhiteBoardRoom* | getWhiteBoardRoom: |
| void | enableMediaTimeSync: |
+ (instancetype)sharedEngineWithAppId:(NSString *)appId delegate:(id<ByteWhiteBoardRoomManagerDelegate>)delegate;
objectivec创建白板 ByteWhiteBoardRoomManager 实例
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| appId | NSString* | 每个应用的唯一标识符,由 RTC 控制台随机生成的。 不同的 AppId 生成的实例在互动白板中是天然隔离的,无法互通。 |
| delegate | id | SDK 回调给应用层的 delegate,详见 ByteWhiteBoardRoomManagerDelegate |
+ (void)destroy;
objectivec销毁白板 ByteWhiteBoardRoomManager 单例对象
+ (void)setDeviceID:(NSString*)deviceID;
objectivec设置设备 ID
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceID | NSString* | 设备 ID |
+ (void)setLogLocation:(NSString*)path;
objectivec设置本地日志缓存路径
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| path | NSString* | 本地日志缓存路径 |
注意
不主动设置,默认为APP目录 Library/Caches
+ (void)setCacheLocation:(NSString*)path;
objectivec设置数据缓存路径
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| path | NSString* | 数据缓存路径 |
注意
默认为 APP目录 Library/Caches
+ (void)setAid:(NSString*)aid;
objectivec设置 App ID
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| aid | NSString* |
注意
用于标识APP
- (void)updateByteWhiteBoardRoomManagerDelegate:(id<ByteWhiteBoardRoomManagerDelegate>)delegate;
objectivec更新 ByteWhiteBoardRoomManager 的delegate
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| delegate | id |
- (ByteWhiteBoardRoom *)createWhiteBoardRoom:(NSString *)roomID userID:(NSString*)userID token:(NSString*)token delegate:(id<ByteWhiteBoardRoomDelegate>)delegate;
objectivec创建白板 WhiteBoardRoom
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| userID | NSString* | 用户ID |
| roomID | NSString* | 房间ID |
| token | NSString* | 鉴权密钥 |
| delegate | id | 白板房间事件回调 |
返回值
白板房间对象。参数校验失败时返回空的实例
注意
白板房间创建成功后自动创建白板,成功后将触发 byteWhiteBoardRoom:onWhiteBoardCreated:elapsed: 回调。
- (void)destroyWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom;
objectivec销毁白板房间 WhiteBoardRoom
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardRoom | ByteWhiteBoardRoom* | 待销毁白板。详见 ByteWhiteBoardRoom |
- (ByteWhiteBoardRoom *)getWhiteBoardRoom:(NSString *)roomID;
objectivec通过房间 ID 获取白板房间对象
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | NSString* | 白板ID |
返回值
白板房间对象 (可能为nil)
- (void)enableMediaTimeSync:(BOOL)enable;
objectivec开启/关闭时间戳回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | BOOL | 是否开启时间戳回调 |
注意
在参与白板互动的用户中,选择一个端作为参考对象。在这个端调用本接口,成功开启后将触发 2 秒一次的 byteWhiteBoardRoomManager:onMediaSyncTimestamp: 时间戳回调。将时间戳传给房间中的其他客户端,实现时间同步。