@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: |
| void | exportCurrentPageSnapshot |
| int | removePage: |
| int | bindToWindow: |
| int | bindToWindowWithConfig: |
| int | unbindFromWindow |
| int | setMediaSyncTimestamp: |
| void | setViewMode: |
| void | setMaxZoom: |
| int | zoomIn: |
| int | zoomOut: |
| int | zoomTo:Y:X: |
| BOOL | resetZoom |
| double | getZoomFactor |
- (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通过索引号获取白板页信息
返回值
白板信息
- (void)exportCurrentPageSnapshot;
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: 成功
- (void)setViewMode:(ByteWhiteBoardViewMode) viewMode;
objectivec设置白板视图跟随模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| viewMode | ByteWhiteBoardViewMode | 视角同步模式。默认为跟随模式。参见 ByteWhiteBoardViewMode。 |
注意
- (void)setMaxZoom:(CGFloat)maxScale;
objectivec设置白板视图最大放大系数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| maxScale | CGFloat | 白板视图最大放大系数,范围 [1, 20]。默认为 20。 |
注意
设置成功后,将改变调用以下 API 的参数上限: zoomIn: , zoomOut: 或 zoomTo:Y:X:。
- (int)zoomIn:(double)scale;
objectivec按指定系数放大当前白板视图。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| scale | double | 放大倍数。例如当前缩放系数为 1,放大倍数为 2,则成功调用本接口后的缩放系数为 1 • 2 = 3。 |
返回值
调用结果
true: 成功false: 失败。例如缩放系数错误超过合法范围。缩放系数,范围 [1, 20]。1 表示原始大小。放大系数上限默认为 20,以调用 setMaxZoom: 设置的为准。注意
- (int)zoomOut:(double)scale;
objectivec按指定倍数缩小当前白板视图。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| scale | double | 缩小倍数。例如当前缩放系数为 3,缩小倍数为 2,则成功调用本接口后的缩放系数为 3 - 2 = 1。 |
返回值
调用结果
true: 成功false: 失败。例如缩放系数错误超过合法范围。缩放系数,范围 [1, 20]。1 表示原始大小。注意
- (int)zoomTo:(double)scale Y:(int)centerX X:(int)centerY;
objectivec白板缩放&视角同步
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| scale | double | 缩放系数,范围 [1, 20]。1 表示原始大小。放大系数上限默认为 20,以调用 setMaxZoom: 设置的为准。 |
| centerY | int | 视角中心点y坐标,默认为0 |
| centerX | int | 视角中心点x坐标,默认为00: 成功 |
- (BOOL)resetZoom;
objectivec恢复默认缩放视图。还原到原始大小,视图中心点恢复为白板中心点。
返回值
调用结果
true: 成功false: 失败。- (double)getZoomFactor;
objectivec获取当前白板视图缩放系数。
返回值
当前白板视图缩放系数。范围 [1, 20]。1 表示原始大小。放大系数上限默认为 20,以调用 setMaxZoom: 设置的为准。
@interface ByteWhiteBoardRoom : NSObject
objectivecByteWhiteBoardRoom 接口
| 返回 | 名称 |
|---|---|
| void | updateByteWhiteBoardRoomDelegate: |
| NSString* | getRoomID |
| void | joinRoom |
| void | leaveRoom |
| void | createWhiteBoard:pageInfo:backgroundInfo:boardNmae: |
| void | closeWhiteBoard: |
| int | destroyWhiteBoard: |
| ByteWhiteBoard* | getWhiteBoardByID: |
| void | setActiveWhiteBoard: |
| int | getActiveWhiteBoard |
| NSArray<ByteWhiteBoardInfo>** | getAllWhiteBoardInfos |
| void | closeRoom |
| 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: 回调调用结果。
- (void)createWhiteBoard:(NSInteger)boardID pageInfo:(NSArray<ByteWhiteBoardPageInfo *>*)pages backgroundInfo:(ByteWhiteBoardBackgroundInfo *)bkInfo boardNmae:(NSString *)boardName;
objectivec创建白板。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID,必填。当白板 ID 已存在时,创建失败,并通过 byteWhiteBoardRoom:onOccurError: 返回 CREATE_BOARD_FAILED。 |
| pages | NSArray<ByteWhiteBoardPageInfo>** | 初始页面信息,默认为空。构建页面信息参见 ByteWhiteBoardPageInfo。 |
| bkInfo | ByteWhiteBoardBackgroundInfo* | 背景图,默认为空。参见 ByteWhiteBoardBackgroundInfo。 |
| boardName | NSString* | 白板名称,默认为空。 |
-(void)closeWhiteBoard:(NSInteger)boardID;
objectivec关闭白板。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID,必填 |
注意
调用成功后,房间内所有用户都将收到 byteWhiteBoardRoom:onCloseWhiteBoard:boardId: 回调。
- (int)destroyWhiteBoard:(ByteWhiteBoard *)board;
objectivec销毁本地白板实例。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| board | ByteWhiteBoard* | 待销毁白板实例。详见 ByteWhiteBoard。 |
注意
- (ByteWhiteBoard *)getWhiteBoardByID:(NSInteger)boardID;
objectivec通过白板 ID 获取白板对象
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID |
返回值
白板对象。获取失败时,返回 nil。例如,传入的 boardID 有误。
-(void)setActiveWhiteBoard:(NSInteger)boardID;
objectivec根据白板 ID 将其指定为当前白板。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID。你可以调用 getAllWhiteBoardInfos 获取房间内所有的白板信息。 |
返回值
True: 成功。调用成功后,房间内所有用户都将收到 byteWhiteBoardRoom:onActiveWhiteBoardChanged:。False: 失败。注意
如无特殊说明,对白板进行编辑操作的 API 都只作用在当前白板上。
-(int)getActiveWhiteBoard;
objectivec获取当前白板 ID。
返回值
当前白板 ID。-1 表示获取失败。
注意
获取到当前白板 ID 后,可以调用 getWhiteBoardByID: 获取相应的白板对象。
-(NSArray<ByteWhiteBoardInfo *> *) getAllWhiteBoardInfos;
objectivec获取房间内所有白板。
返回值
白板列表。详见 ByteWhiteBoardInfo。
- (void)closeRoom;
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:onCreateWhiteBoard: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: 时间戳回调。将时间戳传给房间中的其他客户端,实现时间同步。