腾讯云互动白板课件预加载-教育服务解决方案
内容介绍
本文主要介绍如何使用白板课件预加载功能。
平台和版本支持
平台类型 | Android | Windows | iOS | Mac OS | Web |
平台版本 | ✓ | ✓ | 11.4+ | 11.0+ | ✖ |
TEduBoardSDK 版本 | 2.6.9.145+ | 2.6.9.240+ | 2.6.9.92+ | 2.6.9.92+ | ✖ |
TIWCache 版本 | 1.0.0.78+ | ✓ | 1.0.0.72+ | 1.0.0.72+ | ✖ |
说明对于不支持的系统版本,系统平台和互动白板版本,课件加载则正常从公网加载课件。
工作原理
如何使用
1. 文件转码申请打压缩包
在 发起课件转码 的时候需要将 CompressFileType 设置为 zip,在 转码结果 中 CompressFileUrl 字段会生成一个 zip 包 url。发起转码示例(Python):
req = models.CreateTranscodeRequest()params = { "SdkAppId": 1400127140, "CompressFileType": "zip" // 申请转码,并对转码结果进行打zip包 ... // 其他参数}req.from_json_string(json.dumps(params))
resp = client.CreateTranscode(req)
2. 获取课件转码结果
课件转码结果可以通过 主动查询 或者 回调方式 获取。结果示例:
{ "Response": { "TaskId": "0poq8tn4ts23317ta77c", "ResultUrl": "https://whiteboard-cam-test-1257307760.cos.ap-nanjing.myqcloud.com/doc/0poq8tn4ts23317ta77c_tiw/h5/index.html", "CompressFileUrl": "https://whiteboard-cam-test-1257307760.cos.ap-nanjing.myqcloud.com/doc/0poq8tn4ts23317ta77c_tiw/0poq8tn4ts23317ta77c.zip" ... // 其他结果参数 }}
3. 课件本地预加载
3.1 课前使用
课前由于还没有互动白板对象,互动白板 SDK 提供了 TEduBoardResourceController 类来支持课件预加载。Android
// 设置sdkAppId和userIdTEduBoardResourceController.setConfig(sdkAppId, userId);// 加载课件zip包TEduBoardResourceController.loadResource(context, "https://whiteboard-cam-test-1257307760.cos.ap-nanjing.myqcloud.com/doc/0poq8tn4ts23317ta77c_tiw/0poq8tn4ts23317ta77c.zip");
iOS / Mac
TEduBoardResourceConfig *config = [[TEduBoardResourceConfig alloc] init];config.sdkAppId = self.sdkAppId;config.userId = self.userId;[TEduBoardResourceController setConfig:config];[TEduBoardResourceController loadResource:@"https://whiteboard-cam-test-1257307760.cos.ap-nanjing.myqcloud.com/doc/0poq8tn4ts23317ta77c_tiw/0poq8tn4ts23317ta77c.zip"];
Windows
std::string strUserID = strUserID;unsigned int sdkAppid = sdkAppid;SetTeduBoardResourceConfig(sdkAppid, strUserID.c_str());std::string strUrl = "https://whiteboard-cam-test-1257307760.cos.ap-nanjing.myqcloud.com/doc/0poq8tn4ts23317ta77c_tiw/0poq8tn4ts23317ta77c.zip";LoadTeduBoardResource(strUrl.c_str());
3.2 课中使用
直接使用白板对象上的 loadResource 接口进行课件预加载。Android
// 加载课件zip包teduBoardController.loadResource("https://whiteboard-cam-test-1257307760.cos.ap-nanjing.myqcloud.com/doc/0poq8tn4ts23317ta77c_tiw/0poq8tn4ts23317ta77c.zip");
iOS / Mac
[self.boardController loadResource:@"https://whiteboard-cam-test-1257307760.cos.ap-nanjing.myqcloud.com/doc/0poq8tn4ts23317ta77c_tiw/0poq8tn4ts23317ta77c.zip"];
Windows
std::string strUrl = "https://whiteboard-cam-test-1257307760.cos.ap-nanjing.myqcloud.com/doc/0poq8tn4ts23317ta77c_tiw/0poq8tn4ts23317ta77c.zip";LoadTeduBoardResource(strUrl.c_str());
3.3 课件预加载状态回调
Android
TIWCacheManager.getInstance(Context).setListener(new TIWCacheListener() { @Override public void onTIWCacheCoursewareDownloaded(String zipUrl, int errcode, String message) {
}});
iOS / Mac
[[TIWCacheManager shareInstance] setDelegate:delegate];// override 回调方法- (void)onTIWCacheCoursewareDownloaded:(NSString *)zipUrl errorCode:(uint32_t)errcode message:(NSString *)message;
4. 互动白板中添加转码文件
完成以上3步后,只需要调用 addTranscodeFile 接口将转码后的结果添加到白板中,即可使用课件从本地加载的能力。
// 1. 具体的参数请以第2步查询的结果为准。// 2. addTranscodeFile 接口使用方式请参考各个平台提供的接口为准。teduBoard.addTranscodeFile({ pages: Pages, resolution: Resolution, title: Title, url: ResultUrl})
注意事项
1. 在互动白板转码控制台上进行文档转码的存储桶配置,不能直接使用互动白板默认的公共存储桶。2. 课件预加载的暂只支持以 zip 格式的课件,所以在发起转码的时候需要将 CompressFileType 设置为 zip。3. 课件预加载的 zip 包课件只在本地设备上保留7天,7天过后互动白板将在本地缓存中清除 zip 包课件。4. iOS/Android 对同一个课件进行预加载,只会预加载一次。例如:本地设备缓存中已经存在 CompressFileUrl 参数对应的课件A,当使用相同的CompressFileUrl 参数再次调用loadResource 去加载课件A时,会直接跳过。5. Windows 对同一个课件进行预加载,会覆盖缓存中相同的课件。例如: 本地设备缓存中已经存在由 CompressFileUrl 参数指定的课件B,当使用相同的CompressFileUrl 参数再次调用 LoadTeduBoardResource 去加载课件B时,会覆盖缓存中的课件B。
腾讯云官网1折活动,限时活动,即将结束,速速收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
发表评论