展示文件
声网 Fastboard SDK 支持在白板中插入和展示多种形式的文件,例如图片、音视频和文档,帮助用户快速分享丰富多元的信息,创造沉浸式的互动体验。
本文介绍如何调用 Fastboard SDK 的 API 插入图片、演示文档和播放音视频。
插入图片
声网 Fastboard SDK 提供 insertImage
方法,用于在白板主窗口中插入并展示图片。你只需调用该方法,并传入图片的 URL、宽和高,即可在白板上展示指定图片。
开始前,请确保满足以下条件:
- 在项目中集成声网 Fastboard SDK 并加入房间。详见加入白板房间。
- 准备好图片的 URL 地址并确保 App 客户端能够访问该 URL,否则图片无法正常展示。
- 确保图片的格式为 PNG、JPG/JPEG 或 WEBP。
下面在加入白板房间的示例项目基础上添加代码,展示如何在白板中插入一张图片。
-
用如下代码替换
MainActivity
文件中的fastRoom.join()
:Kotlin// 加入房间
fastRoom.join { room ->
// 调用 insertImage 并传入图片的 URL,宽和高
room.insertImage("https://test.com/cloud-storage//ebxxxeda.png", 512, 512)
} -
运行项目。App 重启后,可以在白板页面看到插入的图片。
目前 Fastboard SDK 没有为插入图片功能提供 UI,你需要自行实现。
播放音视频
声网 Fastboard SDK 集成了内置插件 MediaPlayer,用于播放音视频文件。你只需调用 Fastboard SDK 的 insertVideo
方法,传入音视频文件的 URL 地址和窗口标题,即可在白板子窗口中播放音视频。
开始前,请确保满足以下条件:
- 在项目中集成声网 Fastboard SDK 并加入房间。详见加入白板房间。
- 准备好音频或视频文件的 URL 地址并请确保 App 客户端能够访问该 URL,否则音视频文件无法播放。
- 确保音视频文件的格式为 MP3 或 MP4。
下面在加入白板房间的示例项目基础上添加代码,展示如何在白板中插入并播放音视频文件。
-
用如下代码替换
MainActivity
文件中的fastRoom.join()
:KotlinfastRoom.join { room ->
// 调用 insertVideo 并传入音视频文件的 url 和子窗口标题
room.insertVideo("https://test.com/cloud-storage/55xxx37.mp4", "test1.mp4")
} -
运行项目。App 重启后,可以在白板页面上看到名为 test1.mp4 的子窗口,点击开始按钮,即可播放视频。
目前 Fastboard SDK 没有为插入音视频功能提供 UI,你需要自行实现。
演示文档
声网 Fastboard SDK 集成了内置插件 DocsViewer,用于展示文档。成功使用声网文档转服务完成文档转换后,只需调用 Fastboard SDK 的 insertDocs
方法,并传入文档转换任务的 Task UUID 和 Task Token 等信息,即可在白板子窗口中分页演示文档。
开始前,请确保满足以下条件:
具体实现步骤如下:
- 将源文件上传至第三方云存储,调用发起文档转换,创建一个文档转换任务。请求成功后,声网服务端会在响应包体中返回
uuid
,即文档转换任务的 Task UUID。 - 调用生成 Task Token 并在请求路径中传入
uuid
,为文档转换任务生成一个 Task Token。 - 加入白板房间后,调用
insertDocs
方法,并通过该方法的params
参数传入如下信息:taskUUID
:String。文档转换任务的 Task UUID。taskToken
:String。文档转换任务的 Task Token。fileType
:String。文档类型。pdf
表示静态文档;pptx
表示动态文档。title
:String。窗口标题。
下面在加入白板房间的示例项目基础上添加代码,展示如何插入并展示一个带动画效果的 PPTX 文件。
-
成功发起并完成了动态文档转换,获取了转换任务的 Task UUID 和 Task Token。
-
用如下代码替换
MainActivity
文件中的fastRoom.join()
:
// 加入房间
fastRoom.join { room ->
// 文档的参数设置
val params = FastInsertDocParams("Task UUID", "Task Token", "pptx", "演示文档")
// 调用 insertDocs 插入文档,并监听插入文档结果回调
room.insertDocs(
params,
object : FastResult<String> {
override fun onSuccess(value: String) {}
override fun onError(exception: Exception?) {}
}
)
}
-
运行项目。App 重启后,可以在白板页面上看到名为演示文档的子窗口,点击切页箭头,即可分页演示文档。
目前 Fastboard SDK 没有为演示文档功能提供 UI,你需要自行实现。