@interface ByteWhiteBoard : NSObject
objectivec白板接口类。调用 getCurrentWhiteBoard: 将返回当前的白板实例,你可以通过这个类来操作当前白板。
- (int)updateByteWhiteBoardDelegate:(id<ByteWhiteBoardDelegate>)delegate;
objectivec设置事件回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| delegate | id | 事件回调 |
返回值
调用结果0: 成功
- (void)getWhiteBoardId:(void (^)(NSInteger))block;
objectivec获取当前的白板 ID。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收白板 ID 的回调 |
- (void)getWhiteBoardRoomId:(void (^)(NSString *_Nonnull))block;
objectivec获取当前白板所在的房间 ID。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收白板房间 ID 的回调 |
- (void)getCurrentPageId:(void (^)(NSString *))block;
objectivec获取当前页面的 PageId。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收白板页面 ID 的回调 |
- (int)setWritable:(BOOL)writable;
objectivec设置当前白板是否可以编辑。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| writable | BOOL | 当前白板是否可编辑 |
返回值
调用结果0: 成功
- (void)setEditType:(ByteWhiteBoardShapeType)shapeType;
objectivec设置编辑动作类型。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| shapeType | ByteWhiteBoardShapeType | 编辑动作类型,详见 ByteWhiteBoardShapeType。 |
注意
如果默认的光标图形无法满足你的需求,调用 setCursorStylesetCursorStyle:,为不同工具过指定光标图形和样式。
- (void)setPenSize:(NSInteger)size;
objectivec设置画笔笔迹宽度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| size | NSInteger | 笔迹宽度,单位为画布宽度的万分之一 |
- (int)setPenColor:(UIColor *)color;
objectivec设置画笔颜色。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | UIColor* | 格式为 ARGB_8888 |
- (int)setShapeSize:(NSInteger)width;
objectivec设置形状线条宽度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| width | NSInteger | 形状线条宽度,单位为画布宽度的万分之一 |
- (int)setShapeColor:(UIColor *)color;
objectivec设置图形边框颜色。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | UIColor* | 颜色,格式为 ARGB_8888 |
- (int)setTextFontSize:(NSInteger)size;
objectivec设置文本字号大小。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| size | NSInteger | 文字的高度,单位为画布高的万分之一 |
- (int)setTextColor:(UIColor *)color;
objectivec设置文本颜色。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| color | UIColor* | 颜色,格式为 ARGB_8888 |
- (void)setSelectionBoxStyle:(ByteWhiteBoardAnchor *)anchor;
objectivec设置选择框样式。如果默认的选择框样式无法满足你的需求,调用本接口,并传入需要修改的属性。默认样式详见 ByteWhiteBoardAnchor。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| anchor | ByteWhiteBoardAnchor* | 选择框样式。详见 ByteWhiteBoardAnchor。 |
- (void)enableCursorSync:(BOOL)enable;
objectivec开启光标同步功能。开启后,房间中其他用户可以看到当前用户光标的实时移动轨迹。默认关闭。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | BOOL | 是否开启 • true: 开启• false: 关闭 |
- (void)setCursorStyle:(NSDictionary<NSString *, ByteWhiteBoardCursorInfo *> *)styleConfig;
objectivec自定义不同的工具光标样式。如果默认的光标图形无法满足你的需求,调用本接口,为不同工具过指定光标图形和样式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| styleConfig | NSDictionary<NSString, ByteWhiteBoardCursorInfo>*** | 自定义光标样式,字典类型的 key 为 ByteWhiteBoardCursorType 枚举类对应的字符串,value 为 ByteWhiteBoardCursorInfo 类型。 |
- (void)addImage:(NSString *)url rect:(ByteWhiteBoardImageRect *)imageRect completionHandler:(void (^)(ByteWhiteBoardAddImage))block;
objectivec在当前页面中添加图片。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| url | NSString* | 图片的 url |
| imageRect | ByteWhiteBoardImageRect* | 图片的位置信息 ByteWhiteBoardImageRect,如果传递空值则默认居中处理 |
| block | void (^ | 接收添加图片结果回调。详见 ByteWhiteBoardAddImage。 |
- (void)addVideo:(NSString *)url title:(NSString *)videoTitle completionHandler:(void (^)(ByteWhiteBoardAddMedia, NSString*))block;
objectivec在当前页面中添加视频,只支持 mp4 格式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| url | NSString* | 视频的 url。建议视频文件的大小不超过 1 GB。你需要将用户的视频文件上传到对象存储服务空间中,并获取访问链接。 |
| title | void (^ | 文件名称。不超过 200 个字符。支持的字符为中文、英文、数字、下划线(_) 和 连线符(-)。选填。默认为 URL 中解析出的文件名。 |
| block | void (^ | 接收添加视频结果回调。详见 ByteWhiteBoardAddMedia。 |
注意
- (void)addAudio:(NSString *)url title:(NSString *)audioTitle completionHandler:(void (^)(ByteWhiteBoardAddMedia, NSString*))block;
objectivec在当前页面中添加音频,只支持 mp3 格式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| url | NSString* | 音频的 url。建议视频文件的大小不超过 50 MB。你需要将用户的视频文件上传到对象存储服务空间中,并获取访问链接。 |
| title | void (^ | 文件名称。不超过 200 个字符。支持的字符为中文、英文、数字、下划线(_) 和 连线符(-)。选填。默认为 URL 中解析出的文件名。 |
| block | void (^ | 接收添加音频结果回调。详见 ByteWhiteBoardAddMedia。 |
注意
- (void)undo;
objectivec撤销本端对白板的编辑操作。
当 byteWhiteBoard:onCanUndoStateChanged: 返回的状态为 false 时,调用本接口无效。
- (void)redo;
objectivec重做本端对白板的编辑操作。
当 byteWhiteBoard:onCanRedoStateChanged: 返回的状态为 false 时,调用本接口无效。
- (int)clearPage;
objectivec清除页面。
调用成功后在房间内所有客户端触发 byteWhiteBoard:onClearPage:
返回值
调用结果0: 成功
- (int)createPages:(NSArray<ByteWhiteBoardPageInfo *> *)infos index:(NSInteger)insertPageIndex isAutoFlip:(BOOL)autoFlip;
objectivec新建多个白板页。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| infos | NSArray<ByteWhiteBoardPageInfo>** | 白板页的配置,新增白板页个数和infos配置的个数相同 |
| insertPageIndex | NSInteger | 创建的页面将插入到指定的第几个页面之后,默认插入到当前页后面 |
| autoFlip | BOOL | 是否自动翻页 |
返回值
调用结果0: 成功
- (int)removePages:(NSArray<NSString *> *)pageIdList flip:(NSInteger)flipPageIndex;
objectivec按照指定的索引号,删除白板页。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageIdList | NSArray<NSString>** | 需要删除的页面 ID 列表 |
| flipPageIndex | NSInteger | 删除后跳转的页面 ID。传空值表示自动翻页: • 当前页未被删除时,不翻页。 • 删除包含当前页在内的不连续多页时:翻到第一个被删除的页面的下一页。 • 删除当前页或包含当前页在内的连续多页时:翻到下一页,如果删除的页面为最末页,则翻到前一页。 |
返回值
调用结果0: 成功
注意
成功调用后将触发 byteWhiteBoard:onRemovePages:boardId:pages: 回调。
- (int)flipPage:(NSInteger)pageIndex;
objectivec白板翻页。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageIndex | NSInteger | 目标页 Index |
返回值
调用结果0: 成功。调用成功后在房间内所有客户端触发 byteWhiteBoard:onPageIndexChanged:
- (void)flipNextPage;
objectivec白板翻到下一页。
调用成功后在房间内所有客户端触发 byteWhiteBoard:onPageIndexChanged:
- (void)flipPrevPage;
objectivec白板翻到上一页。
调用成功后在房间内所有客户端触发 byteWhiteBoard:onPageIndexChanged:
- (int)setPageBackground:(ByteWhiteBoardBackgroundInfo *)info;
objectivec修改当前白板页面的背景设置,例如背景图片颜色等。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| info | ByteWhiteBoardBackgroundInfo* | 当前白板页面的背景设置 |
返回值
调用结果0: 成功
注意
- (int)setBoardBackground:(ByteWhiteBoardBackgroundInfo *)info;
objectivec修改当前白板的背景设置,例如背景图片颜色等。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| info | ByteWhiteBoardBackgroundInfo* | 背景设置。详见 ByteWhiteBoardBackgroundInfo |
返回值
调用结果0: 成功
注意
- (void)getCurrentPageInfo:(void (^)(ByteWhiteBoardPageInfo *_Nonnull))block;
objectivec获取当前页面信息。详见 ByteWhiteBoardPageInfo
- (void)getCurrentPageIndex:(void (^)(NSInteger))block;
objectivec获取当前页面索引。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收当前白板页索引的回调 |
- (void)getAllPageInfo:(void (^)(NSArray<ByteWhiteBoardPageInfo *> *_Nonnull))block;
objectivec获取所有页面信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收所有白板页信息的回调,详见 ByteWhiteBoardPageInfo |
- (void)getPageInfoByIndex:(NSInteger)index completionHandler:(void (^)(ByteWhiteBoardPageInfo *_Nonnull))block;
objectivec通过索引号获取白板页信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| index | NSInteger | 页索引 |
| block | void (^ | 接收页面信息的回调,详见 ByteWhiteBoardPageInfo。 |
- (void)getPagesCount:(void (^)(NSInteger))block;
objectivec获取白板总页数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收页数的回调 |
- (void)exportSnapshot:(NSInteger)pageIndex withElements:(BOOL)isElements withBackGround:(BOOL)isBackGround;
objectivec将当前白板中指定页面保存为一张本地图片。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageIndex | NSInteger | 保存页面索引 |
| isElements | BOOL | 是否导出笔迹 |
| isBackGround | BOOL | 是否携带背景 |
注意
- (void)setViewMode:(ByteWhiteBoardViewMode) viewMode;
objectivec设置白板视角同步方式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| viewMode | ByteWhiteBoardViewMode | 视角同步模式,详见 ByteWhiteBoardViewMode |
- (void)getViewMode:(void (^)(ByteWhiteBoardViewMode))block;
objectivec获取视图模式。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收视图同步模式回调。详见 ByteWhiteBoardViewMode。 |
- (void)setMaxZoom:(CGFloat)maxScale;
objectivec设置白板视图最大放大系数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| maxScale | CGFloat | 白板视图最大放大系数,范围 [1, 20]。默认为 20。 |
注意
- (int)zoomIn:(double)scale;
objectivec按照当前中心点和缩放系数放大白板视图。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| scale | double | 缩放系数,范围 [0, 20]。1 表示放大 100%,0.25 表示放大 25% |
返回值
调用结果0: 成功
注意
- (int)zoomOut:(double)scale;
objectivec按照当前中心点和缩放系数缩小白板视图。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| scale | double | 缩放系数,范围 [0, 20]。1 表示缩小 100%,0.25 表示缩小 25% |
返回值
调用结果0: 成功
注意
- (int)zoomTo:(double)scale Y:(int)centerX X:(int)centerY;
objectivec按照指定中心点和缩放系数缩放白板视图。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| scale | double | 缩放系数,范围 [1, 20]。1 表示设置到 100% 尺寸。放大系数上限默认为 20,以调用 setMaxZoom:setMaxZoom 设置的为准。 |
| centerX | int | 缩放中心点 X 坐标,默认为 0 |
| centerY | int | 缩放中心点 Y 坐标,默认为 0 |
返回值
调用结果0: 成功
注意
- (BOOL)resetZoom;
objectivec恢复默认缩放视图。还原到原始大小,视图中心点恢复为白板中心点。
返回值
调用结果
true: 成功false: 失败。- (void)getZoomFactor:(void (^)(double))block;
objectivec获取当前白板视图缩放系数。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收视图缩放系数的回调 当前白板视图缩放系数。范围 [1, 20]。1 表示原始大小。放大系数上限默认为 20,以调用 setMaxZoom:setMaxZoom 设置的为准。 |
- (void)getPptInfo:(void (^)(ByteWhiteBoardPptInfo *))block;
objectivec获取当前 PPT 信息,非 PPT 白板返回空
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收 PPT 信息的回调,详见 ByteWhiteBoardPptInfo |
注意
调用 createFileWhiteBoard:boardName:pptInfo: 可以创建一个 PPT 白板。
- (void)pptNextStep;
objectivec下一个 PPT 动画,如果是最后一个动画,翻到下一页
注意
- (void)pptPrevStep;
objectivec上一个 PPT 动画,如果是第一个动画,翻到上一页
注意
@interface ByteWhiteBoardRoom : NSObject
objectivec白板房间接口类。
调用 joinRoom:userID:token:defalutBoard:completionHandler:delegate: 之后,自动返回一个可以操作的 WhiteBoardRoom 实例。你可以通过这个类来进行白板房间相关操作。
- (void)updateByteWhiteBoardRoomDelegate:(id<ByteWhiteBoardRoomDelegate>)delegate;
objectivec更新 ByteWhiteBoardRoomDelegate 回调手柄。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| delegate | id | ByteWhiteBoardRoomDelegate 回调手柄 |
- (void)getRoomId:(void (^)(NSString *))block;
objectivec获得当前白板房间 ID。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收白板房间 ID 的回调 |
注意
当本端用户已经进入白板房间后,你可以调用本接口查询当前房间 ID。
- (void)getRoomStatus:(void (^)(ByteWhiteBoardRoomStatus))block;
objectivec获取房间状态。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收白板房间状态的回调。详见 ByteWhiteBoardRoomStatus |
- (void)leaveRoom;
objectivec退房。
注意
- (void)destroyRoom;
objectivec关闭所有白板,重进房间后无法进行写画。
注意
- (void)createWhiteBoard:(NSInteger)boardID pageInfo:(NSArray<ByteWhiteBoardPageInfo *>*)pages backgroundInfo:(ByteWhiteBoardBackgroundInfo *)bkInfo boardName:(NSString *)boardName;
objectivec在房间内创建一个白板。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID,必填 |
| pages | NSArray<ByteWhiteBoardPageInfo>** | 初始的多个白板页信息。详见 ByteWhiteBoardPageInfo。 |
| bkInfo | ByteWhiteBoardBackgroundInfo* | 白板背景设置。详见 ByteWhiteBoardBackgroundInfo。 |
| boardName | NSString* | 白板名称,可选,默认为 boarID。支持的字符为中文、英文、数字、下划线(_) 和 连线符(-) |
注意
成功调用后将触发 byteWhiteBoardRoom:onCreateWhiteBoard:boardId:whiteboard:pptInfo:
- (void)createFileWhiteBoard:(NSInteger)boardId boardName:(NSString *)name pptInfo:(ByteWhiteBoardPptInfo *)createBoardInfo;
objectivec在房间内创建一个 PPT 白板
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardId | NSInteger | 白板 ID |
| name | NSString* | 白板名称,可选,默认为 boarId。支持的字符为中文、英文、数字、下划线(_) 和 连线符(-) |
| createBoardInfo | ByteWhiteBoardPptInfo* | PPT信息。详见 ByteWhiteBoardPptInfo。其中, fileId 获取方式如下。在 Web 端调用 createTranscodeTask 或服务端调用 WbTranscodeCreate,传入 PPT 的 URL 地址,获取到 fileId。 |
注意
-(void)removeWhiteBoard:(NSInteger)boardID;
objectivec关闭指定白板。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID |
注意
成功调用后将触发 byteWhiteBoardRoom:onRemoveWhiteBoard:boardId:pptInfo:
-(void)switchWhiteBoard:(NSInteger)boardID;
objectivec指定当前白板。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID |
注意
调用后将触发 byteWhiteBoardRoom:onCurrentWhiteBoardChanged:activeBoard:whiteboard:
- (void)getCurrentWhiteBoardId:(void (^)(NSInteger))block;
objectivec获取当前的白板 ID。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收白板 ID 的回调 |
- (void)getWhiteBoardInfo:(NSInteger)boardID completionHandler:(void (^)(ByteWhiteBoardInfo *))block;
objectivec通过白板 ID 获取白板信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardID | NSInteger | 白板 ID |
| block | void (^ | 接收白板信息的回调 |
- (void)getCurrentWhiteBoard:(void (^)(ByteWhiteBoard *))block;
objectivec获取当前白板对象。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收当前白板对象的回调 |
-(void)getAllWhiteBoardInfo:(void (^)(NSArray *))block;
objectivec获取所有白板信息。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| block | void (^ | 接收所有白板信息的回调 |
- (void)startPlayback;
objectivec开始播放白板录像。
成功调用后,触发 byteWhiteBoardRoom:onPlaybackStateChanged:reason: 播放状态回调。
注意
- (void)pausePlayback;
objectivec暂停播放白板录像。
成功调用后,触发 byteWhiteBoardRoom:onPlaybackStateChanged:reason: 播放状态回调。
- (void)stopPlayback;
objectivec停止播放白板录像。
成功调用后,触发 byteWhiteBoardRoom:onPlaybackStateChanged:reason: 播放状态回调。
- (void)setPlaybackProgress:(NSInteger)progress block:(void (^)(void))block;
objectivec设置白板回放进度。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| progress | NSInteger | 白板录像播放进度,单位 s |
| block | void (^ | 设置进度结果回调 |
注意
调用后将触发 onPlaybackProgressUpdate
@interface ByteWhiteBoardRoomManager : NSObject
objectivec白板房间管理接口类,你可以通过这个类来操作白板 SDK 接口。
| 返回 | 名称 |
|---|---|
| instancetype | sharedEngineWithAppId:bindToWindow:completionHandler: |
| void | destroy |
| void | setDeviceID: |
| void | setLogLocation: |
| 返回 | 名称 |
|---|---|
| void | joinRoom:userID:token:defalutBoard:completionHandler:delegate: |
| NSString* | getSdkVersion |
| UIView* | getView |
+ (instancetype)sharedEngineWithAppId:(NSString *)appId bindToWindow:(UIView *)view completionHandler:(void (^)(void))block;
objectivec创建和初始化白板 ByteWhiteBoardRoomManager 实例。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| appId | NSString* | 每个应用的唯一标识符,由 RTC 控制台随机生成的。 不同的 AppId 生成的实例在互动白板中是天然隔离的,无法互通。 获取 appId 详见开通服务。 |
| view | UIView* | 将白板 UI 绑定到指定视图 |
| block | void (^ | 初始化成功回调 |
返回值
ByteWhiteBoardRoomManager 实例
+ (void)destroy;
objectivec销毁 ByteWhiteBoardRoomManager 实例,释放资源。
+ (void)setDeviceID:(NSString *)deviceID;
objectivec设置设备 ID。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| deviceID | NSString* | 设备 ID |
+ (void)setLogLocation:(NSString *)path;
objectivec设置本地日志缓存路径。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| path | NSString* | 本地日志缓存路径。默认为 APP目录 Library/Caches |
- (void)joinRoom:(NSString *)roomID userID:(NSString *)userID token:(NSString *)token defalutBoard:(ByteWhiteBoardInfo *)boardInfo completionHandler:(void (^)(ByteWhiteBoardRoom *))block delegate:(id)delegate;
objectivec加入白板房间。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | NSString* | 房间 ID,是房间的唯一标志,详见 赋值规范。白板房间 roomID 不能与 RTC 房间 roomID 相同,否则会引起互踢,建议加前缀 |
| userID | NSString* | 用户 ID,详见 赋值规范。白板用户 userID 不能与 RTC userID 相同,否则会引起互踢,建议加前缀 |
| token | NSString* | 动态密钥 用户登录必须携带的 Token,用于鉴权验证。 登录 Token 与加入房间时必须携带的 Token 不同。测试时可使用控制台生成临时 Token。正式上线需要使用密钥 SDK 在你的服务端生成并下发 Token。 获取 token 详见开通服务。 |
| boardInfo | ByteWhiteBoardInfo* | 默认白板参数。详见 ByteWhiteBoardInfo |
| block | id | 进入房间成功回调 |
| delegate | id | 白板房间事件代理 |
注意
如果当前房间没有白板,将按照传入的参数创建一个白板,成功后将触发 byteWhiteBoardRoom:onCreateWhiteBoard:boardId:whiteboard:pptInfo: 回调。
- (NSString *)getSdkVersion;
objectivec获取白板 SDK 版本号。
返回值
SDK 版本号
- (UIView *)getView;
objectivec获取当前白板视图。
返回值
白板视图