com.herewhite.sdk.WhiteSdk class 参考
适用版本:Whiteboard Android SDK 2.16.134。
WhiteSdk 类。
属性与 JSON 字段
Java 非公开字段通过对应 getter/setter 访问;可选包装类型未设置时通常不写入 JSON。初值包含字段声明及无参构造中的直接赋值;其他构造参数以签名为准。
| 字段 | 声明 | 源码初值 | 说明 |
|---|---|---|---|
| audioMixerImplement | AudioMixerImplement audioMixerImplement | 未显式赋值 | 模型属性;通过对应 getter/setter 访问。 |
| audioEffectImplement | AudioEffectImplement audioEffectImplement | 未显式赋值 | 模型属性;通过对应 getter/setter 访问。 |
| slideListener | SlideListener slideListener | 未显式赋值 | 模型属性;通过对应 getter/setter 访问。 |
| 公开成员签名 | |
| WhiteSdk (JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration) | |
| WhiteSdk (JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration, CommonCallback commonCallback) | |
| WhiteSdk (JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration, UrlInterrupter urlInterrupter) | |
| WhiteSdk (JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration, CommonCallback commonCallback, AudioMixerBridge audioMixerBridge) | |
| WhiteSdk (JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration, CommonCallback commonCallback, AudioMixerBridge audioMixerBridge, AudioEffectBridge audioEffectBridge) | |
| String | Version () |
| void | setAudioMixerBridge (AudioMixerBridge audioMixerBridge) |
| void | setAudioEffectBridge (AudioEffectBridge audioEffectBridge) |
| void | setCommonCallbacks (CommonCallback commonCallback) |
| AudioMixerImplement | getAudioMixerImplement () |
| AudioEffectImplement | getAudioEffectImplement () |
| void | joinRoom (RoomParams roomParams, Promise<Room> roomPromise) |
| void | joinRoom (RoomParams roomParams, RoomListener roomListener, Promise<Room> roomPromise) |
| void | createPlayer (PlayerConfiguration playerConfiguration, Promise<Player> playerPromise) |
| void | createPlayer (PlayerConfiguration playerConfiguration, PlayerListener listener, Promise<Player> playerPromise) |
| void | isPlayable (PlayerConfiguration playerConfiguration, Promise<Boolean> playablePromise) |
| void | setupFontFaces (FontFace[] fontFaces) |
| void | loadFontFaces (FontFace[] fontFaces, Promise<JSONObject> loadPromise) |
| void | registerApp (WindowRegisterAppParams params, Promise<Boolean> registerPromise) |
| void | getLocalLogState (Promise<JSONObject> promise) |
| void | collectLocalLogs (Promise<JSONObject> promise) |
| void | flushLocalLogs (Promise<JSONObject> promise) |
| void | uploadLocalLogs (Promise<JSONObject> promise) |
| void | reloadBackgroundImage (ReloadBackgroundImageParams params, Promise<ReloadBackgroundImageResult> promise) |
| void | hasBackgroundImage (HasBackgroundImageParams params, Promise<Boolean> promise) |
| void | updateTextFont (String[] names) |
| void | releaseRoom () |
| void | releaseRoom (String uuid) |
| void | releasePlayer () |
| void | releasePlayer (String uuid) |
| void | requestSlideLog (File logFile, Promise<Boolean> promise) |
| void | updateSlideVolume (float volume) |
| void | getSlideVolume (Promise<Double> promise) |
| void | setSlideListener (SlideListener slideListener) |
| void | setUnifiedPageStateListener (UnifiedPageStateListener listener) |
| void | recoverSlide (String slideId, int slideIndex) |
| void | recoverSlide (String slideId) |
| void | prepareWhiteConnection (Context context, ConnectionPrepareParam param) |
| void | reportNativeLog (String[] logs) |
| leaveRoom | public void leaveRoom(Promise<Object> promise) |
变量说明
audioMixerImplement
AudioMixerImplement audioMixerImplement
模型属性;通过对应 getter/setter 访问。
audioEffectImplement
AudioEffectImplement audioEffectImplement
模型属性;通过对应 getter/setter 访问。
slideListener
SlideListener slideListener
模型属性;通过对应 getter/setter 访问。
函数说明
WhiteSdk()
| WhiteSdk(JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration) |
初始化白板 SDK 实例。
请确保在调用其他 API 前先调用 WhiteSdk 创建并初始化白板 SDK 实例。
参数
| 参数名 | 描述 |
|---|---|
bridge | 白板界面,详见 WhiteboardView。 |
context | 安卓活动 (Android Activity) 的上下文。 |
whiteSdkConfiguration | SDK 实例的配置,详见 WhiteSdkConfiguration。 |
WhiteSdk()
| WhiteSdk(JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration, CommonCallback commonCallback) |
初始化白板 SDK 实例。
请确保在调用其他 API 前先调用 WhiteSdk 创建并初始化白板 SDK 实例。
参数
| 参数名 | 描述 |
|---|---|
bridge | 白板界面,详见 WhiteboardView。 |
context | 安卓活动 (Android Activity) 的上下文。 |
whiteSdkConfiguration | SDK 实例的配置,详见 WhiteSdkConfiguration。 |
commonCallback | 通用事件回调,详见 CommonCallback。 |
WhiteSdk()
| WhiteSdk(JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration, UrlInterrupter urlInterrupter) |
初始化白板 SDK 实例。
请确保在调用其他 API 前先调用 WhiteSdk 创建并初始化白板 SDK 实例。
- 弃用:
- 该参数已废弃。请改用
CommonCallbacks接口中的urlInterrupter方法。
参数
| 参数名 | 描述 |
|---|---|
bridge | 白板界面,详见 WhiteboardView。 |
context | 安卓活动 (Android Activity) 的上下文。 |
whiteSdkConfiguration | SDK 实例的配置,详见 WhiteSdkConfiguration。 |
urlInterrupter | 图片 URL 拦截设置,详见 UrlInterrupter。 |
WhiteSdk()
| WhiteSdk(JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration, CommonCallback commonCallback, AudioMixerBridge audioMixerBridge) |
初始化白板 SDK 实例。
请确保在调用其他 API 前先调用 WhiteSdk 创建并初始化白板 SDK 实例。
参数
| 参数名 | 描述 |
|---|---|
bridge | 白板界面,详见 WhiteboardView。 |
context | 安卓活动 (Android Activity) 的上下文。 |
whiteSdkConfiguration | SDK 实例的配置,详见 WhiteSdkConfiguration。 |
commonCallback | 通用事件回调,详见 CommonCallback。 |
audioMixerBridge | 混音设置,详见 AudioMixerBridge。当你同时使用 Agora RTC SDK 和互动白板 SDK, 且白板中展示的动态 PPT 中包含音频文件时,你可以调用 AudioMixerBridge 接口,将动态 PPT 中的所有音频交给 Agora RTC SDK 进行混音播放。 |
WhiteSdk()
| WhiteSdk(JsBridgeInterface bridge, Context context, WhiteSdkConfiguration whiteSdkConfiguration, CommonCallback commonCallback, AudioMixerBridge audioMixerBridge, AudioEffectBridge audioEffectBridge) |
初始化白板 SDK 实例。
<p>
请确保在调用其他 API 前先调用 WhiteSdk 创建并初始化白板 SDK 实例。
参数
参数
| 参数名 | 描述 |
|---|---|
bridge | 白板界面,详见 WhiteboardView。 |
context | 安卓活动 (Android Activity) 的上下文。 |
whiteSdkConfiguration | SDK 实例的配置,详见 WhiteSdkConfiguration。 |
commonCallback | 通用事件回调,详见 CommonCallback。 |
audioMixerBridge | 混音设置,详见 AudioMixerBridge。当你同时使用 Agora RTC SDK 和互动白板 SDK, 且白板中展示的动态 PPT 中包含音频文件时,你可以调用 AudioMixerBridge 接口,将动态 PPT 中的所有音频交给 Agora RTC SDK 进行混音播放。 |
Version()
setAudioMixerBridge()
| static void setAudioMixerBridge(AudioMixerBridge audioMixerBridge) |
setAudioMixerBridge:com.herewhite.sdk.WhiteSdk 的公开成员。参数和返回类型见下方签名。
setAudioEffectBridge()
| static void setAudioEffectBridge(AudioEffectBridge audioEffectBridge) |
setAudioEffectBridge:com.herewhite.sdk.WhiteSdk 的公开成员。参数和返回类型见下方签名。
setCommonCallbacks()
| void setCommonCallbacks(CommonCallback commonCallback) |
设置通用事件回调。
SDK 通过 CommonCallback 类向 app 报告 SDK 运行时的各项事件。
参数
| 参数名 | 描述 |
|---|---|
commonCallback | 通用回调事件,详见 CommonCallback |
getAudioMixerImplement()
getAudioEffectImplement()
| AudioEffectImplement getAudioEffectImplement() |
获取 AudioEffectImplement 实例。
此实例用于接收音效相关的回调。
返回值
joinRoom()
| void joinRoom(RoomParams roomParams, Promise<Room> roomPromise) |
加入互动白板实时房间。
参数
| 参数名 | 描述 |
|---|---|
roomParams | 互动白板实时房间的参数配置,详见 RoomParams。 |
roomPromise |
joinRoom()
| void joinRoom(RoomParams roomParams, RoomListener roomListener, Promise<Room> roomPromise) |
加入互动白板实时房间。
参数
| 参数名 | 描述 |
|---|---|
roomParams | 互动白板实时房间的参数配置,详见 RoomParams。 |
roomListener | 房间事件回调,详见 RoomListener。在重连时,如果不传 roomListener 参数,则会使用上一次设置的 roomListener。如果要释放 roomListener,可以调用 releaseRoom。 |
roomPromise |
createPlayer()
| void createPlayer(PlayerConfiguration playerConfiguration, Promise<Player> playerPromise) |
创建互动白板回放房间。
参数
| 参数名 | 描述 |
|---|---|
playerConfiguration | 白板回放的参数配置,详见 PlayerConfiguration。 |
playerPromise |
createPlayer()
| void createPlayer(PlayerConfiguration playerConfiguration, PlayerListener listener, Promise<Player> playerPromise) |
创建互动白板回放房间。
参数
| 参数名 | 描述 |
|---|---|
playerConfiguration | 白板回放的参数配置,详见 PlayerConfiguration。 |
listener | 白板回放事件的回调,详见 PlayerListener。 |
playerPromise |
isPlayable()
| void isPlayable(PlayerConfiguration playerConfiguration, Promise<Boolean> playablePromise) |
查看房间是否有回放数据。
参数
| 参数名 | 描述 |
|---|---|
playerConfiguration | 白板回放的参数配置,详见 PlayerConfiguration。 |
playablePromise | Promise<Boolean> 接口实例,详见 Promise。你可以通过该接口获取 isPlayable 的调用结果:
|
setupFontFaces()
| void setupFontFaces(FontFace[] fontFaces) |
声明在本地白板中可用的字体。
调用该方法声明的字体可用于显示 PPT 中的文字和白板工具输入的文字。
该方法和 loadFontFaces 都可以声明在本地白板中可用的字体,区别是 setupFontFaces 没有回调,因为无法判断字体声明是否正确;loadFontFaces 会触发回调,报告每一种的预加载结果。
- 通过该方法声明的字体,只有当被使用时,才会触发下载。
- 不同的字体在不同设备上的渲染可能不同,例如,在某些设备上,要等字体加载完成后,才会渲染文字;而在另外一些设备上,会先使用默认的字体渲染文字,等指定的字体加载完毕后,再整体刷新。
- 每次调用该方法都会覆盖原来的字体声明。
- 请勿同时调用该方法和
loadFontFaces方法。否则,无法预期行为。
参数
| 参数名 | 描述 |
|---|---|
fontFaces | FontFace 实例,详见 FontFace。 |
loadFontFaces()
| void loadFontFaces(FontFace[] fontFaces, Promise<JSONObject> loadPromise) |
声明并预加载在本地白板中可用的字体。
调用该方法预加载的字体可以用于显示 PPT 中的文字和白板工具输入的文字。
该方法和 setupFontFaces 都可以声明在本地白板中可用的字体,区别是 setupFontFaces 没有回调,因为无法判断字体声明是否正确;loadFontFaces 会触发回调,报告每一种的预加载结果。
- 该方法只对本地白板生效,不影响远端白板的字体显示。
- 使用该方法预加载的字体,只有当该字体被使用时,才会触发下载。
- 不同的字体在不同设备上的渲染可能不同,例如,在某些设备上,要等字体加载完成后,才会渲染文字;而在另外一些设备上,会先使用默认的字体渲染文字,等指定的字体加载完毕后,再整体刷新。
- 通过该方法预加载的字体无法删除,每次调用都会在原来的基础上新增。
- 请勿同时调用该方法和
setupFontFaces方法。否则,无法预期行为。
参数
| 参数名 | 描述 |
|---|---|
fontFaces | 指定的字体,详见 FontFace。 |
loadPromise | Promise<JSONObject> 接口实例,详见 Promise。你可以通过该接口获取 loadFontFaces 的调用结果:
|
registerApp()
| void registerApp(WindowRegisterAppParams params, Promise<Boolean> registerPromise) |
在添加自定义 App 前注册 App,kind 必须一致。URL 注册或 JS 字符串注册参数见 WindowRegisterAppParams。
getLocalLogState()
| void getLocalLogState(Promise<JSONObject> promise) |
查询 WebView 内本地日志运行状态,异步返回 JSON 对象。
collectLocalLogs()
| void collectLocalLogs(Promise<JSONObject> promise) |
收集本地诊断日志,异步返回 JSON 对象;需要初始化时显式开启本地日志。
flushLocalLogs()
| void flushLocalLogs(Promise<JSONObject> promise) |
将 WebView 内本地日志刷新到持久化存储,异步返回 JSON 对象。
uploadLocalLogs()
| void uploadLocalLogs(Promise<JSONObject> promise) |
触发本地日志上传;enabled 与 enabledUpload 均需启用,结果通过异步 JSON 和日志状态事件观察。
reloadBackgroundImage()
| void reloadBackgroundImage(ReloadBackgroundImageParams params, Promise<ReloadBackgroundImageResult> promise) |
重新加载当前聚焦场景此前失败的 Appliance Plugin 背景图。参数包含 source="appliance"、viewId 和可选 scenePath/url;返回 accepted/reloadedCount/可选 reason,accepted 不表示图片已加载成功。需要同时开启 useMultiViews 和 enableAppliancePlugin。
hasBackgroundImage()
| void hasBackgroundImage(HasBackgroundImageParams params, Promise<Boolean> promise) |
按 viewId、scenePath、imageUrl 及 sources 查询 Appliance Plugin 管理的背景图,sources 填写 ["appliance"],返回布尔值。需要同时开启 useMultiViews 和 enableAppliancePlugin。
updateTextFont()
| void updateTextFont(String[] names) |
设置文字白板工具在本地白板中使用的字体。
- 该方法只对本地白板生效,不影响远端白板的字体显示。
- 该方法只能设置文字白板工具使用的字体,不能用于 PPT 中的文字显示。
参数
| 参数名 | 描述 |
|---|---|
names | 字体名称。如果用户系统中不存在该字体,则文字白板工具无法使用该字体。请确保你已经调用 setupFontFaces 或 loadFontFaces 将指定字体加载到本地白板中。 |
releaseRoom()
| void releaseRoom() |
释放 Native 房间实例和监听资源;业务侧应先调用 disconnect 并处理完成,再释放。
releaseRoom()
| void releaseRoom(String uuid) |
释放 Native 房间实例和监听资源;业务侧应先调用 disconnect 并处理完成,再释放。
releasePlayer()
| void releasePlayer() |
释放 Native 回放实例和监听资源。
releasePlayer()
| void releasePlayer(String uuid) |
释放 Native 回放实例和监听资源。
requestSlideLog()
| void requestSlideLog(File logFile, Promise<Boolean> promise) |
请求 Slide 的日志。
参数
| 参数名 | 描述 |
|---|---|
logFile | 用于存储 Slide 日志的日志文件。 |
promise | 请求调用回调结果。 |
updateSlideVolume()
getSlideVolume()
| void getSlideVolume(Promise<Double> promise) |
获取当前 PPT 的音量。
参数
| 参数名 | 描述 |
|---|---|
promise | 方法调用结果,包含 volume 和 error 两个字段:
|
setSlideListener()
| void setSlideListener(SlideListener slideListener) |
设置 SlideApp 回调。 SlideApp 通过 SlideListener 类向 app 报告内部运行时的各项事件。
参数
| 参数名 | 描述 |
|---|---|
slideListener | 通用回调事件,详见 SlideListener。 |
setUnifiedPageStateListener()
| void setUnifiedPageStateListener(UnifiedPageStateListener listener) |
设置或移除统一页状态监听器,接收实际页码/倍率观察与异步命令失败;传 null 移除监听。
recoverSlide()
| void recoverSlide(String slideId, int slideIndex) |
恢复 Slide
参数
参数
| 参数名 | 描述 |
|---|---|
slideId | 使用错误消息里告知的 slideId |
slideIndex | 指定要跳转到哪一页, 如果想要跳转到下一页可以使用错误消息里告知的报错页码 + 1 |
recoverSlide()
| void recoverSlide(String slideId) |
恢复指定 PPT 的渲染状态。
如果 PPT 渲染失败,你可以调用该方法恢复 PPT 的渲染状态。
参数
| 参数名 | 描述 |
|---|---|
slideId | PPT ID。 |
prepareWhiteConnection()
| static void prepareWhiteConnection(Context context, ConnectionPrepareParam param) |
提前选择线路以加快首次加入白板房间时的连接速度。
声网建议在加入白板房间前调用该方法,例如设备检测页、白板房间列表页等,有助于提升加入白板房间的连接速度。
参数
| 参数名 | 描述 |
|---|---|
context | 安卓活动 (Android Activity) 的上下文。 |
param | 白板预连接参数,详见 ConnectionPrepareParam。 |
reportNativeLog()
| void reportNativeLog(String[] logs) |
reportNativeLog:com.herewhite.sdk.WhiteSdk 的公开成员。参数和返回类型见下方签名。
公开成员函数
leaveRoom
public void leaveRoom(Promise<Object> promise)
异步退出当前宿主所属 Room。成功的 Object 仅为完成通知,不包含房间状态或可读取的 closed 字段;失败调用 catchEx。退出完成后再释放资源或继续下一次入房。