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

简介: 教学白板是在线教育平台中不可缺少的功能,它的作用就如线下教室的黑板,讲师通过它进行板书、课件展示等操作。下面小编以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版本的在线教育平台开发过程中,教学白板的实现和调用过程。

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

相关文章
|
9月前
|
机器学习/深度学习 人工智能 搜索推荐
Codewave学习体验分享:低代码开发世界的黑马
Codewave学习体验分享:低代码开发世界的黑马
|
7天前
|
自然语言处理 算法 安全
语音直播交友系统出海:语音直播交友系统软件源码搭建国际化发展技术层面分析
随着移动互联网普及和全球社交需求增长,语音直播软件出海成为潜力巨大的业务领域。关键技术包括:实时语音传输(RTC)、音频处理、分布式服务器架构、云服务集成、智能推荐算法、内容审核、数据加密、身份验证及多语言支持等。通过这些技术的创新与优化,确保低延迟、高稳定性和个性化体验,满足不同国家和地区的法律法规及文化需求,助力语音直播平台在国际市场成功推广并搭建合作。
|
2月前
|
人工智能 机器人 Serverless
云端问8期-实践教学
云端问8期-实践教学
|
5月前
|
API 云计算 开发者
使用宜搭平台带来的便利:技术解析与实践
【9月更文第8天】随着企业信息化建设的不断深入,业务流程自动化的需求日益增长。宜搭平台作为一种高效的应用构建工具,为企业提供了快速搭建各类业务系统的可能。本文将探讨使用宜搭平台给企业和开发者带来的便利,并通过具体的代码示例展示其优势。
166 11
|
6月前
|
算法
互动游戏解决遇到问题之开发同学是如何实现小鸡移动的
互动游戏解决遇到问题之开发同学是如何实现小鸡移动的
|
7月前
|
图形学 开发者
U3D小游戏开发实战:构建趣味互动体验的全面指南
【7月更文第13天】Unity 3D(U3D)作为业界领先的跨平台游戏开发引擎,以其强大的功能和灵活性,成为无数开发者打造创意小游戏的理想选择。本文将深入探讨如何利用U3D构建一款既有趣又互动的小游戏项目,从概念设计到实现细节,涵盖基础设置、核心逻辑编码、以及优化技巧,旨在为开发者提供一套实战性极强的开发流程指南。
345 0
|
9月前
|
小程序 开发者 容器
探索多端与小程序的应用创新——产品面对面系列直播第二期
探索多端与小程序的应用创新——产品面对面系列直播第二期
176 11
|
编解码 运维 安全
直播系统源码,系统分析篇:不可或缺的云转码系统
云转码系统作为直播系统源码平台不可或缺的系统之一,它的根据不同设备终端与网络状况等因素变换质量,让平台用户能够在不同的时间和地点享受到高清、低延迟的优质体验,并且可以在多种场景中起到关键的作用,云转码系统使直播系统源码平台具有广泛的应用前景和价值。
直播系统源码,系统分析篇:不可或缺的云转码系统
|
人工智能 人机交互 vr&ar
元宇宙系统开发简述:打造沉浸式虚拟体验
元宇宙系统开发简述:打造沉浸式虚拟体验
重拾梦想!语音交友源码平台搭建技术知识:在线KTV功能的实现
随着网络的快速发展,语音交友源码平台的新型功能将我们儿时的歌手梦托起,这个功能就是语音交友源码平台的在线KTV功能,对于开发语音交友平台的公司和个人来说,这个功能是非常重要的,下面我就详细为大家讲解语音交友源码平台搭建技术:在线KTV功能的实现!
重拾梦想!语音交友源码平台搭建技术知识:在线KTV功能的实现