WhiteSDK Class Reference
成员
effectMixer
@property (nonatomic, strong, readonly, nullable) WhiteAudioEffectMixerBridge *effectMixer;Play effect 混音设置。
成员
createReplayerWithConfig:callbacks:completionHandler:
- (void)createReplayerWithConfig:(WhitePlayerConfig *)config callbacks:(nullable id<WhitePlayerEventDelegate>)eventCallbacks completionHandler:(void (^) (BOOL success, WhitePlayer * _Nullable player, NSError * _Nullable error))completionHandler;创建互动白板回放房间。
参数
| 参数名 | 描述 |
|---|---|
config | 白板回放的参数配置,详见 WhitePlayerConfig。 |
eventCallbacks | 白板回放事件的回调。详见 WhitePlayerEventDelegate。 |
completionHandler | 你可以通过该接口获取 `createReplayerWithConfig` 的调用结果: |
isPlayable:result:
- (void)isPlayable:(WhitePlayerConfig *)config result:(void (^)(BOOL isPlayable))result;主动查询给定回放配置对应的房间是否能够回放。调用不会创建播放器或启动回放。
参数
| 参数名 | 描述 |
|---|---|
config | WhitePlayerConfig 回放配置。 |
result | 查询完成回调,BOOL isPlayable:YES 表示可回放,NO 表示不可回放。此方法自身返回 void。 |
joinRoomWithConfig:callbacks:completionHandler:
- (void)joinRoomWithConfig:(WhiteRoomConfig *)config callbacks:(nullable id<WhiteRoomCallbackDelegate>)callbacks completionHandler:(void (^) (BOOL success, WhiteRoom * _Nullable room, NSError * _Nullable error))completionHandler;设置房间参数和事件回调并加入互动白板实时房间。
参数
| 参数名 | 描述 |
|---|---|
config | 互动白板实时房间的参数配置,详见 WhiteRoomConfig。 |
callbacks | 房间事件回调,详见 WhiteRoomCallbackDelegate。 |
completionHandler | 调用结果: |
version
+ (NSString *)version;白板 SDK 版本号。
initWithWhiteBoardView:config:commonCallbackDelegate:effectMixerBridgeDelegate:
- (instancetype)initWithWhiteBoardView:(WhiteBoardView *)boardView config:(WhiteSdkConfiguration *)config commonCallbackDelegate:(nullable id<WhiteCommonCallbackDelegate>)callback effectMixerBridgeDelegate:(nullable id<WhiteAudioEffectMixerBridgeDelegate>)effectMixer;设置 RTC 混音并初始化 `WhiteSDK` 对象。
请确保在调用其他 API 前先调用该方法创建并初始化白板 SDK 对象。
参数
| 参数名 | 描述 |
|---|---|
boardView | 白板界面,详见 WhiteBoardView。 |
config | 白板 SDK 对象配置,详见 WhiteSdkConfiguration。 |
callback | 通用回调事件,详见 WhiteCommonCallbackDelegate。 |
effectMixer | RTC 混音设置,详见 WhiteAudioEffectMixerBridge。当你同时使用 Agora RTC SDK 和互动白板 SDK, 且互动白板中展示的动态 PPT 中包含音频文件时,你可以调用 `WhiteAudioEffectMixerBridge` 接口,将动态 PPT 中的所有音频交给 Agora RTC SDK 进行混音播放。 |
返回值
初始化的 `WhiteSDK` 对象。
initWithWhiteBoardView:config:commonCallbackDelegate:pcmDataDelegate:
- (instancetype)initWithWhiteBoardView:(WhiteBoardView *)boardView config:(WhiteSdkConfiguration *)config commonCallbackDelegate:(nullable id<WhiteCommonCallbackDelegate>)callback pcmDataDelegate:(nullable id<WhiteAudioPcmDataDelegate>)pcmDataDelegate;设置 RTC 混音并初始化 `WhiteSDK` 对象。
请确保在调用其他 API 前先调用该方法创建并初始化白板 SDK 对象。
参数
| 参数名 | 描述 |
|---|---|
boardView | 白板界面,详见 WhiteBoardView。 |
config | 白板 SDK 对象配置,详见 WhiteSdkConfiguration。 |
callback | 通用回调事件,详见 WhiteCommonCallbackDelegate。 |
pcmDataDelegate | PCM 裸数据回调 ,详见 WhiteAudioPcmDataDelegate。设置该对象之后,白板中的所有音频会以 pcm data 的形式传出。 |
返回值
初始化的 `WhiteSDK` 对象。
initWithWhiteBoardView:config:commonCallbackDelegate:audioMixerBridgeDelegate:
- (instancetype)initWithWhiteBoardView:(WhiteBoardView *)boardView config:(WhiteSdkConfiguration *)config commonCallbackDelegate:(nullable id<WhiteCommonCallbackDelegate>)callback audioMixerBridgeDelegate:(nullable id<WhiteAudioMixerBridgeDelegate>)mixer DEPRECATED_MSG_ATTRIBUTE("use initWithWhiteBoardView:config: commonCallbackDelegate:effectMixerBridgeDelegate: instead");@deprecated 已废弃,请使用 initWithWhiteBoardView:config: commonCallbackDelegate:effectMixerBridgeDelegate: 。
initWithWhiteBoardView:config:commonCallbackDelegate:
- (instancetype)initWithWhiteBoardView:(WhiteBoardView *)boardView config:(WhiteSdkConfiguration *)config commonCallbackDelegate:(nullable id<WhiteCommonCallbackDelegate>)callback;初始化 `WhiteSDK` 对象。
请确保在调用其他 API 前先调用该方法创建并初始化白板 SDK 对象。
参数
| 参数名 | 描述 |
|---|---|
boardView | 白板界面,详见 WhiteBoardView。 |
config | 白板 SDK 对象配置,详见 WhiteSdkConfiguration。 |
callback | 通用回调事件,详见 WhiteCommonCallbackDelegate。 |
initWithWhiteBoardView:config:
- (instancetype)initWithWhiteBoardView:(WhiteBoardView *)boardView config:(WhiteSdkConfiguration *)config DEPRECATED_MSG_ATTRIBUTE("initWithWhiteBoardView:config:commonCallbackDelegate");@deprecated 该方法已废弃。请使用 initWithWhiteBoardView:config:commonCallbackDelegate: 和 initWithWhiteBoardView:config:commonCallbackDelegate:audioMixerBridgeDelegate: 方法。
prepareWhiteConnectionForAppId:region:expireSeconds:attachingSuperView:
+ (void)prepareWhiteConnectionForAppId:(NSString *)appId region:(WhiteRegionKey)region expireSeconds:(NSNumber * _Nullable )expireSeconds attachingSuperView: (UIView * _Nullable)superView;提前选择最佳接入域名,用于加快用户首次连接速度。
参数
| 参数名 | 描述 |
|---|---|
appId | SDK 的 appId |
region | 需要选择的数据中心 |
expireSeconds | 数据缓存时间,单位为秒,可为空,默认为 24 小时 |
superView | 挂载的父视图,可为空,默认为 UIApplication.shared.keyWindow |
setupFontFaces:
- (void)setupFontFaces:(NSArray <WhiteFontFace >)fontFaces;声明在本地白板中可用的字体。
参数
| 参数名 | 描述 |
|---|---|
fontFaces | 字体配置文件,详见 WhiteFontFace。 |
讨论
2.11.3 调用该方法声明的字体可用于显示 PPT 中的文字和工具输入的文字。 该方法和 loadFontFaces 都可以声明在本地白板中可用的字体,区别是 setupFontFaces 没有回调,因为无法判断字体声明是否正确;loadFontFaces 会触发回调,报告每一种的预加载结果。 *Note:**
- 该方法只对本地白板生效,不影响远端白板的字体显示。
- 通过该方法声明的字体,只有当被使用时,才会触发下载。
- 不同的字体在不同设备上的渲染可能不同,例如,在某些设备上,要等字体加载完成后,才会渲染文字;而在另外一些设备上,会先使用默认的字体渲染文字,等指定的字体加载完毕后,再整体刷新。
- 每次调用该方法都会覆盖原来的字体声明。
- 请勿同时调用该方法和 loadFontFaces 方法。否则,无法预期行为。
loadFontFaces:completionHandler:
- (void)loadFontFaces:(NSArray <WhiteFontFace >)fontFaces completionHandler:(void (^)(BOOL success, WhiteFontFace *fontFace, NSError * _Nullable error))completionHandler;声明在本地白板中可用的字体并预加载。
参数
| 参数名 | 描述 |
|---|---|
fontFaces | WhiteFontFace 对象 ,详见 WhiteFontFace。 |
completionHandler | 调用结果: |
讨论
2.11.3 调用该方法预加载的字体可以用于显示 PPT 中的文字和工具输入的文字。 该方法和 setupFontFaces 都可以声明在本地白板中可用的字体,区别是 setupFontFaces 没有回调,因为无法判断字体声明是否正确;loadFontFaces 会触发回调,报告每一种的预加载结果。 *Note:**
- 该方法只对本地白板生效,不影响远端白板的字体显示。
- 使用该方法预加载的字体,只有当该字体被使用时,才会触发下载。
- 不同的字体在不同设备上的渲染可能不同,例如,在某些设备上,要等字体加载完成后,才会渲染文字;而在另外一些设备上,会先使用默认的字体渲染文字,等指定的字体加载完毕后,再整体刷新。
- 通过该方法预加载的字体无法删除,每次调用都会在原来的基础上新增。
- 请勿同时调用该方法和 setupFontFaces 方法。否则,无法预期行为。
updateTextFont:
- (void)updateTextFont:(NSArray <NSString >)fonts;设置文字工具在本地白板中使用的字体。
参数
| 参数名 | 描述 |
|---|---|
fonts | 字体名称。如果用户系统中不存在该字体,则文字工具无法使用该字体。请确保你已经调用 setupFontFaces 或 loadFontFaces 将指定字体加载到本地白板中。 |
讨论
2.11.3 *Note:**
- 该方法只对本地白板生效,不影响远端白板的字体显示。
- 该方法只能设置文字工具使用的字体,不能用于 PPT 中的文字显示。
getSlideVolumeWithCompletionHandler:
- (void)getSlideVolumeWithCompletionHandler:(void(^)(CGFloat volume, NSError *error))completionHandler;获取当前 slide 音量
参数
| 参数名 | 描述 |
|---|---|
completionHandler | 调用结果 |
updateSlideVolume:
recoverSlide:slideIndex:
- (void)recoverSlide:(NSString *)slideId slideIndex:(NSInteger)slideIndex;恢复 Slide, 跳转到其他页, RESOURCE_ERROR 和 RUNTIME_ERROR 可以用这种方式恢复
参数
| 参数名 | 描述 |
|---|---|
slideId | 使用错误消息里告知的 slideId |
slideIndex | 指定要跳转到哪一页, 如果想要跳转到下一页可以使用错误消息里告知的报错页码 + 1 |
recoverSlide:
- (void)recoverSlide:(NSString *)slideId;恢复 Slide, RESOURCE_ERROR 可以用这种方式恢复
参数
| 参数名 | 描述 |
|---|---|
slideId | 使用错误消息里告知的 slideId |
setCommonCallbackDelegate:
- (void)setCommonCallbackDelegate:(nullable id<WhiteCommonCallbackDelegate>)callbackDelegate;设置通用回调事件。
SDK 通过 WhiteCommonCallbacks 类向 app 报告 SDK 运行时的各项事件。
参数
| 参数名 | 描述 |
|---|---|
callbackDelegate | 通用回调事件,详见 WhiteCommonCallbackDelegate。 |
setSlideDelegate:
- (void)setSlideDelegate:(nullable id<WhiteSlideDelegate>)slideDelegate;设置 多窗口 Slide 回调事件。
SDK 通过 WhiteSlideDelegate 类处理 Slide 的回调。
参数
| 参数名 | 描述 |
|---|---|
slideDelegate | Slide 回调事件,详见 WhiteSlideDelegate。 |
registerAppWithParams:completionHandler:
- (void)registerAppWithParams:(WhiteRegisterAppParams *)params completionHandler:(void (^)(NSError * _Nullable error))completionHandler;注册自定义App
参数
| 参数名 | 描述 |
|---|---|
params | 注册参数,详见 WhiteRegisterAppParams |
requestSlideLogToFilePath:result:
- (void)requestSlideLogToFilePath:(NSString *)path result:(void(^)(BOOL success, NSError *error))result;将 Slide 日志写入到指定的文件路径。
参数
| 参数名 | 描述 |
|---|---|
path | 将要写入文件的 path ,如果文件不存在,会直接创建。如果已存在,会在文件末尾下继续写入日志。 |
result | 日志写入结果 |
getLocalLogStateWithCompletionHandler:
- (void)getLocalLogStateWithCompletionHandler:(WhiteLocalLogCompletionHandler)completionHandler;获取 WebView 内本地日志状态。
collectLocalLogsWithCompletionHandler:
- (void)collectLocalLogsWithCompletionHandler:(WhiteLocalLogCompletionHandler)completionHandler;收集 WebView 内本地日志。该接口主要用于诊断。
flushLocalLogsWithCompletionHandler:
- (void)flushLocalLogsWithCompletionHandler:(WhiteLocalLogCompletionHandler)completionHandler;将 WebView 内本地日志刷新到持久化存储。
uploadLocalLogsWithCompletionHandler:
- (void)uploadLocalLogsWithCompletionHandler:(WhiteLocalLogCompletionHandler)completionHandler;触发 WebView 内本地日志上传。
reloadBackgroundImage:completionHandler:
- (void)reloadBackgroundImage:(WhiteReloadBackgroundImageParams *)params completionHandler:(WhiteReloadBackgroundImageCompletionHandler)completionHandler;重载当前聚焦场景此前失败的插件背景图;source 填 appliance。accepted 表示接收,reloadedCount 表示触发重载数量,不表示加载成功。
重新加载当前聚焦场景中此前加载失败的背景图片。
hasBackgroundImage:completionHandler:
- (void)hasBackgroundImage:(WhiteHasBackgroundImageParams *)params completionHandler:(WhiteHasBackgroundImageCompletionHandler)completionHandler;按 viewId、scenePath、imageUrl 和 sources 查询插件背景图;当前来源填 appliance。需要启用多窗口和教具插件。
查询指定白板、场景和 URL 是否已有任一来源的背景图。
setParameters:
- (void)setParameters:(NSDictionary *)parameters;动态配置与生命周期
leaveRoomWithCompletionHandler:
- (void)leaveRoomWithCompletionHandler:(void (^_Nullable)(NSError * _Nullable error))completionHandler;等待所属 Room 完成清理;error 为空表示成功。不返回房间全局状态快照。等待完成后再继续入房或销毁宿主。