基于局域网的多媒体电子教室系统开发技术

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:fairytalezoey
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:多媒体电子教室系统是一种信息化教学的多媒体技术平台。它结合了传统的课堂教学方法与多媒体技术和计算机交互技术,使更多的课堂教学方法得到优化。使用多媒体教学系统,教师可以根据教学内容,教学进度,教学效果和学生的特点有效的融合起来。
  关键词:电子教室;多媒体教学;DirectX
  中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)34-7858-04
  1 概述
  随着现代信息技术的不断发展,计算机网络技术、软件技术和多媒体技术越来越被广泛地应用于各种教学活动中,出现了各种网络化、信息化、智能化的教学服务系统和平台,如教学资源管理系统、网络教学系统、电子教室系统、课程录播系统、移动教学系统、微课程系统等等。这些技术的应用,有力地促进了教学理念、教学模式和教学手段的变革,支撑了信息技术与学科教学的有效融合。因此,信息化教学将成为未来教学方法和手段的一个重要发展趋势。
  多媒体电子教室系统是在多媒体技术基础上发展起来的面向课堂教学的一种信息化教学平台,它将传统的课堂教学和实践方法、多媒体技术和计算机交互技术相结合,使课堂教学的方式方法得到了传承、优化与创新。通过多媒体教学系统,教学者可以根据教学内容、教学进度、教学效果以及学习者特点等多维因素有的放矢的开展教学活动,促进了教学活动的时效性、提高了教学内容的针对性的提高,加强了教学过程交互性,从而增进了教学效果,提高了教学质量。
  2 DirectX技术
  DirectX是微软开发的多媒体应用程序接口(API)(包括图形,声音,输入,网络)。Direct代表直接的意思,X代表很多部分,DirectX 就是一系列的 DLL (动态连接库)。
  微软的DirectX软件开发工具包(SDK)提供了一套优秀的应用程序编程接口(APIs),这个编程接口可以提供给你开发高质量、实时的应用程序所需要的各种资源。DirectX技术的出现将极大的有助于发展下一代多媒体应用程序和电脑游戏。
  微软开发DirectX,其最主要的目的之一是促进在Windows操作系统上的游戏和多媒体应用程序的发展。在DirectX出现以前,主要的游戏开发平台是MS-DOS,游戏开发者们为了使他们的程序能够适应各种各样的硬件设备而绞尽脑汁。自从有了DirectX,游戏开发者们便可以获益于Windows平台的设备无关性,而又不失去直接访问硬件的特性。DirectX主要的目的就是提供象MS-DOS一样简洁的访问硬件的能力,来实现并且提高基于MS-DOS平台应用软件的运行效果,并且为个人电脑硬件的革新扫除障碍。
  另一方面,微软公司开发DirectX是为了在当前或今后的计算机操作系统上提供给基于Windows平台的应用程序以高表现力、实时的访问硬件的能力。DirectX在硬件设备和应用程序之间提供了一套完整一致的接口,以减小在安装和配置时的复杂程度,并且可以最大限度的利用硬件的优秀特性。通过使用DirectX所提供的接口,软件开发者可以尽情的利用硬件所可能带来的高性能,而不用烦恼于那些复杂而又多变的硬件执行细节。
  DirectX介于硬件和Windows应用程序之间,能够主动探测硬件的性能,当可以用硬件完成时,就直接通过硬件工作,如果硬件不支持,就通过软件模拟实现。如图1 DirectX和应用程序的关系(HAL是硬件抽象层,HEL是硬件仿真层/软件模拟层)。
  DirectX9.0 for Managed Code包含以下几个主要的组成部分:
  lDirect3D Graphics提供在二维领域产生三维效果的专用的程序接口。
  lDirectDraw它是DirectX所有组件中最重要的一个,主要用于渲染和二维绘图。
  lDirect Input用于处理一切设备的输入,除此之外还支持力反馈设备。
  lDirectPlay属于DirectX的网络组件,主要应用在开发网络游戏中。
  lDirectSound这是DirectX的音频组件,能够播放音频文件和采集声音。
  lAudio video Playback对音频和视频文件的播放进行控制。
  DirectDraw是DirectX软件开发工具箱(SDK)大家族中的一部分,是SDK中最重要的部件。SDK是微软公司所提供的软件开发工具包Software Develop Kits,SDK提供了非常丰富的健壮和可靠的应用程序接口,它广泛支持所有基于.net平台的编程语言,Windows Media Encoder(Windows Media 编码器)就是使用Windows Media Encoder SDK进行开发的,使用Windows Media Encoder SDK可以开发出具有特色的屏幕录制功能的应用程序。
  通过以下几个步骤可以实现本项目的屏幕录制功能:
  1)捕获多媒体流
  Windows Media Encoder的源可以是设备也可以是文件,设备可以是屏幕,使用IWMEncSource 从屏幕中装载流,使用IWMEncSourceGroup可以添加流到源组中。
  2)创建Windows Media Encoder 对象
  通过创建一个Windows Media Encoder 对象实现对媒体流的编码,因为以编码时是不要显示Windows Media Encoder用户界面(UI)的,所以直接创建一个WMEncoder 对象。
  3)选择编码过程的配置文件
  Windows Media Encoder 提供的缺省的配置文件不一定符合要求,也不可以被编辑或者删除,因此用户创建自己的配置文件指定编解码率,指定输出流的速率。使用IWMEncProfileCollection 来管理配置文件。   4)指定输出
  通过以上三个步骤可以实现对计算机屏幕的采集和编码,最后需要将编码后的流媒体输出,SDK可以提供输出的方式为流或者是文件,如果是文件的话,可以通过IWMEncFile可以指定存档的文件名的存储位置。
  5)增加选择性的描述信息
  为了保证自己录制的屏幕文件的版权,通过在SDK中创建IWMEncAttributes对象指定自定义的编码内容的信息。创建IWMEncDisplayInfo对象能显示编码内容的信息。
  3 Socket技术
  3.1 Socket编程原理
  TCP/IP协议(传输控制协议/网际协议)是计算机网络通信的基本通信协议。TCP/IP是一个四层的分层体系结构,分为应用层、传输层、网际层和网络接口层。高层为传输控制协议,负责聚集信息或把文件拆分成更小的包。这些包通过网络传送到接收端的传输层,接收端的传输层把包还原为原始文件。
  3.1.1 面向连接的TCP协议
  TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,它的主要作用是在不可靠的网络服务上为应用层提供面向连接的、端到端的可靠字节流服务。
  TCP协议是一种面向连接的运输协议,在进行数据传输时首先必须和对方建立一条可靠的运输连接, 一条TCP连接是由发送方套接字和接收方套接字来唯一标识的,即TCP连接用四元祖(即源端IP地址,源端口号,目的端IP地址、目的端口号)来唯一标识。
  TCP服务的特征如下:1)TCP数据传输服务是全双工的;2)TCP连接是点对点的;3)TCP连接是面向字节流的;4)TCP实体支持数据缓冲和立即发送;5)TCP提供紧急数据功能。
  对可靠性要求高的数据通信系统往往使用TCP协议传输数据。
  3.1.2 面向非连接的UDP协议
  UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它不与对方建立连接,而是直接把数据包发送过去。UDP协议使用端口分辨运行在同一台设备上的多个应用程序。
  UDP协议的主要作用是将网络数据流量压缩成数据报的形式。一个典型的数据报就是一个二进制数据的传输单位。每一个数据报的前8个字节用来包含报头信息,剩余字节则用来包含具体的传输数据。由于UDP的特性:它不属于连接型协议,因而具有资源消耗小,处理速度快的优点。
  UDP和TCP协议使用端口号为不同的应用保留其各自的数据传输通道,从而实现对同一时刻内多项应用同时发送和接收数据的支持。数据发送一方(可以是客户端或服务器端)将数据报通过源端口发送出去,而数据接收一方则通过目标端口接收数据。有的网络应用只能使用预先为其预留或注册的静态端口;而另外一些网络应用则可以使用未被注册的动态端口。因为报头使用两个字节存放端口号,所以端口号的有效范围是从0到65535。一般来说,大于49151的端口号都代表动态端口。
  数据报的长度是指包括报头和数据部分在内的总字节数。因为报头的长度是固定的,所以该域主要被用来计算可变长度的数据部分(又称为数据负载)。数据报的最大长度根据操作环境的不同而各异。从理论上说,包含报头在内的数据报的最大长度为65535字节。不过,一些实际应用往往会限制数据报的大小,有时会降低到8192字节。
  UDP协议使用报头中的校验值来保证数据的安全。校验值首先在数据发送方通过特殊的算法计算得出,在传递到接收方之后,还需要再重新计算。如果某个数据报在传输过程中被第三方篡改或者由于线路噪音等原因受到损坏,发送和接收方的校验计算值将不会相符,由此UDP协议可以检测是否出错。这与TCP协议是不同的,后者要求必须具有校验值。虽然UDP提供有错误检测,但检测到错误时,UDP不做错误校正,只是简单地把损坏的消息段扔掉,或者给应用程序提供警告信息。
  UDP协议的特征如下:
  1)UDP是一个无连接协议,传输数据之前源端和终端不建立连接,当UDP想传送时就简单地去抓取来自应用程序的数据,并尽可能快地把它扔到网络上。在发送端,UDP传送数据的速度仅仅是受应用程序生成数据的速度、计算机的能力和传输带宽的限制;在接收端,UDP把每个消息段放在队列中,应用程序每次从队列中读一个消息段;
  2) 由于传输数据不建立连接,因此也就不需要维护连接状态,包括收发状态等,因此一台服务机可同时向多个客户机传输相同的消息;
  3)UDP信息包的标题很短,只有8个字节,相对于TCP的20个字节信息包,额外开销很小。
  4)吞吐量不受拥挤控制算法的调节,只受应用软件生成数据的速率、传输带宽、源端和终端主机性能的限制。
  5)UDP使用尽最大努力交付,即不保证可靠交付,因此主机不需要维持复杂的链接状态表(这里面有许多参数)。
  6)UDP是面向报文的。发送方的UDP对应用程序交下来的报文,在添加首部后就向下交付给IP层。既不拆分,也不合并,而是保留这些报文的边界,因此,应用程序需要选择合适的报文大小。
  UDP和TCP协议的主要区别是两者在如何实现信息的可靠传递方面不同。
  TCP协议中包含了专门的传递保证机制,当数据接收方收到发送方传来的信息时,会自动向发送方发出确认消息;发送方只有在接收到该确认消息之后才继续传送其它信息,否则将一直等待直到收到确认信息为止。
  与TCP不同,UDP协议并不提供数据传送的保证机制。如果在从发送方到接收方的传递过程中出现数据报的丢失,协议本身并不能做出任何检测或提示。因此,通常把UDP协议称为不可靠的传输协议。   相对于TCP协议,UDP协议的另外一个不同之处在于如何接收突发性的多个数据报。不同于TCP,UDP并不能确保数据的发送和接收顺序。事实上,UDP协议的这种乱序性基本上很少出现,通常只会在网络非常拥挤的情况下才有可能发生。
  因为UDP具有TCP所望尘莫及的速度优势。虽然TCP协议中植入了各种安全保障功能,但是在实际执行的过程中会占用大量的系统开销,无疑使速度受到严重的影响。反观UDP由于排除了信息可靠传递机制,将安全和排序等功能移交给上层应用来完成,极大降低了执行时间,使速度得到了保证。
  UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。因为UDP协议没有连接的过程,所以它的通信效果高;但它的可靠性不如TCP协议高。
  TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。由于本系统对实时性要求比较高,所以采用的是UDP协议。
  4 其它主要技术
  对于电子教室系统来说,主要的技术除了DirectX和Socket外,还需要包含以下的功能或技术。
  4.1网络协调技术
  网络协调功能能使教师机、网络设备和学生机协同工作,互相配合。在一个多媒体网络教室里,教学演示是最重要的教学功能,它的实现是通过教师机抓取屏幕、压缩、传送、学生机接收、回放而成。这个过程的效果主要取决于整个网络的协调效果。因为教师机的处理能力通常和学生机不一样,如果教师机处理速度很快,不断地给学生机发送屏幕,而学生机来不及处理势必导致网络堵塞,所以有效平衡网络中各部分处理速度是十分关键的。电子教室通过控制教师机抓屏和发送速度达到了有效平衡。
  4.2多任务调度技术
  多任务调度充分挖掘Windows的多线程与多任务的性能,通过核心处理程序的监管,合理分配作业调度,控制系统工作的性能,合理分配系统作业,不至因为某项作业太忙而影响用户的正常操作。采用多线程技术,教室端不但可监听学生端的请求,而且也能对学生端的请求作出回应。当然,这里因多线程技术的使用,不可避免的会产生这样的问题:线程的增多导致系统资源的占用越来越多,系统的开销也越来越大,势必对系统的性能产生严重影响。为此,程序员还应使用线性池,不但能避免资源的不足,还能提高服务器的工作效率,整体提高了教学演示的效率。
  4.3核心对象控制技术
  核心对象控制通过修改WIN32的相关系统文件,掌握操作系统状态的变化,及时变换应用软件的状态以适应,保持操作系统与应用程序状态一致。当广播方和被广播方显示分辨率及色彩数不一致或广播方已动态改变时能及时调整被广播方以使所有状态保持一致。
  4.4禁用热键技术
  通过对 Windows操作系统文件的改写,禁止学生通过热键中断电子教室程序;在教学演示时,可以防止学生使用 Alt Tab、 Ctrl Alt Del等操作键中断系统执行影响软件的使用。防止学生用Ctrl Alt Del热键截杀系统软件,保证系统的安全。学生端程序启动后将自动从任务列表中隐藏电子教室程序运行信息,避免学生敲击CTRL ALT DEL,取消程序运行,保证教学的正常进行。
  4.5原始输入接管技术
  接管原始输入线程实现对设备资源捕获与模拟,通过对 Windows操作系统原始输入线程的控制,实现设备资源的捕获和模拟,将有关资源信息传送给相关程序,使应用程序与操作系统保持完全一致,没有因鼠标形状和键盘状态等不同造成操作不便。遥控双方的鼠标形状会随对方改变,不至于因为不知道对方鼠标状态而不知如何操作,如使用绘图软件和改变窗口大小等。
  5 结束语
  本文列举了在基于局域网的多媒体电子教室系统中进行应用开发的相关技术,对相关技术环节的流程进行了梳理,对实际的电子教室系统开发具有一定的参考价值。
  参考文献:
  [1] 周存杰.C#.NET网络核心编程[M].北京:清华大学出版社,2002.
  [2] 张曜,郭立山,戴传智.Windows API函数实用手册[M].北京:冶金工业出版社,2003.
  [3] 马骏,郑逢斌,沈夏炯.C#网络应用高级编程[M].北京:人民邮电出版社,2009.
  [4] 梅晓冬,颜烨青.Visual C#网络编程技术与实践[M].北京:清华大学出版社,2008.
  [5] 范文庆,周彬彬,安靖.精通Windows API函数、接口、编程实例[M].北京:人民邮电出版社,2009.
其他文献
数据表明,目前亚洲每年大概亲虾需求量为300万对,包括正规注册、未正规注册的、以及黑市买卖的。其中中国年需求为50万对,但有近一半来自黑市;泰国、印度需求30万对,越南、菲律宾
《中国精神通史》第一卷体系宏大、结构完整、脉络清晰,行文纵横捭阖、笔势张弛有度,体现出司马云杰先生高远的治学旨趣和渊深的知识积累。对于这部鸿篇巨著,司马先生的创作
在华中,是国内乃至是世界淡水鱼养殖的最重要区域,尤其是湖北,淡水鱼养殖产量连续21年蝉联冠军。在其中,除了四大家鱼外,名特优的养殖这几年来一直受到当地政府的重视。河蟹
<正>~~
期刊
2015年,茂名出口水产品逆势增长,全年出口量达7.88万吨、货值3.12亿美元,同比分别增长41.1%和3.7%。其中出口罗非鱼及其产品7.08万吨,货值2.27亿美元,同比大幅增长51%和20%,创历史新高,已成茂
英语课程具有工具性和人文性的双重属性。在高中英语阅读教学中,教师不但要重视培养学生的语言能力和思维能力,还要不断渗透德育。通过一堂拓展阅读课,探讨在高中英语教学中
百舸争流,千帆竞发。创先争优,热潮涌动。自2010年5月开始,辽宁省442家国有企业的835个基层党委、8454个基层党(总)支部、21万多名党员在各自的工作岗位上展开了一场如火如荼的创
《诗经》中的兵役诗和徭役诗反映了当代社会的许多本质方面,表现了战争和徭役带给人民的痛苦,抒发了征人和役夫的复杂心情。这些诗善用比兴、虚拟、对比等手法,有较高的艺术
发酵床养猪的原理与农田有机肥被分解的原理基本一致,主要是运用土壤里自然生长的土壤微生物来迅速降解猪的排泄物。从1992年开始,日本鹿儿岛大学的专家教授开始对发酵床养猪进