在线教育平台开发中,教学白板是如何实现的
教学白板是在线教育平台中不可缺少的功能,它的作用就如线下教室的黑板,讲师通过它进行板书、课件展示等操作。下面小编以iOS版本的在线教育平台开发为例,来说明白板功能是如何实现和调用的。
1、向服务器获取对应 room uuid 所需要的房间 roomToken,实际使用中,这步可以放在服务端。
{ [WhiteUtils getRoomTokenWithUuid:self.roomUuid completionHandler:^(NSString * _Nullable roomToken, NSError * _Nullable error) { if (roomToken) { self.roomToken = roomToken; //获取到token之后加入房间 [self joinRoomWithToken:roomToken]; } else { UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"获取 RoomToken 失败", nil) message:[NSString stringWithFormat:@"错误信息:%@", [error description]] preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *action = [UIAlertAction actionWithTitle:NSLocalizedString(@"确定", nil) style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { [self.navigationController popViewControllerAnimated:YES]; }]; [alertVC addAction:action]; [self presentViewController:alertVC animated:YES completion:nil]; } }]; }
2、加入白板房间
{ //配置头像,可以在操作的白板的时候展示头像 NSDictionary *payload = @{@"avatar": [Config getavatarThumb]}; WhiteRoomConfig *roomConfig = [[WhiteRoomConfig alloc] initWithUuid:self.roomUuid roomToken:roomToken userPayload:payload]; // * isWritable 默认为 yes,此处为了单元测试用 roomConfig.isWritable = YES; // 配置,橡皮擦是否能删除图片。默认为 false,能够删除图片。 // roomConfig.disableEraseImage = YES; [self.sdk joinRoomWithConfig:roomConfig callbacks:nil completionHandler:^(BOOL success, WhiteRoom * _Nonnull room, NSError * _Nonnull error) { if (success) { self.roomToken = roomToken; self.room = room; isDisableTeachingAids = YES; //禁止用户的教具操作 ture为禁止 [_room disableDeviceInputs:YES]; } else { self.title = NSLocalizedString(@"加入失败", nil); UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:NSLocalizedString(@"加入房间失败", nil) message:[NSString stringWithFormat:@"错误信息:%@", [error localizedDescription]] preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *action = [UIAlertAction actionWithTitle:NSLocalizedString(@"确定", nil) style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { [self.navigationController popViewControllerAnimated:YES]; }]; [alertVC addAction:action]; [self presentViewController:alertVC animated:YES completion:nil]; } }]; }
3、教具的使用操作
/* WhiteApplianceNameKey const AppliancePencil = @"pencil"; WhiteApplianceNameKey const ApplianceSelector = @"selector"; WhiteApplianceNameKey const ApplianceText = @"text"; WhiteApplianceNameKey const ApplianceEllipse = @"ellipse"; WhiteApplianceNameKey const ApplianceRectangle = @"rectangle"; WhiteApplianceNameKey const ApplianceEraser = @"eraser"; */ currentmState.currentApplianceName = AppliancePencil; //颜色可以自定义 currentmState.strokeColor = [UIColor redColor]; //画线宽度可以自定义 currentmState.strokeWidth = 10; [self.room setMemberState:currentmState];
4、退出房间
以上就是iOS版本的在线教育平台开发过程中,教学白板的实现和调用过程。
声明:以上内容为作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何选择适合你的企业数据管理类产品
前言:更多关于数智化转型、数据中台内容可扫码加群一起探讨阿里云数据中台官网 https://dp.alibaba.com/index 作者:阿里云数据中台 导读:数据工程研发的历史是可以追溯到上世纪八十年代的数据库和数据仓库理论,随后一大批的数据管理服务厂商开始崛起。数仓发展30年,到了数智化的新时代下,我们又该用什么视角来为自己选择一款适合时代发展的产品呢? 细数数仓30年发展史 数据库与数仓的老牌产品供应商 数据工程研发的历史是可以追溯到上世纪八十年代的数据库和数据仓库理论,随后一大批的数据管理服务厂商开始崛起,其中 Oracle、Informatica 两家非常有代表性,在行业中身居统治地位。 OracleOracle 的数据库在云计算逐步铺开、去IOE声浪逐步扩大的趋势中开始式微,以及各类新兴的非接口化存储,如ElasticSe
- 下一篇
美国加州发生5.5级地震,物联网技术如何提前预警?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 据美国地质勘探局网站消息,北京时间4日9时32分,美国加利福尼亚州莫哈韦沙漠地区发生5.5级地震,震源深度6.8千米。 据了解,本次地震震中200公里的范围内,有四座大中型城市,其中距离比较近的是贝克斯菲尔德。 而在2019年10月,加州发布了一款地震预警应用程序,并鼓励所有居民下载它作为预防措施。“全州都有地震风险,”该应用程序网站的页面上写道。“如果地震级别足够大,能量传播的范围将远远超出大多数人的想象。” 该地震预警应用程序名为“MyShake”。通过该APP,用户可以在附近地震引起的地面开始摇晃之前,提供潜在的拯救生命的警告秒数,以便有足够的时间来逃跑、掩护和坚持,以帮助防止受伤。 “通过该系统发出的警告基于美国地质调查局(US Geological Survey)运行的名为ShakeAlert的计算机化程序,该程序分析加州地震台网的数据,计算初步震级,然后估计哪些地区会感觉到摇晃。”MyShake研发人员说道。 这款应用程序在发布前进行了测试,而当时旧金山地区和加州中部发生了两...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Linux系统CentOS6、CentOS7手动修改IP地址
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装