在线教育平台开发中,教学白板是如何实现的

简介: 教学白板是在线教育平台中不可缺少的功能,它的作用就如线下教室的黑板,讲师通过它进行板书、课件展示等操作。下面小编以iOS版本的在线教育平台开发为例,来说明白板功能是如何实现和调用的。

教学白板是在线教育平台中不可缺少的功能,它的作用就如线下教室的黑板,讲师通过它进行板书、课件展示等操作。下面小编以iOS版本的在线教育平台开发为例,来说明白板功能是如何实现和调用的。
online_4702486_960_720

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版本的在线教育平台开发过程中,教学白板的实现和调用过程。

声明:以上内容为作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任。

相关文章
|
5月前
|
数据采集 前端开发 数据可视化
程序员必知:基于氚云平台的应用开发学习(一)
程序员必知:基于氚云平台的应用开发学习(一)
230 0
|
6月前
|
敏捷开发 算法 安全
如何精准展现C/C++项目亮点:高级工程师面试指南
如何精准展现C/C++项目亮点:高级工程师面试指南
136 1
|
前端开发 JavaScript Java
基于PHP开发的娱乐游戏直播应用系统开发案例
随着移动互联网的普及和高速发展,娱乐游戏直播应用成为当今社交娱乐的重要组成部分。下面给分享东莞梦幻网络科技“娱乐游戏直播应用系统”开发案例。
|
机器学习/深度学习 设计模式 前端开发
《探索中后台设计提效的次时代-短篇》演讲视频 + 文字版
《探索中后台设计提效的次时代-短篇》演讲视频 + 文字版
193 0
|
数据管理
低代码助力网络课程的期未作品开发
作为本课程的任课老师,我认为学生们的在汇报中所展现出的专业素质和实践应用能力让这门课程的意义得到体现。同学们运用低代码自行设计相关应用系统,将理论与实践结合,以低代码技术为实际生活场景赋能,从理论到实践,更好地巩固了所学。
低代码助力网络课程的期未作品开发
|
存储 移动开发 小程序
家校协同小程序实战教程
家校协同小程序实战教程
家校协同小程序实战教程
|
存储 Serverless 程序员
实操教学|如何用Serveless3分钟做好邀请函?
实操教学|如何用Serveless3分钟做好邀请函?
225 0
实操教学|如何用Serveless3分钟做好邀请函?
|
前端开发 算法
【直播预告】从校园学习到职场实践2:前端技术
【直播预告】从校园学习到职场实践2:前端技术
【直播预告】从校园学习到职场实践2:前端技术
|
人工智能 前端开发 机器人
可能是前端同学必备的 2D 游戏化互动入门基础知识
大家一起来学习2D互动最基础的知识。
可能是前端同学必备的 2D 游戏化互动入门基础知识
|
人工智能 移动开发 前端开发
所有前端都要看的2D游戏化互动入门基础知识
在非游戏环境中将游戏的思维和游戏的机制进行整合运用,以引导用户互动和使用
2228 0
所有前端都要看的2D游戏化互动入门基础知识
下一篇
无影云桌面