局域网内多媒体教学系统的研究与实现毕业论文.doc

上传人:文库蛋蛋多 文档编号:3942258 上传时间:2023-03-28 格式:DOC 页数:38 大小:808KB
返回 下载 相关 举报
局域网内多媒体教学系统的研究与实现毕业论文.doc_第1页
第1页 / 共38页
局域网内多媒体教学系统的研究与实现毕业论文.doc_第2页
第2页 / 共38页
局域网内多媒体教学系统的研究与实现毕业论文.doc_第3页
第3页 / 共38页
局域网内多媒体教学系统的研究与实现毕业论文.doc_第4页
第4页 / 共38页
局域网内多媒体教学系统的研究与实现毕业论文.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《局域网内多媒体教学系统的研究与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《局域网内多媒体教学系统的研究与实现毕业论文.doc(38页珍藏版)》请在三一办公上搜索。

1、毕 业 论 文论文题目 局域网内多媒体教学系统 的研究与实现 系 别 计算机与电子信息工程系 专 业 计算机科学与技术 摘要随着我国计算机科学技术的迅速发展,多媒体教学已经成为现代教育的重要组成部分,教育信息化势在必行,网络多媒体教学正在逐渐成为主流的教育形式。网络多媒体教学为学习者提供了更为丰富、优质的学习资源,对提高教学质量、转变教学观念以及推进全民教育产生积极影响。本课题针对本校计算机教室的教学和管理需要,设计并实现了一个局域网内多媒体教学系统。在屏幕广播功能上,采用java.util.Robot类来进行全屏捕捉,捕捉后的桌面图片以JPEG的格式进行存储,并在存储的过程中进行了快速压缩,

2、在确保图片质量的同时降低传输的信息量,解决了现有的商业化网络教学系统广播时网速卡的问题;在屏幕录制功能上,采用Robot类来完成对屏幕的捕获;在多媒体数据压缩技术上,根据不同的媒体信息的特性采用了不同的压缩方式;在提交作业功能上,通过应用层协议,用UDP方式把要上交的作业高效率地传到教师端。本系统实现了屏幕广播、屏幕录制、屏幕回放、教师端发布作业和学生端提交作业等功能, 并且测试结果表明,本系统取得了广播延时小、发送文件速度快、系统运行稳定的效果。关键词:局域网 多媒体教学系统 屏幕广播 屏幕录制The research and implement of Multimedia Teaching

3、 System on local area networkAbstractAlong with the rapid development of computer science technology in our country, the multimedia teaching already became the important constituent of the modern education,the education informationization imperative, the network multimedia teaching were becoming the

4、 gradually education form of the mainstream.The network multimedia teaching have provided richly, the high quality study resources for the learner, to improves the quality of teaching, the transformation teaching idea as well as advances to educate all the people has the positive influence.This topi

5、c in view of the school computer engine room teaching and the management need, designed and has realized in a local area network the multimedia teaching system.In the function of the screen broadcast,use the java.util.Robot to carries on entire screen capture, after the capture tabletop image carrie

6、s on the memory by the JPEG form, and has carried on the fast compression in the memory process, while guarantees the quality of picture to reduce the transmission the information content, has solved when the existing commercialization network teaching system broadcast network card question; In the

7、function of screen transcribing,use in Java JDK1.4 the Robot to complete to the screen capture; In the multimedia data compression technology, has selected the different compression method according to the different media information characteristic; In the submission job function, through the applic

8、ation layer agreement, the work high efficiency which must deliver passes to the teacher with the UDP way to send.This system has completed the screen broadcast, screen transcribing, screen playbacking,the teacher is held announcing school assignment and the student is held submitting school assignm

9、ent and so on.and indicated of the test result, this system has obtained the broadcast time delay slightly, the transmission document fast, the system movement stable effect.Keyword: Local Area Network Multimedia Teaching System ScreenbroadcastScreenbranscribing目录第一章 绪论11.1 开发背景11.2 当前多媒体教学系统技术现状11.

10、3 选题的意义31.4课题目标3第二章 系统开发于相关技术52.1 Java语言与开发工具52.2 本系统采用的图像压缩算法5第三章 多媒体教学平台的设计73.1 需求分析73.2 系统基本结构83.3协议设计的模型9第四章 多媒体教学平台的实现114.1 屏幕录制114.2 屏幕播放134.3教师机与学生机的连接144.4屏幕广播164.5 教师端发布作业214.6学生端提交作业24第五章 软件测试过程275.1对屏幕录制、屏幕回放的测试275.2对教师机和学生机自动连接的测试275.2对屏幕广播、教师端发布作业的测试305.4对提交作业的测试30第六章 总结与改进32参考文献33致谢34第

11、一章 绪论1.1 开发背景计算机辅助教学改变了以往教学中形式单一,信息量小等等诸多弊病,多媒体辅助教学能实现个性化教育,发展被教育者的积极主动性,具有良好的视觉、听觉效果、丰富的知识表达能力等多种有点。随着全球信息化进程的不断发展,教育信息化势在必行,多媒体教学正在逐渐成为主流教育形式。多媒体教学为学习者提供了更为丰富、优质的学习资源,必将对提高教学质量,转变教学观念以及推进全面教育产生了积极的影响。1.2 当前多媒体教学系统技术现状1多媒体教室随着教育事业的不断发展,教学改革的不断深入,借助计算机网络技术和多媒体技术,改变传统的教学手段,已成为各类学校改善教学条件、提高教学质量、强调素质教育

12、、培养顺应新时期要求的高素质人才的共同需求1。现在多媒体网络教室将多媒体计算机同网络技术紧密结合起来,在网络教学的基础之上更强调电脑辅助教学功能。既教师利用网络多媒体教学平台直接在计算机上进行课程教学,并能将有限的资源实现共享,达到一室多用,一室多能。多媒体网络教室在计算机网络的基础上,借助影音传输和控制系统,实现声音、图像等多媒体信息在计算机网络上的实时传输,使得各种文字、图形、图像、声音、动画等多媒体资料皆可用作教学素材,从而使得教学的内容和方式更加生动活泼、多姿多彩。传统意义上的多媒体网络教室包括计算机、网络设备以及操作系统。现代的多媒体网络教室还要具备教师和学生之间能够相互沟通、辅导和

13、控制的多媒体网络教室平台软件。有了这样的平台软件,教师就能够向学生广播、转播屏幕内容和声音,并能够进行远程控制学生机,使教学更加方便。因此,一个完整的多媒体电子教室应包括:计算机 (PC):教师机 (服务器),学生机;网络设备:网卡,网线,集线器或交换机等;操作系统:Windows;其它设备:配件 (耳麦),应用软件,教学软件,机房设备 (防静电设备,稳压电源等)。多媒体教室的基本构成如图1-1所示:投影仪扫描仪放像机光盘库教师机服务器学生机学生机学生机学生机学生机 图1-1 多媒体教室教学示意图2多媒体教学系统 多媒体教学系统,可以将教师的屏幕画面和声音传输 (播)给所有或特定的学生,并可以

14、监看学生的屏幕,控制学生的操作。教师与学生可以双向交谈,任何教学软件和多媒体声、像教学资料,均可以对学生实时播送和监看,从而达到多媒体的电脑教学的目的。多媒体教学系统,根据其设计原理和实现方式的不同可以归为三大类:硬件实现方式、软件实现方式、硬件结合实现方式,以前两种为主。2(1)硬件实现方式硬件实现方式完全利用传输模拟信号的多媒体卡实现多媒体信号的传输。由于模拟信号在传输视频信息上具有得天独厚的优势,因此在图像的质量上,由硬件实现方式的多媒体教学系统更具有优势。由于采用专用的视频和音频控制芯片、控制电缆和控制台,多媒体教学系统的图像清晰、传送可靠,而且不依赖于计算机原有的硬件平台和软件平台。

15、但由于采用专门的硬件设备,成本难以下降,由于使用专用的多媒体卡和线路连接使系统维护困难,系统升级困难,使用功能比较单一。(2)软件实现方式软件实现方式是指运行于底层数据网环境之上的,完全用软件来实现的多媒体教学系统,多媒体的影音信号及控制信号均通过底层数据网进行传输。软件版的多媒体教学系统通过一套专门设计的软件,利用计算机网络,来实现原来硬件多媒体教学系统的所有功能。此方式的特点是成本低,无需添加其它附件,安装维护简单,软件版本容易升级,可实现多种功能,但由于图像传输需经过压缩/解压缩技术完成,故对计算机硬件配置及网络速度有较高限定要求。目前软件方式在图像和声音传输效果,尤其语音教学功能方面还

16、有待于进一步提高与完善。(3)软硬件结合实现方式软硬件结合实现方式是通过在每台计算机中加装一块多媒体网卡,并用专门的多媒体传输网线将每台计算机串接起来,以此来实现多媒体影音信号的独立通道传输。这样就确保了影像的同步全屏传输,并且对学生机的硬件配置要求不高,不需要加声卡,多媒体网卡上自带语音功能。此方式成本太高,而且由于多媒体控制信号仍需借助底层数据网实现传输,每台计算机中需安装软件驱动程序,整个系统安装、维护起来有一定的难度,需具有一定的网络知识。基于网络设计的软件多媒体教学系统是多媒体网络教室的发展方向。1.3 选题的意义本课题针对多媒体教学模式由传统的黑板教学模式向多媒体教学模式发展的新趋

17、势,结合Java在Jbuilder平台成熟的技术,着重在于计算机汇集视听媒体于一身的发展,对多媒体教学系统做一些新的研究与应用。传统的电脑教室,一般辅以投影仪或硬件网络系统来建立多媒体教学系统,但由于高昂的成本和一些其它的原因,并不是一般教室可以配备的,而且硬件设备耗损大、维护繁琐、升级麻烦都是令学校困扰的问题,而作为一种纯软件的解决方案的多媒体教学系统,完全避免了这些硬件问题,而且教师可以把理论教学与实践操作相结合,直接在教师机上进行各种教学演示,并且把每一步操作过程都与实时同步传送到学生的电脑屏幕上。各种大量的多媒体课件资料、光盘教学资源、实验演示系统、教学方法和经验等都可以借助多媒体教学

18、系统软件这种汇集语言、图片、文字、动画于一体的现代交互式教学模式实现了。可以在整个多媒体教室共享文字、图像、语音、视频资料。这样,通过构建一种文字、语音、视频图像的相互交流环境,学生可以同时在自己的电脑屏幕上分享各种教学资源,不但大大较少了教师端工作负担,提高了教学效率,而且也使教学内容及其生动活泼,学生乐于接受。目前,国内已经有一些相对成熟的教学软件,比如凌波多媒体网络教室软件和博智多媒体电子教室系统,这些软件都有很强大的功能,而且操作方便;但是,这些软件在市场上都有着昂贵的价格,而且操作系统依赖强。介于这些软件以上的缺点,本课题选择用一种更新更快捷的语言JAVA来实现。并且是根据本校的实际

19、情况,量身定做,使它更加符合本校多媒体教学的要求,以进一步提高本校多媒体教学质量。1.4课题目标多媒体教学系统利用计算机教室现有的电脑网络设备,实现教师机对学生机的广播、监控、语音教学等操作,辅助学生完成电脑软件的学习和使用。多媒体教学系统适用于各类学校以及企事业单位、培训机构的电脑机房、计算机网络教室及电子阅览室中。本课题要实现以下功能:屏幕广播:实时传送教师或某个学生的电脑画面到某组或全体学生的电脑屏幕上,教师可以用这个功能进行多媒体课件的教学,演示Word、SQL数据库等软件的操作,还可以让某个学生进行示范; 屏幕录制:录制上课内容以便制作教学视频; 屏幕回放:对已录制的内容进行网络回放

20、;教师端发布作业:老师可以把要布置的作业放到所有已经与教师机连接上的学生机上。学生端提交作业:学生可以把相应格式的文件发送到教师的电脑中;提问、回答与讨论:当老师向学生提出问题的时候,同学回答老师的问题,当同学有疑问向老师请教的时候,老师帮同学解答问题;显示IP:显示已和教师机连接的学生机的IP;屏幕监视:让教师对选中IP的学生机的电脑屏幕进行实时监视,教师可以不离开座位就了解学生的学习情况,实现对整个网络上学生机的监控与管理; 在线人数:统计已经与教师机连接上的学生机数,以便老师了解学生到课情况;警告:教师机在对学生机进行屏幕监视的时候,发现学生没有按照老师的要求进行相关操作的时候,教师机可

21、以使用命令对其进行警告;关机、重启、注销:可以把选中IP的学生机关闭、重启和注销操作。第二章 系统开发于相关技术2.1 Java语言与开发工具2.1.1Java语言的特性本课题选择Java作为开发语言,因为它具有面向对象、分布式、平台无关、高性能、支持多线程等特性。2.1.2 Jbuilder的特点本课题选择Jbuilder为开发平台,它具有以下特性:1Jbuilder支持最新的JAVA技术,包括Applets、JSP/Servlets、JavaBean以及EJB(Enterprise JavaBeans)的应用。 2用户可以自动地生成基于后端数据库表的EJB Java类,Jbuilder同时

22、还简化了EJB的自动部署功能。此外它还支持CORBA,相应的向导程序有助于用户全面地管理IDL(分布应用程序所必需的接口定义语言Interface Definition Language)和控制远程对象。3Jbuilder支持各种应用服务器。Jbuilder与Inprise Application Server紧密集成,同时支持WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速开发J2EE的电子商务应用。 4利用Jbuilder可创建(没有专有代码和标记)纯JAVA2应用。由于Jbuilder是用纯JAVA语言编写的,其代码不含任何专属代码和标记,它支持最新的JAVA

23、标准。 5Jbuilder拥有专业化的图形调试介面,支持远程调试和多线程调试,调试器支持各种JDK版本,包括J2ME/J2SE/J2EE。 Jbuilder环境开发程序方便,它是纯的JAVA 开发环境,适合企业的J2SE开发。2.2 本系统采用的图像压缩算法本系统采用用软件编解码的方法对图像数据压缩和解压缩。在授课中屏幕图像变化率很低,有时屏幕电子教案可能要延用几分钟。这种运动图像信号,除帧内像素间相关外,帧与帧之间的像素值也有很强的相关性,且帧变化较平稳。若能利用帧之间的数据相关性,通过特殊变换,屏蔽帧与帧之间的变化,使之表现为大量连续相同数据,只保留差异,则使用简单高效的行程编码就能得到较

24、高的压缩比。本系统对帧间编码使用了两种方案,一种是基于异或运算的帧间无损压缩,一种是基于差值量化的帧间有损压缩。1基于异或运算的无损压缩:利用异或运算性质可知,令X为时刻获取的屏幕图像的像素值,Y为时刻获取的屏幕图像的像素值,在传送端,对两幅图像的像素按位进行异或运算,相同的像素异或结果为0。如果帧与帧之间的变化很少,则会出现大量连续的0。再用简单的行程编码对异或结果进行压缩,可以得到较好的压缩结果。传输压缩后的数据,在接收端接收并解压缩,与上一帧图像像素再次进行异或运算可还原该图像。32基于差值量化的有损压缩:由人的视觉、生理、心理学的论证可知,肉眼对大面积图像能分辨出的灰度等级比对小块图像

25、或细节部分的灰度等级大得多。亦即,如果相邻像素的色值差别很小,人的眼睛无法分辨,可考虑将相邻且相近的色值量化为1个色值。3第三章 多媒体教学平台的设计3.1 需求分析3.1.1 现有教学系统的问题目前,市场上现有的网络多媒体教学系统成本相对较高,系统依赖性强,针对本校的情况,如果要在每一个计算机教室都安装这样的系统,那么超额的成本使这项工作难以进行。针对这个问题,研发一个具有自主知识产权的跨平台的多媒体教学系统是一项势在必行的工作。3.1.2 本系统功能模块分析本系统采用C/S(Client/Server)模式。学生机作为Client(客户端),而教师机作为Server(服务端)。教师机为学生

26、机提供服务,并对学生机进行管理。本系统需要有教师机和学生机这两个部分,教师端功能:屏幕广播,教师端发布作业,屏幕录制,屏幕回放,屏幕监视,提问问题、问题答疑,显示学生机的IP,在线人数统计,网上聊天,发出警告,关机、重启、注销;学生端功能:学生端提交作业,接受广播,接受监视,接受警告,接受关机、重启和注销,向老师请教问题等。功能模块如图3-1:屏幕操作显示学生IP显示在线人数屏幕回放屏幕广播屏幕录制屏幕监视远程控制发出警告远程关机联机讨论问题联机互动提问问题远程注销远程重启回答问题教师端教师端发布作业屏幕操作学生端联机互动接受警告接受远程控制学生端提交作业接受屏幕广播接受屏幕监视接受远程关机接

27、受远程重启接受远程注销联机讨论问题向老师请教问题回答老师提问的问题图3-1 功能模块图3.2 系统基本结构本系统的设计主要是针对局域网内一台教师机和多台学生机的模型,教师机充当服务器的角色,学生机充当客户机的角色,其系统的基本结构示意图如图3-2所示:图3-2 系统结构示意图3.3协议设计的模型基于UDP多媒体转输协议设计的模型系统,与RTP/RTCP协议相比,系统设计的时候简化了排序处理等流程,同样采用了客户端/服务器模型。下面分别给出服务器的发送程序流程图和客户机的接收流程图,如图3-3和图3-4所示。否是是是否否开始获取一帧视频数据发送数据包头添加数据包头生成数据包头视频数据等分为若干数

28、据包获取成功发送完毕结束结束图3-3 服务器的发送程序流程图发送端首先获取经过压缩的一帧视频数据,递交给UDP分组处理。然后将一帧视频数据按照要求分解为适合网络传输的一系列小的数据包,并加上此协议的分组包头,其中包括数据包的顺序号、时间戳,视频数据的压缩格式等参数,然后完成发送。发送端根据接收端反馈的延迟估计和接收质量报告调整发送速度。客户端从端口获取数据包后写入接收缓冲区。根据数据包头信息确认数据包是否丢失,做出相应处理。由于在发送端控制每个发送的数据包小于1024字节,所以在止常的网络状况下传输的延迟比较小。而且由于发送的数据包大小一样,并且严格控制数据包发送的时间间隔,传输抖动现象发生的

29、可能性很小。所以,在客户端只按照接收到的数据包的序列号的顺序判断是否有丢失现象发生。如果接收的数据包是有序的,则认为没有丢失现象发生加果接收的数据包是乱序的,则作为丢失数据包处理。经过查阅相关资料证明了这种处理方法是简单有效的。再接收到一个完整的帧数据的所有分组后,根据序列号是否连续判断是否发生数据包的丢失,分离数据包头,最后恢复成一帧完整的视频数据,再根据缩格式标记送往相应的解码流程。是否否是否是开始丢失这帧数据解码提示回复一帧数据分离数据包头写入缓冲区读数据包头序列号读出端口数据是否丢失数据接收完毕结束结束图3-4 客户端的发送程序流程图第四章 多媒体教学平台的实现4.1 屏幕录制由于屏幕

30、截取比较接近操作系统的操作,在Windows操作系统下,该操作几乎成了VC、VB等的专利,事实上,使用Java JDK提供的一个Robot类,来完成屏幕截取操作,更加简单。Robot类的对象,可以完成对屏幕像素的拷贝,完成屏幕图像截取操作。该类用于产生与本地操作系统有关的底层输入、测试应用程序运行或自动控制应用程序运行。Robot类提供了一个方法:createScreenCapture(),可以直接将全屏幕或某个屏幕区域的像素拷贝到一个BufferedImage对象中,我们只需要将该对象写入到一个图像文件之中,就完成了屏幕到图像的拷贝过程。循环这个操作,将一系列图像文件保存到硬盘上的某个文件夹

31、中,这样就可以完成屏幕录制了,在本课题软件中捕获的是全屏幕区域。实现的流程图如图4-1所示:否是开始用Robot.createScreenCapture()进行图像捕获把捕获后的图像存放到图像数据缓冲区BufferedImage图像编码保存成JPG格式录制完成结束通过FileOutputStream文件输出流往指定的文件夹写入图片关闭输出流睡眠40毫秒图4-1 屏幕录制执行过程流程图/取得当前显示器的分辨率:screenSize = Toolkit.getDefaultToolkit().getScreenSize();/获得屏幕大小rectangle = new Rectangle(scre

32、enSize); /可以捕获屏幕区域/实现录制过程的主要代码如下:while (true) try BufferedImage image = robot.createScreenCapture(rectangle); /把捕获到的指定屏幕矩形区域图像存放到可访问的图像数据缓冲区Image,createScreenCapture捕获指定屏幕矩形区域的图像 fos = new FileOutputStream(C:records + i + .jpg);/创建一个文件输出流对象,往指定的文件里面写图片 /FileOutputStream创建一个向指定 File 对象表示的文件中写入数据的文件输出

33、流 JPEGCodec.createJPEGEncoder(fos).encode(image);/图像编码成JPEG fos.close();/关闭输出流 i = i + 1;/进行下一张的图片写入 Thread.sleep(40);/每秒25帧,每40毫秒保存一张 当在主界面上点击“屏幕录制”按钮的时候,会弹出一个录制的对话框,效果如图4-2所示:图4-2 屏幕录制界面4.2 屏幕播放屏幕播放可以让教师预先录制好屏幕图像,以JPG格式的图片形式存储,以后通过“屏幕回放”功能可以进行播放,再现录制时的屏幕图像画面。这既可以方便老师提前备课,又解决了学生跟不上教学进度的问题,还可以让学生在课余

34、的时间自己去温习上课的内容,极大提高教学效率这个功能是建立在屏幕录制之后的,把屏幕录制保存下来的一系列连续的图片调出来并与屏幕录制相同的速度显示在电脑屏幕上,这样就可以看到之前录制的屏幕了。其实现的流程图如图4-3如下:否是开始取得要播放图片的文件夹从序号0开始取一张的图片把图片显示到屏幕上播放完成结束按录制时的先后顺序从0开始编号图片睡眠40毫秒取下一张图片图4-3 屏幕播放执行过程流程图实现的主要代码如下:public void run()int i = 0;/定义图片从序号0开始 while(true) try cimage = loadImage(i + .jpg);/取得一张图片 i

35、 = i + 1; repaint();/重绘 Thread.sleep(40);/与录像时每秒帧数一致catch(Exception e) e.printStackTrace();/打印异常的消息 System.out.println(e); 当在主界面上点击“屏幕播放”按钮的时候,就会看到一个播放的对话框,效果如图4-4所示:图4-4 屏幕播放界面图4.3教师机与学生机的连接市场上的很多软件(如本校计算机教室用到的凌波多媒体教学软件),如果教师机比学生机先启动的话,后启动的学生机就连接不上教师机了。本系统克服了这一缺点:不管学生机先启动还是教师机先启动,教师机与学生机都能自动连接。本系统采

36、用了套接字Socket机制,分别在教师端程序和学生端程序里面写了一个连接文件ClientSocket.java,这个就是克服以上缺点的重点方法。而且程序里面用到一个端口和IP的构造函数,并没有对方机子的端口号和IP绑定,所以在运行软件的时候,不需要进行物理的设计端口号和IP。其实现的代码如下: public ClientSocket(String ip, int port) /构造函数,IP地址和端口号 this.ip=ip; this.port=port; /创建socket连接: public void CreateConnection()throws Exception try sock

37、et=new Socket(ip,port); catch(Exception e) e.printStackTrace(); if(socket!=null)socket.close(); throw e; finally 创建了Socket连接了之后,用方法getMessageStream()来取得消息流;当服务器窗口关闭或者关闭Socket或者无法取得消息流的时候,用方法shutDowConnection()来实现断开连接。当实现连接后,学生端会显示:“教师端已经连接”,如图4-5右下角所示:图4-5 学生机实现连接后的界面图同时,教师端也会显示所连上的学生机的IP,如图4-6左上角所示

38、:图4-6 学生机IP已显示的教师端界面图由于教师端和学生端用到的是同一个Socket文件来实现连接,所以只有上面的程序,也只能实现教师机和学生机的一对一的连接,根本无法实现一台教师机连接多台学生机的设想。因此,本系统在教师端程序中还采用了多线程机制,实现接收连接或者主动连接多台学生机。/创建广播通信:MulticastSocket multicastSocket = new MulticastSocket(6789);/加入广播组:multicastSocket.joinGroup(inetAddress);4.4屏幕广播广播功能将教师机屏幕上的画面传输给所有学生机。教师在不进行额外设置的情

39、况下,对桌面所操作的画面、屏幕播放的画面进行有效截取。屏幕的截取主要使用的是java.util.Robot类来捕获屏幕,可以实现对屏幕进行一个全屏捕捉,代码如下:public Icon captureFullScreen() fullScreenImage = robot.createScreenCapture(new Rectangle( Toolkit.getDefaultToolkit().getScreenSize();/捕获屏幕图像 ImageIcon icon = new ImageIcon(fullScreenImage); return icon; /把捕获的桌面图像以JPEG

40、的格式进行存储:public void saveAsJPEG(File file) throws IOException ImageIO.write(getPickedImage(),JPEG,file);/将捕获的屏幕保存为JPEG格式的文件 public void write(OutputStream out) throws IOException ImageIO.write(getPickedImage(),defaultImageFormater,out); /将捕获的屏幕保存为默认格式的文件图像信息进行在存储的同时也进行了快速压缩,在确保图片质量的同时降低传输的信息量。代码如下:/为

41、等比缩放计算输出的图片宽度及高度double rate1 = (double) srcFile.getWidth(null) / (double) width+ 0.1; double rate2 = (double) srcFile.getHeight(null) / (double) height+ 0.1;double rate = rate1 rate2 ? rate1 : rate2;int new_w = (int) (double) srcFile.getWidth(null) / rate);int new_h = (int) (double) srcFile.getHeigh

42、t(null) / rate);BufferedImagetag=newBufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB); /创建缓冲区图像BufferedImage的一个对象tag.getGraphics().drawImage(srcFile, 0, 0, new_w, new_h, null); /绘制缩小后的图newImage=new ImageIcon(tag);/设计压缩之后临时存放的位置:FileOutputStream out = new FileOutputStream(screen.jpg);JPEGImageEnc

43、oder encoder = JPEGCodec.createJPEGEncoder(out);/对输出流进行JPEG格式编码JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag);/进行压缩质量的处理:jep.setQuality(quality, true);encoder.encode(tag, jep);out.close();srcFile.flush();当图片处理完之后,采用UDP传输协议对数据进行传输,有效地进行组播。本系统设计发送数据报文方法如下所示:public void sendMutiCast(Str

44、ing s) try byte b=s.getBytes(); InetAddress inetAddress=InetAddress.getByName(234.5.6.7);/组播组: DatagramPacket datagramPacket =new DatagramPacket(b,b.length, inetAddress,6789); /构造一个数据报对象,端口号:6789 MulticastSocket multicastSocket = new MulticastSocket(); multicastSocket.send(datagramPacket); /发送该UDP 包

45、。此时:只有该组中的成员才能收到该UDP包 multicastSocket.close() ; /关闭组播的Socket catch(Exception e) System.out.println(error in Sender.javas sendMutiCast+e); 其组播流程如图4-7所示:是否开始关闭MulticastSocket离开组播解码数据报提取信息等待接收数据报发送multicastSocket加入一个组播组建立MulticastSocket创建数据发送完毕结束图4-7 组播程序流程图同时,用一个专门的广播线程,将屏幕广播发到学生端,其实现的代码如下:while(IsWork) try ScreenCapture capture = ScreenCapture.getInstance(); fafa.SetScreen(capture.getFullIcon(); /发送屏幕广播到学生端 fafa.SendImage(); fafa.SendTeacher(); sleep(1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号