@protocol ByteWhiteBoardDelegate <NSObject>
objectivecByteWhiteBoardDelegate 协议包含了ByteWhiteBoard SDK提供的回调方法,SDK通过代理向应用程序上报一些运行时事件,主要用来给业务方提供必要的回调,反应相关API调用发生的结果以及sdk状态。
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onOccurWarning:(ByteWhiteBoardWarningCode)Code;
objectivec当内部发生警告信息时回调该事件
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| Code | ByteWhiteBoardWarningCode | 警告码,详见 ByteWhiteBoardWarningCode |
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onOccurError:(ByteWhiteBoardErrorCode)code;
objectivec当内部发生不可逆转测错误时回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | ByteWhiteBoardErrorCode | 错误码,详见 ByteWhiteBoardErrorCode |
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onInitBoard:(NSArray<ByteWhiteBoardPageInfo*>*)pages currentPageID:(NSString*)pageID boardStatus:(ByteWhiteBoardBoardStatus)status;
objectivec白板初始化
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pages | NSArray<ByteWhiteBoardPageInfo>** | 所有白板页信息 |
| pageID | NSString* | 当前页面 ID |
| status | ByteWhiteBoardBoardStatus | 画板状态,是否已关闭。详见 ByteWhiteBoardBoardStatus |
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onLockBoard:(BOOL)isLock reason:(ByteWhiteBoardLockBoardReason)reason;
objectivec当白板锁定状态发生改变时,将触发该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| isLock | BOOL | 是否锁定 |
| reason | ByteWhiteBoardLockBoardReason | 锁定原因,详见 ByteWhiteBoardLockBoardReason |
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onCanUndoStateChanged:(BOOL)enable;
objectivecUndo 的状态回调,通知是否可以 Undo
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | BOOL | 可撤回状态,为 true 时可调用 undo 撤回前一步骤 |
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onCanRedoStateChanged:(BOOL)enable;
objectivecRedo 的状态回调,通知是否可以 Redo
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| enable | BOOL | 可重做状态,为 true 时可调用 redo 重复此前步骤。 |
- (void)byteWhiteBoardAttachedToWindow:(ByteWhiteBoard *)board;
objectivec白板绑定到 UI 控件。成功调用 bindToWindowWithConfig: 后收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| board | ByteWhiteBoard* | 白板实例,详见 ByteWhiteBoard |
- (void)byteWhiteBoardDetachedToWindow:(ByteWhiteBoard *)board;
objectivec白板解除和 UI 控件的绑定。成功调用 unbindFromWindow 后收到此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| board | ByteWhiteBoard* | 白板实例 |
- (void)byteWhiteBoardClearPage:(ByteWhiteBoard *)board;
objectivec白板清空回调
调用 clearPage 后触发本回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| board | ByteWhiteBoard* | 白板实例 |
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onPageIndexChanged:(int)current_index pageInfo:(ByteWhiteBoardPageInfo *)pageInfo;
objectivec当前页发生改变时触发此回调,例如,翻页或删除操作。监听本回调即使更新 UI 画面。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| current_index | int | 当前页索引 |
| pageInfo | ByteWhiteBoardPageInfo* | 当前页信息 |
注意
成功调用 flipPageflipPage: 或 removePage:RemovePage: 后,在本端和远端触发本回调。
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onCreatePages:(NSString*)prePageID pageInfos:(NSArray<ByteWhiteBoardPageInfo*>*)pageInfos;
objectivec已创建一个新页面回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| prePageID | NSString* | 刚创建的白板页面 ID |
| pageInfos | NSArray<ByteWhiteBoardPageInfo>** | 刚创建的白板页面信息 |
注意
调用 createPage:config:isAutoFlip: 后在本端和远端触发本回调。
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onRemovePages:(NSArray<NSString*>*)pageIDs;
objectivec删除页
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageIDs | NSArray<NSString>** | 被删除页面 ID |
注意
调用 removePage:RemovePage: 后在本端和远端触发本回调。
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onPagesCountChanged:(NSInteger) totalCount;
objectivec总页数发生改变时触发此回调,例如,创建新页面或删除操作。监听本回调即使更新 UI 画面。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| totalCount | NSInteger | 新的总页数 |
注意
成功调用 createPage:config:isAutoFlip: 或 removePage:RemovePage: 后,在本端和远端触发本回调。
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onChangePageBackground:(NSString* )pageID backgroundInfo:(ByteWhiteBoardBackgroundInfo *)bk_info;
objectivec页面背景信息修改时触发该回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| pageID | NSString* | 被修改的页面 ID |
| bk_info | ByteWhiteBoardBackgroundInfo* | 背景信息 |
注意
调用 changePageBackgroundWhitPageID:bkInfo: 后在本端和远端触发本回调。
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onChangeBoardBackground:(ByteWhiteBoardBackgroundInfo *)bk_info;
objectivec修改白板默认背景回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| bk_info | ByteWhiteBoardBackgroundInfo* | 背景信息 |
注意
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onViewModeChanged:(ByteWhiteBoardViewMode)viewMode;
objectivec本端的 ViewMode 被改变后触发本回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| viewMode | ByteWhiteBoardViewMode | 视图模式。枚举值含义详见 ByteWhiteBoardViewMode。 |
注意
成功调用 setViewMode:后,在本端触发本回调。
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onZoomInfoChanged:(CGFloat)zoom offstX:(NSInteger)centerX offstY:(NSInteger) centerY;
objectivec当前白板的视图缩放改变通知回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| zoom | CGFloat | 缩放系数。范围 [1, 20]。1 表示原始大小。 |
| centerX | NSInteger | X 坐标轴偏移量。页面中心为坐标原点。 |
| centerY | NSInteger | Y 坐标轴偏移量。页面中心为坐标原点。 |
注意
- (void)byteWhiteBoard:(ByteWhiteBoard *)board onExportSnapshot:(NSString *)PageID filePath:(NSString *)filePath;
objectivec白板快照回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| PageID | NSString* | 白板页 ID |
| filePath | NSString* | 本地保存路径 |
注意
成功调用 exportCurrentPageSnapshotExportCurrentPageSnapshot后,通过本回调返回快照地址。
@protocol ByteWhiteBoardRoomDelegate <NSObject>
objectivec回调
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onOccurWarning:(ByteWhiteBoardWarningCode)code;
objectivec当内部发生警告信息时回调该事件
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | ByteWhiteBoardWarningCode | 警告标识码,详见 ByteWhiteBoardWarningCode |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onOccurError:(ByteWhiteBoardErrorCode)code;
objectivec当内部发生错误信息时回调该事件
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | ByteWhiteBoardErrorCode | 错误标识码,详见 ByteWhiteBoardErrorCode |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onJoinRoomResult:(NSString *)roomID userID:(NSString *)userID errCode:(NSInteger)code isRejoin:(BOOL)rej;
objectivec本端调用 joinRoom 进房的结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | NSString* | 房间 ID |
| userID | NSString* | 用户 ID |
| code | NSInteger | 进房的错误码。详见 ByteWhiteBoardErrorCode。 |
| rej | BOOL | false:第一次进房;true: 断网重连加入 |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onLeaveRoomResult:(NSString *)roomID reason:(NSInteger)reason;
objectivec本端调用 leaveRoom 的退房结果回调。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| roomID | NSString* | 房间ID |
| reason | NSInteger | 离房错误码。0: 成功。 |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onGetAllBoardInfo:(NSArray<ByteWhiteBoardInfo *> * )boardArray currentBoard:(NSInteger) activeBoardId roomActive:(BOOL)isRoomActive;
objectivec进入房间后,获取到所有白板信息
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| boardArray | NSArray<ByteWhiteBoardInfo>** | 所有白板的信息 |
| activeBoardId | NSInteger | 当前活跃的白板 |
| isRoomActive | BOOL | 房间是否活跃 |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onActiveWhiteBoardChanged:(NSInteger)activeBoardId;
objectivec当前活跃的白板被改变
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| activeBoardId | NSInteger | 当前活跃的白板 |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onLoadPlaybackData:(int64_t)startTimestamp finish:(int64_t)endTimestamp;
objectivec回放数据加载完毕回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| startTimestamp | int64_t | 回放开始时间戳 |
| endTimestamp | int64_t | 回放结束时间戳 |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onPlaybackWhiteBoardStateChanged:(NSInteger)state errCode:(NSInteger)code;
objectivec当白板录像播放状态发生改变时触发此回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | NSInteger | 当前状态码 • 0:空闲 • 1:资源准备中 • 2:资源准备成功 • 3:开始播放状态 • 4:正在播放 • 5:暂停播放状态 • 6:停止状态 |
| code | NSInteger | 状态切换原因 • 0:用户或系统主动行为 • 101:开始播放时资源加载 • 102:seek 行为做数据准备 • 601:播放结束 • 602:数据为空 • 603:数据错误 • 604:数据下载失败 |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onPlaybackWhiteBoardProgressUpdate:(NSInteger)progress duration:(NSInteger)duration;
objectivec白板录像播放进度回调。 调用 start 后触发本回调 200 ms 一次。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| progress | NSInteger | 白板录像播放进度,单位 s |
| duration | NSInteger | 总播放时长,单位 s |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onCreateWhiteBoard:(ByteWhiteBoard *)board elapsed:(NSInteger)elapsed;
objectivec白板创建回调。进房后自动创建白板。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| board | ByteWhiteBoardRoom* | 房间内的新白板对象 |
| elapsed | NSInteger | 从进房成功到该回调的时长。调用 updateByteWhiteBoardRoomDelegate: 更新回调手柄。 |
- (void)byteWhiteBoardRoom:(ByteWhiteBoardRoom *)boardRoom onCloseWhiteBoard:(ByteWhiteBoard *)board boardId:(NSInteger)boardId;
objectivec关闭白板回调(WhiteBoard)
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| board | ByteWhiteBoardRoom* | 房间内被销毁的白板对象 |
| boardId | NSInteger | 白板 ID |
@protocol ByteWhiteBoardRoomManagerDelegate <NSObject>
objectivecByteWhiteBoardRoomDelegate 回调
| 返回 | 名称 |
|---|---|
| void | byteWhiteBoardRoomManager:onOccurWarning: |
| void | byteWhiteBoardRoomManager:onOccurError: |
| void | byteWhiteBoardRoomManager:onConnectionStateChanged: |
| void | byteWhiteBoardRoomManager:onMediaSyncTimestamp: |
- (void)byteWhiteBoardRoomManager:(ByteWhiteBoardRoomManager *)boardRoomManager onOccurWarning:(ByteWhiteBoardWarningCode)code;
objectivec当内部发生警告信息时回调该事件
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | ByteWhiteBoardWarningCode | 警告标识码,详见 ByteWhiteBoardWarningCode |
- (void)byteWhiteBoardRoomManager:(ByteWhiteBoardRoomManager *)boardRoomManager onOccurError:(ByteWhiteBoardErrorCode)code;
objectivec当内部发生错误信息时回调该事件
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | ByteWhiteBoardErrorCode | 错误标识码,详见 ByteWhiteBoardErrorCode |
- (void)byteWhiteBoardRoomManager:(ByteWhiteBoardRoomManager *)boardRoomManager onConnectionStateChanged:(ByteWhiteBoardConnectionState)state;
objectivec回调 SDK 与信令服务器连接状态相关事件。当 SDK 与信令服务器的网络连接状态改变时回调该事件。
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| state | ByteWhiteBoardConnectionState | 当前 SDK 与信令服务器连接状态。 详细定义参见 ByteWhiteBoardConnectionState。 |
注意
更多信息参见 连接状态提示。
- (void)byteWhiteBoardRoomManager:(ByteWhiteBoardRoomManager *)boardRoomManager onMediaSyncTimestamp:(int64_t)timestamp;
objectivec媒体时间戳回调
传入参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| timestamp | int64_t | 时间戳 |
注意
调用 enableMediaTimeSync: 开启后,将触发 2 秒一次周期性回调,返回时间戳,将时间戳作为 SEI 添加到视频帧中传递给其他用户实现 RTC 音视频互动和白板同步。