WhiteRoom Class Reference
- iOS
更新时间不可用
Whiteboard iOS SDK 2.16.147 公开接口。
@interface WhiteRoom: WhiteDisplayer
成员
- observerId
- uuid
- globalState
- memberState
- roomMembers
- broadcastState
- scale
- state
- sceneState
- phase
- setDrawOnlyApplePencil:
- setGlobalState:
- setMemberState:
- setViewMode:
- debugInfo:
- disconnect:
- disconnectedBySelf
- setWritable:completionHandler:
- writable
- disableCameraTransform:
- disableDeviceInputs:
- dispatchMagixEvent:payload:
- pptNextStep
- pptPreviousStep
- insertText:y:textContent:completionHandler:
- updateText:textContent:
- insertImage:src:
- insertImage:
- completeImageUploadWithUuid:src:
- disableEraseImage:
- syncBlockTimestamp:
- setTimeDelay:
- delay
- setSyncMode:
- setPrefersColorScheme:
- setContainerSizeRatio:
- setWindowManagerWithAttributes:
- setWindowBoxState:
- getSceneStateWithResult:
- getScenesWithResult:
- setScenePath:
- setScenePath:completionHandler:
- setSceneIndex:completionHandler:
- putScenes:scenes:index:
- cleanScene:
- removeScenes:
- moveScene:target:
- addPage
- addPage:
- removePage:
- removePage:completionHandler:
- addPageWithScene:afterCurrentScene:
- addPageWithScene:afterCurrentScene:completionHandler:
- nextPage:
- prevPage:
- copy
- paste
- duplicate
- deleteOperation
- disableSerialization:
- redo
- undo
- getGlobalStateWithResult:
- getMemberStateWithResult:
- getRoomMembersWithResult:
- getBroadcastStateWithResult:
- getRoomPhaseWithResult:
- getZoomScaleWithResult:
- getRoomStateWithResult:
- disableWindowOperation:
- addApp:completionHandler:
- fitOriginSizeAndCamera
- closeApp:completionHandler:
- focusApp:
- focusApp:completionHandler:
- queryAllAppsWithCompletionHandler:
- queryApp:completionHandler:
- dispatchDocsEvent:options:completionHandler:
- querySlidePageStateWithCompletionHandler:
- querySlidePageState:completionHandler:
- getPageState:completionHandler:
- deleteOpertion
- disableOperations:
- zoomChange:
- getPptImagesWithResult:
observerId
@property (nonatomic, strong, readonly) NSNumber *observerId;当前用户在白板上的序号 id。
从 0 开始,与该用户在 RoomMember 中的 memberId 相同。Declared in Room/WhiteRoom.h
uuid
@property (nonatomic, copy, readonly) NSString *uuid;房间 uuidDeclared in Room/WhiteRoom.h
globalState
@property (nonatomic, strong, readonly) WhiteGlobalState *globalState;房间的全局状态。详见 [WhiteGlobalState](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-global-state)。Declared in Room/WhiteRoom.h
memberState
@property (nonatomic, strong, readonly) WhiteReadonlyMemberState *memberState;教具信息Declared in Room/WhiteRoom.h
roomMembers
@property (nonatomic, strong, readonly) NSArray<WhiteRoomMember *> *roomMembers;白板在线成员信息Declared in Room/WhiteRoom.h
broadcastState
@property (nonatomic, strong, readonly) WhiteBroadcastState *broadcastState;视角状态信息,用户当前场景状态,主播信息Declared in Room/WhiteRoom.h
scale
@property (nonatomic, assign, readonly) CGFloat scale;缩放比例Declared in Room/WhiteRoom.h
state
@property (nonatomic, strong, readonly) WhiteRoomState *state;房间状态信息,继承自 WhiteDisplayerState(Room 与 Player 共同状态)Declared in Room/WhiteRoom.h
sceneState
@property (nonatomic, strong, readonly) WhiteSceneState *sceneState;白板页面(场景)状态,属于房间状态之一Declared in Room/WhiteRoom.h
phase
@property (nonatomic, assign, readonly) WhiteRoomPhase phase;连接状态Declared in Room/WhiteRoom.h
– setDrawOnlyApplePencil:
- (void)setDrawOnlyApplePencil:(BOOL)drawOnlyPencil;设置是否只允许ApplePencil涂鸦
详见 [drawOnlyApplePencil](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room-config#//api/name/drawOnlyApplePencil)Declared in Room/WhiteRoom.h
– setGlobalState:
- (void)setGlobalState:(WhiteGlobalState *)globalState;白板所有人共享的全局状态
1.0 迁移用户,请阅读文档站中 [页面(场景)管理] ,使用setScencePath API 进行翻页。Declared in Room/WhiteRoom.h
– setMemberState:
- (void)setMemberState:(WhiteMemberState *)modifyState;目前主要用来切换教具Declared in Room/WhiteRoom.h
– setViewMode:
- (void)setViewMode:(WhiteViewMode)viewMode;切换用户视角模式Declared in Room/WhiteRoom.h
– debugInfo:
- (void)debugInfo:(void (^ _Nullable)(NSDictionary * _Nullable dict))completionHandler;白板 debug 用的一些信息Declared in Room/WhiteRoom.h
– disconnect:
- (void)disconnect:(void (^ _Nullable) (void))completeHandler;主动断开与互动白板实时房间的连接。
该方法会把与当前房间对象相关的所有资源释放掉。如果要再次加入房间,需要重新调用 [joinRoomWithConfig](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-sdk#//api/name/joinRoomWithConfig:callbacks:completionHandler:)。
@param completeHandler 你可以通过该接口获取 `disconnect` 的调用结果:
- 如果方法调用成功,则返回房间的全局状态。
- 如果方法调用失败,则返回错误信息。Declared in Room/WhiteRoom.h
disconnectedBySelf
@property (nonatomic, assign, readonly) BOOL disconnectedBySelf;用户是否主动断开与白板房间的连接。在调用 `disconnect` 主动断连时,该值会被立即赋值为 `YES`。Declared in Room/WhiteRoom.h
– setWritable:completionHandler:
- (void)setWritable:(BOOL)writable completionHandler:(void (^ _Nullable)(BOOL isWritable, NSError * _Nullable error))completionHandler;设置用户在房间中是否为互动模式。
在加入房间前,就可以在 [WhiteRoomConfig](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room-config) 中设置 `isWritable` ,来决定该模式。
@param writable 用户在房间中是否为互动模式:
- `YES`:互动模式,即具有读写权限。
- `NO`:订阅模式,即具有只读权限。
@param completionHandler 你可以通过该接口获取 `setWritable` 的调用结果:
- 如果方法调用成功,则返回用户在房间中的读写状态。
- 如果方法调用失败,则返回错误信息。Declared in Room/WhiteRoom.h
writable
@property (nonatomic, assign, readonly, getter=isWritable) BOOL writable;本地用户在当前互动白板实时房间是否为互动模式。
- `YES`:互动模式,即具有读写权限。
- `NO`:订阅模式,即具有只读权限。Declared in Room/WhiteRoom.h
– disableCameraTransform:
- (void)disableCameraTransform:(BOOL)disableCameraTransform;禁止/允许用户调整(移动或缩放)视角。
@param disableCameraTransform 是否禁止用户调整视角:
- `YES`:禁止用户调整视角。
- `NO`:(默认)允许用户调整视角。Declared in Room/WhiteRoom.h
– disableDeviceInputs:
- (void)disableDeviceInputs:(BOOL)disable;禁止/允许用户操作工具。
@param disable 是否禁止用户操作工具:
- `YES`:禁止用户操作工具操作。
- `NO`:(默认)允许用户操作工具输入操作。Declared in Room/WhiteRoom.h
– dispatchMagixEvent:payload:
- (void)dispatchMagixEvent:(NSString *)eventName payload:(NSDictionary *)payload;发送自定义事件。
@param eventName 自定义事件名称,详见 [WhiteEvent](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-event)。
@param payload 自定义事件内容,详见 [WhiteEvent](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-event)。Declared in Room/WhiteRoom.h
– pptNextStep
- (void)pptNextStep;播放动态 PPT 下一步。
当前 PPT 页面的动画已全部执行完成时,SDK 会将场景切换至下一页 PPT。
注意,多窗口模式下该接口不再生效Declared in Room/WhiteRoom.h
– pptPreviousStep
- (void)pptPreviousStep;返回动态 PPT 上一步。
当前 PPT 页面的动画全部回退完成时,SDK 会将场景切回至上一页 PPT。
注意,多窗口模式下该接口不再生效Declared in Room/WhiteRoom.h
– insertText:y:textContent:completionHandler:
- (void)insertText:(CGFloat)x y:(CGFloat)y textContent:(NSString *)textContent completionHandler:(void (^) (NSString * textId))completionHandler;在指定位置插入文字
@param x 第一个字的的左侧边中点,世界坐标系中的 x 坐标
@param y 第一个字的的左侧边中点,世界坐标系中的 y 坐标
@param textContent 初始化文字的内容
@param completionHandler 返回该文字的标识符Declared in Room/WhiteRoom.h
– updateText:textContent:
- (void)updateText:(NSString *)textId textContent:(NSString *)textContent;更新置顶 id 文本内容
@param textId 文字标识符
@param textContent 文字内容Declared in Room/WhiteRoom.h
– insertImage:src:
- (void)insertImage:(WhiteImageInformation *)imageInfo src:(NSString *)src;插入图片显示区域。
SDK 会根据你传入的 `imageInfo` 在白板上设置并插入图片的显示区域。
*Note:** 你也可以调用 [insertImage](#//api/name/insertImage:src:) 方法同时传入图片信息和图片的 URL 地址,在白板中插入并展示图片。
@param imageInfo 图片信息,详见 [WhiteImageInformation](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-image-information)。
@param src 图片 URL 地址,详见 [WhiteImageInformation](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-image-information)。Declared in Room/WhiteRoom.h
– insertImage:
- (void)insertImage:(WhiteImageInformation *)imageInfo;插入图片显示区域。
SDK 会根据你传入的 `imageInfo` 在白板上设置并插入图片的显示区域。
@param imageInfo 图片信息,详见 [WhiteImageInformation](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-image-information)。Declared in Room/WhiteRoom.h
– completeImageUploadWithUuid:src:
- (void)completeImageUploadWithUuid:(NSString *)uuid src:(NSString *)src;展示图片。
该方法可以将指定的网络图片展示到指定的图片显示区域。
*Note:** 调用该方法前,请确保你已经调用 [insertImage](#//api/name/insertImage:src:) 方法在白板上插入了图片的显示区域。
@param uuid 图片显示区域的 UUID, 即在 [insertImage](#//api/name/insertImage:src:) 方法的 `imageInfo` 中传入的图片 UUID。
@param src 图片的 URL 地址。必须确保 app 客户端能访问该 URL,否则无法正常展示图片。Declared in Room/WhiteRoom.h
– disableEraseImage:
- (void)disableEraseImage:(BOOL)disable;关闭/开启橡皮擦擦除图片功能。
@param disable 是否关闭橡皮擦擦除图片功能:
- `YES`:禁止橡皮擦擦除图片。
- `NO`:(默认)允许橡皮擦擦除图片。Declared in Room/WhiteRoom.h
– syncBlockTimestamp:
- (void)syncBlockTimestamp:(NSTimeInterval)timestamp;同步 UTC 时间与本地时间。
导入 UTC 时间戳(s)后,白板会根据用户本地时间戳,与传入的 UTC 时间戳进行强行同步。
@since 2.12.24
*Note:** 该 API 要求用户本地时间经过校准,否则可能会造成主动延时。Declared in Room/WhiteRoom.h
– setTimeDelay:
- (void)setTimeDelay:(NSTimeInterval)delay;设置远端白板画面同步延时。
调用该方法后,SDK 会延迟同步远端白板画面。
在 CDN 直播场景,设置远端白板画面同步延时,可以防止用户感知错位。
*Note:** 该方法不影响本地白板画面的显示,即用户在本地白板上的操作,会立即在本地白板上显示。
@param delay 延时时长,单位为秒。Declared in Room/WhiteRoom.h
delay
@property (nonatomic, assign, readonly) NSTimeInterval delay;Declared in Room/WhiteRoom.h
– setSyncMode:
- (void)setSyncMode:(BOOL)useSyncMode;设置远端白板消息的同步策略。
默认情况下,SDK 会以较平滑的速度处理同步消息。设置为 `YES` 后,SDK 会在收到消息时立即处理,
以提高同步实时性。
@param useSyncMode 是否立即处理收到的同步消息。Declared in Room/WhiteRoom.h
– setPrefersColorScheme:
- (void)setPrefersColorScheme:(WhitePrefersColorScheme)colorScheme;多窗口下更新窗口颜色配置
@param colorScheme (WhitePrefersColorScheme)[WhitePrefersColorScheme]Declared in Room/WhiteRoom.h
– setContainerSizeRatio:
- (void)setContainerSizeRatio:(NSNumber *)ratio;多窗口下更新房间尺寸比例
@param ratio 目标尺寸比例Declared in Room/WhiteRoom.h
– setWindowManagerWithAttributes:
- (void)setWindowManagerWithAttributes:(NSDictionary *)attributes;为当前的 WindowManger 直接设置attributes
@param attributes 需要设置的attributesDeclared in Room/WhiteRoom.h
– setWindowBoxState:
- (void)setWindowBoxState:(WhiteWindowBoxState)state;设置多窗口整体展示状态。
状态变更结果通过 `fireRoomStateChanged:` 中的 `windowBoxState` 回调。
@param state normal / minimized / maximizedDeclared in Room/WhiteRoom.h
– getSceneStateWithResult:
- (void)getSceneStateWithResult:(void (^) (WhiteSceneState *state))result;获取房间当前场景组下的场景状态。
@param result 回调。返回当前场景组下的场景状态,详见 [WhiteSceneState](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-scene-state)。Declared in Room/WhiteRoom.h
– getScenesWithResult:
- (void)getScenesWithResult:(void (^) (NSArray<WhiteScene *> *scenes))result;获取房间当前场景组下的场景列表。
@param result 回调。返回当前场景组下的场景列表,详见 [WhiteScene](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-scene)。Declared in Room/WhiteRoom.h
– setScenePath:
- (void)setScenePath:(NSString *)path;切换至指定的场景。
方法调用成功后,房间内的所有用户看到的白板都会切换到指定场景。
*Note:**
- 该方法为同步调用。
- 调用以下方法修改或新增场景后,无法通过 [setScenePath:](#//api/name/setScenePath:) 立即获取最新的场景状态。此时,如果需要立即获取最新的场景状态,可以调用 [setScenePath:completionHandler:()](#//api/name/setScenePath:completionHandler:)。
场景切换失败可能有以下原因:
- 路径不合法,请确保场景路径以 "/",由场景组和场景名构成。
- 场景路径对应的场景不存在。
- 传入的路径是场景组的路径,而不是场景路径。
@param path 想要切换到的场景的场景路径,请确保场景路径以 "/",由场景组和场景名构成,例如,`/math/classA`。Declared in Room/WhiteRoom.h
– setScenePath:completionHandler:
- (void)setScenePath:(NSString *)dirOrPath completionHandler:(void (^ _Nullable)(BOOL success, NSError * _Nullable error))completionHandler;切换至指定的场景。
方法调用成功后,房间内的所有用户看到的白板都会切换到指定场景。
*Note:**
- 该方法为异步调用。
- 调用以下方法修改或新增场景后,你可以通过 [getSceneStateWithResult:](#//api/name/getSceneStateWithResult:) 立即获取最新的场景状态。
场景切换失败可能有以下原因:
- 路径不合法,请确保场景路径以 "/",由场景组和场景名构成。
- 场景路径对应的场景不存在。
- 传入的路径是场景组的路径,而不是场景路径。
@param dirOrPath 想要切换到的场景的场景路径,请确保场景路径以 "/",由场景组和场景名构成,例如,`/math/classA`.
@param completionHandler 你可以通过该接口获取 `setScenePath` 的调用结果:
- 如果方法调用成功,则返回 `YES`.
- 如果方法调用失败,则返回错误信息。Declared in Room/WhiteRoom.h
– setSceneIndex:completionHandler:
- (void)setSceneIndex:(NSUInteger)index completionHandler:(void (^ _Nullable)(BOOL success, NSError * _Nullable error))completionHandler;切换至当前场景组下的指定场景。
方法调用成功后,房间内的所有用户看到的白板都会切换到指定场景。
*Note:** 指定的场景必须在当前场景组中,否则,方法调用会失败。
@param index 目标场景在当前场景组下的索引号。
@param completionHandler 你可以通过该接口获取 `setSceneIndex` 的调用结果:
- 如果方法调用成功,则返回 `YES`.
- 如果方法调用失败,则返回错误信息。Declared in Room/WhiteRoom.h
– putScenes:scenes:index:
- (void)putScenes:(NSString *)dir scenes:(NSArray<WhiteScene *> *)scenes index:(NSUInteger)index;在指定场景组下插入多个场景。
*Note:** 调用该方法插入多个场景后不会切换到新插入的场景。如果要切换至新插入的场景,需要调用 [setScenePath](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room#//api/name/setScenePath:)。
@param dir 场景组名称,必须以 `/` 开头。不能为场景路径。
@param scenes 由多个场景构成的数组。单个场景的字段详见 [WhiteScene](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-scene)。
@param index 待插入的多个场景中,第一个场景在该场景组的索引号。如果传入的索引号大于该场景组已有场景总数,新插入的场景会排在现有场景的最后。场景的索引号从 0 开始。Declared in Room/WhiteRoom.h
– cleanScene:
- (void)cleanScene:(BOOL)retainPPT;清除当前场景的所有内容。
@param retainPPT 是否保留 PPT 内容:
- `YES`:保留 PPT。
- `NO`:连 PPT 一起清空。Declared in Room/WhiteRoom.h
– removeScenes:
- (void)removeScenes:(NSString *)dirOrPath;删除场景或者场景组。
@param dirOrPath 场景组路径或者场景路径。如果传入的是场景组,则会删除该场景组下的所有场景。
*Note:**
- 互动白板实时房间内必须至少有一个场景。当删除所有的场景后,SDK 会自动生成一个路径为 `/init` 初始场景(房间初始化时的默认场景),并切换到 `/init` 位置。
- 如果传入的是场景组,则该场景组下的所有场景都会被删除。
- 如果删除白板当前所在场景,白板会展示被删除场景所在场景组的下一个场景,如果没有下一个,则会移动到上一个,如果都没有,则往上上一级查找
- 如果删除的是当前场景所在的场景组,例如 `dirA`,SDK 会执行向上递归逻辑选择新的场景作为当前场景,规则如下:
- 如果当前场景组路径下还有其他场景组,例如 `dirB`,排在被删除的场景组 `dirA` 后面,则将场景切换至
`dirB` 中的第一个场景(index 为 0)。
- 如果当前场景组路径下 `dirA` 后不存在场景组,则查看当前场景组路径下是否存在场景;
如果存在,则将场景切换至当前场景组路径下的第一个场景(index 为 0)。
- 如果当前场景组路径下 `dirA` 后没有场景组,也不存在任何场景,则查看 `dirA` 前面是否存在场景组 `dirC`;如果存在,则选择 `dirC` 中的第一个场景(index 为 0)。
- 以上都不满足,则继续向上递归执行该逻辑。Declared in Room/WhiteRoom.h
– moveScene:target:
- (void)moveScene:(NSString *)source target:(NSString *)target;移动场景。
成功移动场景后,场景路径也会改变。
*Note:**
- 该方法只能移动场景,不能移动场景组,即 `source` 只能是场景路径,不能是场景组路径。
- 该方法支持改变指定场景在当前所属场景组下的位置,也支持将指定场景移至其他场景组。
@param source 需要移动的场景原路径。必须为场景路径,不能是场景组的路径。
@param target 目标场景组路径或目标场景路径:
- 当 `target`设置为目标场景组时,表示将指定场景移至其他场景组中,场景路径会发生改变,但是场景名称不变。
- 当 `target`设置为目标场景路径时,表示改变指定场景在当前场景组的位置,场景路径和场景名都会发生改变。Declared in Room/WhiteRoom.h
– addPage
- (void)addPage;插入一个新页面
该新页面会位于当前的页面的下一页Declared in Room/WhiteRoom.h
– addPage:
- (void)addPage:(void(^ _Nullable)(BOOL success))completionHandler;插入一个新页面
该新页面会位于当前的页面的下一页
@param completionHandler 回调Declared in Room/WhiteRoom.h
– removePage:
- (void)removePage:(void(^ _Nullable)(BOOL success))completionHandler;删除当前页面
@param completionHandler 回调Declared in Room/WhiteRoom.h
– removePage:completionHandler:
- (void)removePage:(NSUInteger)index completionHandler:(void(^ _Nullable)(BOOL success))completionHandler;删除指定页面
@param index 页面下标
@param completionHandler 回调Declared in Room/WhiteRoom.h
– addPageWithScene:afterCurrentScene:
- (void)addPageWithScene:(WhiteScene * _Nullable)scene afterCurrentScene:(BOOL)afterCurrentScene;插入一个新页面
*Note:**
@param scene 新插入的场景对象
@param afterCurrentScene 是否在当前页面之后。YES: 插入到当前页面之后。 NO: 在插入到最后一页的后面Declared in Room/WhiteRoom.h
– addPageWithScene:afterCurrentScene:completionHandler:
- (void)addPageWithScene:(WhiteScene * _Nullable)scene afterCurrentScene:(BOOL)afterCurrentScene completionHandler:(void(^ _Nullable)(BOOL success))completionHandler;插入一个新页面
*Note:**
@param scene 新插入的场景对象
@param afterCurrentScene 是否在当前页面之后。YES: 插入到当前页面之后。 NO: 在插入到最后一页的后面
@param completionHandler 回调Declared in Room/WhiteRoom.h
– nextPage:
- (void)nextPage:(void(^ _Nullable)(BOOL success))completionHandler;切换到下一页场景
*Note: **
@param completionHandler 回调,success代表切换是否成功Declared in Room/WhiteRoom.h
– prevPage:
- (void)prevPage:(void(^ _Nullable)(BOOL success))completionHandler;切换到上一页场景
*Note: **
@param completionHandler 回调,success代表切换是否成功Declared in Room/WhiteRoom.h
– copy
- (void)copy;复制选中内容。
该方法会将选中的内容存储到内存中,不会粘贴到白板中。
*Note:** 该方法仅当 [disableSerialization](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room#//api/name/disableSerialization:) 设为 `NO` 时生效。Declared in Room/WhiteRoom.h
– paste
- (void)paste;粘贴复制的内容。
该方法会将 [copy](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room#//api/name/copy) 方法复制的内容粘贴到白板中(用户当前的视角中间)。
*Note:**
- 该方法仅当 [disableSerialization](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room#//api/name/disableSerialization:) 设为 `NO` 时生效。
- 多次调用该方法时,不能保证粘贴的内容每次都在用户当前的视角中间,可能会出现随机偏移。Declared in Room/WhiteRoom.h
– duplicate
- (void)duplicate;复制并粘贴选中的内容。
该方法会将选中的内容复制并粘贴到白板中(用户当前的视角中间)。
*Note:**
- 该方法仅当 [disableSerialization](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room#//api/name/disableSerialization:) 设为 `NO` 时生效。
- 多次调用该方法时,不能保证粘贴的内容每次都在用户当前的视角中间,可能会出现随机偏移。Declared in Room/WhiteRoom.h
– deleteOperation
- (void)deleteOperation;删除选中内容。Declared in Room/WhiteRoom.h
– disableSerialization:
- (void)disableSerialization:(BOOL)disable;开启/禁止本地序列化。
设置 `disableSerialization(YES)` 后,以下方法将不生效:
- `redo`
- `undo`
- `duplicate`
- `copy`
- `paste`
@warning
如果要设置 `disableSerialization(NO)`,必须确保同一房间内所有用户使用的 SDK 满足以下版本要求,否则会导致 app 客户端崩溃。
- Web SDK 2.9.2 或之后版本
- Android SDK 2.9.3 或之后版本
- iOS SDK 2.9.3 或之后版本
@param disable 是否禁止本地序列化:
- `YES`:(默认)禁止开启本地序列化;
- `NO`: 开启本地序列化,即可以对本地操作进行解析。Declared in Room/WhiteRoom.h
– redo
- (void)redo;重做,即回退撤销操作。
*Note:** 该方法仅当 [disableSerialization](#//api/name/disableSerialization:) 设为 `NO` 时生效。Declared in Room/WhiteRoom.h
– undo
- (void)undo;撤销上一步操作。
*Note:** 该方法仅当 [disableSerialization](#//api/name/disableSerialization:) 设为 `NO` 时生效。Declared in Room/WhiteRoom.h
– getGlobalStateWithResult:
- (void)getGlobalStateWithResult:(void (^) (WhiteGlobalState *state))result;获取房间的全局状态。
*Note:**
- 该方法为异步调用。
- 调用 [setGlobalState](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room#//api/name/setGlobalState:) 方法后,可以立刻调用该方法。
@param result 回调。返回房间的全局状态,详见 [GlobalState](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-global-state)。Declared in Room/WhiteRoom.h
– getMemberStateWithResult:
- (void)getMemberStateWithResult:(void (^) (WhiteMemberState *state))result;获取当前的工具状态。
*Note:** 该方法为异步调用。调用 [setMemberState](#//api/name/setMemberState:) 方法后,可以立刻调用该方法。
@param result 回调。返回当前的工具状态,详见 [MemberState](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-member-state)。Declared in Room/WhiteRoom.h
– getRoomMembersWithResult:
- (void)getRoomMembersWithResult:(void (^) (NSArray<WhiteRoomMember *> *roomMembers))result;获取实时房间用户列表。
*Note:**
- 该方法为异步调用。
- 房间的用户列表仅包含互动模式(具有读写权限)的用户,不包含订阅模式(只读权限)的用户。
@param result 回调。返回当前房间的用户列表,详见 [WhiteRoomMember](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room-member)。Declared in Room/WhiteRoom.h
– getBroadcastStateWithResult:
- (void)getBroadcastStateWithResult:(void (^) (WhiteBroadcastState *state))result;获取用户视角状态。
*Note:** 该方法为异步调用。
@param result 回调。返回当前用户视角状态,详见 [WhiteBroadcastState](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-broadcast-state)。Declared in Room/WhiteRoom.h
– getRoomPhaseWithResult:
- (void)getRoomPhaseWithResult:(void (^) (WhiteRoomPhase phase))result;获取房间连接状态。
*Note:** 该方法为异步调用。
@param result 回调。返回当前房间连接状态,详见 [WhiteRoomPhase](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/constants/white-room-phase)。Declared in Room/WhiteRoom.h
– getZoomScaleWithResult:
- (void)getZoomScaleWithResult:(void (^) (CGFloat scale))result;获取用户当前的视角缩放比例。该方法为异步调用。
@param result 回调。返回当前视角缩放比例。Declared in Room/WhiteRoom.h
– getRoomStateWithResult:
- (void)getRoomStateWithResult:(void (^) (WhiteRoomState *state))result;获取当前房间状态。
*Note:** 该方法为异步调用。
@param result 回调。返回当前房间状态,详见 [WhiteRoomState](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-room-state)。Declared in Room/WhiteRoom.h
– disableWindowOperation:
- (void)disableWindowOperation:(BOOL)disable;Declared in Room/WhiteRoom.h
– addApp:completionHandler:
- (void)addApp:(WhiteAppParam *)appParams completionHandler:(void (^)(NSString * _Nullable appId))completionHandler;添加 App。lazy 模式或最小化状态可先返回 ID;eager 模式尝试等待 setup 并确认焦点,但 setup 异常可仅记录日志,仍可能返回 ID。返回 ID 不保证初始化或渲染成功;创建失败或未取得 ID 的结果按本端错误/空值接口处理。originSize 写入 attributes.originSize。
添加窗口
@param appParams app 类型以及配置内容
completionHandler 会在 Box 创建及本次焦点请求处理后调用。请求在 pending 中被取代时可返回 appId;setup 失败或超时不单独决定返回值。创建失败或应提交的焦点未提交时返回 nil。
@warning 多次插入同一个 ppt 时,插入会失败,返回的 appId 为 nil 。Declared in Room/WhiteRoom.h
– fitOriginSizeAndCamera
- (void)fitOriginSizeAndCamera;恢复 MainView 的参考尺寸和初始相机,不修改 Slide/Presentation 的 App 参考尺寸。
恢复 MainView 的 originSize 与原始相机状态。未配置 originSize 时不执行操作。Declared in Room/WhiteRoom.h
– closeApp:completionHandler:
- (void)closeApp:(NSString *)appId completionHandler:(void (^)(void))completionHandler;关闭窗口
该方法仅在多窗口下有效, 无论appId是否有效都会触发回调
@param appId 添加app时返回的idDeclared in Room/WhiteRoom.h
– focusApp:
- (void)focusApp:(NSString *)appId;可等待的布尔值表示共享 focus、本端 Box 焦点和 zIndex 已提交;不表示 App setup 或首帧完成。
切换聚焦窗口
该方法仅在多窗口下有效
@param appId 添加app时返回的idDeclared in Room/WhiteRoom.h
– focusApp:completionHandler:
- (void)focusApp:(NSString *)appId completionHandler:(void (^ _Nullable)(BOOL committed))completionHandler;可等待的布尔值表示共享 focus、本端 Box 焦点和 zIndex 已提交;不表示 App setup 或首帧完成。
切换聚焦窗口,并在焦点真正提交后返回结果。
Lazy 模式会等待目标 App setup 和 focus 提交;非 Lazy 模式保持原同步切换行为并立即返回 YES。
@param appId 添加 app 时返回的 id
@param completionHandler YES 表示房间 focus 与本地 Box 焦点、zIndex 已提交;NO 表示请求被取代或状态未提交。setup 失败或超时仅记录日志,不决定返回值Declared in Room/WhiteRoom.h
– queryAllAppsWithCompletionHandler:
- (void)queryAllAppsWithCompletionHandler:(void (^)(NSDictionary<NSString *, WhiteAppSyncAttributes *> *apps, NSError * _Nullable error))completionHandler;查询所有 App 信息
该方法仅在多窗口下有效
@param completionHandler 查询结果回调Declared in Room/WhiteRoom.h
– queryApp:completionHandler:
- (void)queryApp:(NSString *)appId completionHandler:(void (^)(WhiteAppSyncAttributes *appParam, NSError * _Nullable error))completionHandler;查询 App 信息
该方法仅在多窗口下有效
@param appId 添加app时返回的id
@param completionHandler 查询结果回调Declared in Room/WhiteRoom.h
– dispatchDocsEvent:options:completionHandler:
- (void)dispatchDocsEvent:(WhiteWindowDocsEventKey)docsEvent options:(WhiteWindowDocsEventOptions * _Nullable)options completionHandler:(void (^)(WhiteDispatchDocsEventResult *result))completionHandler;统一控制 MainView、DocsViewer、Slide、Presentation。target 省略时跟随焦点,或指定 mainView/appId;page 从 1 开始,scale=1 为适配尺寸。accepted 表示命令接收,拒绝时检查 reason/message;不保证渲染完成。
派发文档事件
在多窗口模式下,该方法可以用来操作当前聚焦的文档窗口。
@param docsEvent 事件类型。
@param options 可选事件参数。
@params completionHandler 返回命令是否接受;拒绝时包含稳定 reason 和可读 message。
@warning 该方法只有在文档视图加载完毕时才能调用。不支持多次连续调用,只有当当前的转场动画完毕之后才能进行下一次调用。Declared in Room/WhiteRoom.h
– querySlidePageStateWithCompletionHandler:
- (void)querySlidePageStateWithCompletionHandler:(void (^)(WhiteSlidePageState * _Nullable pageState, NSError * _Nullable error))completionHandler;查询当前聚焦 SlideApp 的页面状态。页码从 1 开始。Declared in Room/WhiteRoom.h
– querySlidePageState:completionHandler:
- (void)querySlidePageState:(NSString * _Nullable)appId completionHandler:(void (^)(WhiteSlidePageState * _Nullable pageState, NSError * _Nullable error))completionHandler;查询当前焦点或指定 Slide App 的页码和总页数,页码从 1 开始。
查询指定 SlideApp 的页面状态。页码从 1 开始。Declared in Room/WhiteRoom.h
– getPageState:completionHandler:
- (void)getPageState:(WhiteWindowPageStateOptions * _Nullable)options completionHandler:(void (^)(WhiteUnifiedPageState * _Nullable pageState, NSError * _Nullable error))completionHandler;查询统一页面状态,返回 target、可选 appId、1-based page/pageCount、可选相对 scale。状态 target 为 mainView/DocsViewer/Slide/Presentation。
查询当前可观察的统一页面状态。Declared in Room/WhiteRoom.h
– deleteOpertion
- (void)deleteOpertion DEPRECATED_MSG_ATTRIBUTE("use deleteOperation");Declared in Room/WhiteRoom.h
– disableOperations:
- (void)disableOperations:(BOOL)disable DEPRECATED_MSG_ATTRIBUTE("use disableDeviceInputs and disableCameraTransform");@deprecated 该方法已废弃,请使用 [disableDeviceInputs](#//api/name/disableDeviceInputs:) 和 [disableCameraTransform](#//api/name/disableCameraTransform:)。
禁止操作。
@param disable 是否禁止操作,YES 为禁止。Declared in Room/WhiteRoom.h
– zoomChange:
- (void)zoomChange:(CGFloat)scale DEPRECATED_MSG_ATTRIBUTE("use moveCamera:");@deprecated 该方法已废弃,请使用 [moveCamera](/zh-CN/api-reference/whiteboard/whiteboard-sdk/ios/classes/white-displayer#//api/name/moveCamera:)。
缩小放大白板。
@param scale 相对于原始大小的比例。Declared in Room/WhiteRoom.h
– getPptImagesWithResult:
- (void)getPptImagesWithResult:(void (^) (NSArray<NSString *> *pptPages))result DEPRECATED_MSG_ATTRIBUTE("use getScenesWithResult:");@deprecated 该方法已废弃,请使用 [getScenesWithResult](#//api/name/getScenesWithResult:)。
获取所有 ppt 图片。
@param result 回调。返回所有 ppt 图片的地址。Declared in Room/WhiteRoom.h