现如今,随着互联网技术的高速发展,线上教学也非常火热,而电子白板和课件功能便是是在线教学系统中的必备功能,本文就介绍如何基于OMCS快速实现电子白板的基础功能,以及课件功能:上传课件、打开课件、课件翻页、课件同步、删除课件等高级功能。

本文的应用场景是这样的: 一个老师和N个学生进入同一个教室,所以,它们将看到同一个电子白板。而老师角色与学生角色的区别在于老师有特殊的白板权限,这些权限包括:上传课件、打开课件、删除课件,在白板上绘图、标注、翻页等等。

一.服务端

服务端直接将 OMCS.Boost 提供的OMCS.Server项目源码搬过来,不用作任何修改。

二.客户端

1. 实现课件到图片的转换

白板课件最常见的类型为:word、pdf、ppt文档。所以,首先,我们需要实现IImageConverter接口,将pdf、ppt、word文档转换成图片。与之对应,我们设计了三个类:Word2ImageConverter、Pdf2ImageConverter、Ppt2ImageConverter。关于它们的具体实现代码可在Demo的源码中查看。

然后,我们要实现IImageConverterFactory工厂接口:

public class ImageConverterFactory : IImageConverterFactory

{ public IImageConverter CreateImageConverter(string extendName)

{ if (extendName == ".doc" || extendName == ".docx")

{ return new Word2ImageConverter();

} if (extendName == ".pdf")

{ return new Pdf2ImageConverter();

} if (extendName == ".ppt" || extendName == ".pptx")

{ return new Ppt2ImageConverter();

} return null;

} public bool Support(string extendName)

{

return extendName == ".doc" || extendName == ".docx" || extendName == ".pdf" || extendName == ".ppt" || extendName == ".pptx";

}

}

然后,在程序启动时,将工厂注入到OMCS的多媒体管理器(IMultimediaManager)中:

IMultimediaManager multimediaManager = MultimediaManagerFactory.GetSingleton();

multimediaManager.ImageConverterFactory = new ImageConverterFactory();

// 图片转换器工厂,供OMCS内部将课件转换成图片的过程中使用。

2.登录时区分角色:老师、学生

客户端登录界面设计如下所示:

根据选定角色的不同,进入白板时,所拥有的权限不一样,主要体现在白板连接器的两个属性设置上:

public WhiteBoardForm(string classRid, bool isTeacher )

{

InitializeComponent();

this.classRoomID = classRid;

this.whiteBoardConnector1.IsManager = isTeacher;

this.whiteBoardConnector1.WatchingOnly = !isTeacher;

this.Text = string.Format("正在访问{0}的电子白板" ,this.classRoomID);

this.whiteBoardConnector1.ConnectEnded += new CbGeneric(whiteBoardConnector1_ConnectEnded);

this.whiteBoardConnector1.BeginConnect(this.classRoomID);

}

IsManager 属性用于控制是否有权限上传课件、打开课件、删除课件等。

WatchingOnly 属性用于控制用户是否可以在白板上绘制图像等操作。

在本Demo中,我们这样设定的效果是,老师可以操作课件,并且可以在白板上绘图、书写等,但是学生只能观看白板,不能进行任何操作。

三.下载

源码:OMCS.Demos.WhiteBoardTest.rar

运行系统进行测试时,请注意:

(1)启动OMCS服务端。

(2)启动第一个客户端,选择“老师”角色,登录进默认教室。

(3)再启动多个客户端,选择“学生”角色,登录进默认教室。

(4)老师即可进行上传课件、打开课件、删除课件、课件翻页,在课件上标注、书写,等等操作。

老师端界面如下所示:

【推荐课程:C#视频教程】

php在线白板,C#实现网络电子白板、课件功能 (在线教学系统)相关推荐

  1. 全能在线APP一款开源的多功能在线学习考试智慧软件系统

    昆明瀚云科技有限责任公司 http://www.hanyunintel.com/html/Exam.html# https://itunes.apple.com/cn/app//id140664928 ...

  2. ioDraw - 超好用的在线白板,能够手绘各种流程图、架构图

    今天,推荐给大家的是一款超级好用的在线绘图工具,ioDraw在线白板. 关于 "ioDraw在线白板" 一款非常轻量的在线白板工具,可以直接在浏览器打开,轻松绘制具有手绘风格的图形 ...

  3. 在线教学系统:C#实现网络电子白板、课件功能

    电子白板和课件功能是在线教学系统中的必备功能,本文就介绍如何基于OMCS快速实现电子白板的基础功能,以及课件功能:上传课件.打开课件.课件翻页.课件同步.删除课件等高级功能. 本文的应用场景是这样的: ...

  4. 计算机基础白板课件,白板教学最流行的6种教学模式-交互式电子白板课件制作心得...

    白板教学最流行的6种教学模式-交互式电子白板课件制作心得 一.构建课堂互动探究学习平台 交互式电子白板适用于课堂中的探究学习,教师可以通过交互式电子白板构建学习情景,并且可以通过交互式电子白板更为清晰 ...

  5. Qt项目实战之网络电子白板-安晓辉-专题视频课程

    Qt项目实战之网络电子白板-10082人已学习 课程介绍         本课程使用Qt技术实现了网络电子白板,支持直线.矩形.椭圆.三角形.涂鸦等图形元素.本课程实现的电子白板,可以在多人之间共享, ...

  6. 协同办公工具:在线白板初起步,在线设计已红海

    在产业数字化转型.疫情常态化等多重背景下,在线办公.远程办公的需求不断增长,协同办公市场规模进一步扩大,吸引传统OA厂商.互联网企业.初创公司等玩家入局,市场竞争愈加激烈. 按业务划分,协同办公市场可 ...

  7. 共享白板程序源代码_OMCS Demo -- 电子白板的课件功能展现(附源码) - 傲瑞科技 - 官方博客...

    本文将演示电子白板的基础功能以及课件功能:上传课件.打开课件.课件翻页.课件同步.删除课件等. 本demo将模拟的应用场景是这样的: 一个老师和N个学生进入同一个教室,所以,它们将看到同一个电子白板. ...

  8. 云课堂开发实践:在线白板SDK开发教程

    随着实时通信技术的不断演进和去年以来疫情的持续影响,越来越多的用户选择了云课堂.云会议,在线学习和在线开会的习惯逐步养成.然而场景需求的多样性和用户的爆发式增长也对技术产生了非常大的挑战.区别于过往在 ...

  9. 网络上的FreeBSD在线文档

    网络上的FreeBSD在线文档. 1.FreeBSD使用手册 2.FreeBSD Handbook中文版 (张纪青译) 3.FreeBSD Porter's Handbook中译本 4.FreeBSD ...

最新文章

  1. torch 和torchvision对应关系并附下载路径
  2. MATLAB-数据类型
  3. DCMTK:父元素处理的测试程序
  4. cxgrid 写数据_大线索报道:2020年策划人必备的50个写方案技巧
  5. Sqlmap使用教程【个人笔记精华整理】
  6. html页面批量打印EMS快递单,如何批量打印快递单/电子面单?
  7. Smartbi的使用
  8. EM算法及python实现
  9. 切比雪夫阻抗变换器设计与仿真
  10. 中国大地保险的大数据应用架构演进之路
  11. layui 集成手写签名
  12. C# WPF 页面切换(Page)
  13. HTML5+CSS3 02(表格、表单标签、语义化,字符实体标签)
  14. Java3D加载obj文件+mtl文件
  15. SQL千万级大数据量查询优化
  16. 基于Hadoop和Spark体系的大数据分析平台构建
  17. 【python】实现SIMM算法
  18. canon ip 1180 喷墨打印机 mac 驱动
  19. 智能相机与工业相机的区别
  20. 择时策略 —— 基于扩散指标的沪深300指数择时

热门文章

  1. Python编程基础19:封装、继承与多态
  2. Spring框架学习笔记05:Spring AOP基础
  3. Java案例:HttpClient演示
  4. 2017.10.22 最多的方案 失败总结
  5. 【英语学习】【WOTD】prodigous 释义/词源/示例
  6. 【英语学习】【Daily English】U01 Greetings / L02 What brings you here?
  7. mac nginx映射ip和端口_步骤四、nginx反向代理
  8. 在线JSon格式显示工具
  9. 可合并堆1:二项堆(Binominal Heap)
  10. python中的模块_python的模块和包的详细说明