多媒體管理系統(tǒng)畢業(yè)論文_第1頁(yè)
多媒體管理系統(tǒng)畢業(yè)論文_第2頁(yè)
多媒體管理系統(tǒng)畢業(yè)論文_第3頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、多媒體管理系統(tǒng)畢業(yè)論文多媒體管理系統(tǒng)畢業(yè)論文論文題目 局域網(wǎng)內(nèi)多媒體教學(xué)系統(tǒng)的研究與實(shí)現(xiàn)系另U 計(jì)算機(jī)與電子信息工程系專(zhuān) 業(yè)計(jì)算機(jī)科學(xué)與技術(shù)多媒體管理系統(tǒng)畢業(yè)論文摘要 隨著我國(guó)計(jì)算機(jī)科學(xué)技術(shù)的迅速發(fā)展,多媒體教學(xué)已經(jīng)成為現(xiàn)代教育的重要 組成部分,教育信息化勢(shì)在必行,網(wǎng)絡(luò)多媒體教學(xué)正在逐漸成為主流的教育形式。 網(wǎng)絡(luò)多媒體教學(xué)為學(xué)習(xí)者提供了更為豐富、優(yōu)質(zhì)的學(xué)習(xí)資源,對(duì)提高教學(xué)質(zhì)量、 轉(zhuǎn)變教學(xué)觀念以及推進(jìn)全民教育產(chǎn)生積極影響。本課題針對(duì)本校計(jì)算機(jī)教室的教學(xué)和管理需要,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)局域網(wǎng)內(nèi) 多媒體教學(xué)系統(tǒng)。在屏幕廣播功能上,采用 類(lèi)來(lái)進(jìn)行全屏捕捉, 捕捉后的桌面圖片以JPEG的格式進(jìn)行存儲(chǔ),并在存

2、儲(chǔ)的過(guò)程中進(jìn)行了快速壓縮, 在確保圖片質(zhì)量的同時(shí)降低傳輸?shù)男畔⒘?,解決了現(xiàn)有的商業(yè)化網(wǎng)絡(luò)教學(xué)系統(tǒng)廣 播時(shí)網(wǎng)速卡的問(wèn)題;在屏幕錄制功能上,采用 Robot 類(lèi)來(lái)完成對(duì)屏幕的捕獲;在 多媒體數(shù)據(jù)壓縮技術(shù)上,根據(jù)不同的媒體信息的特性采用了不同的壓縮方式;在 提交作業(yè)功能上,通過(guò)應(yīng)用層協(xié)議,用 UDP方式把要上交的作業(yè)高效率地傳到教 師端。本系統(tǒng)實(shí)現(xiàn)了屏幕廣播、屏幕錄制、屏幕回放、教師端發(fā)布作業(yè)和學(xué)生端提 交作業(yè)等功能 , 并且測(cè)試結(jié)果表明,本系統(tǒng)取得了廣播延時(shí)小、發(fā)送文件速度快、 系統(tǒng)運(yùn)行穩(wěn)定的效果。關(guān)鍵詞: 局域網(wǎng) 多媒體教學(xué)系統(tǒng) 屏幕廣播 屏幕錄制多媒體管理系統(tǒng)畢業(yè)論文The research

3、and implement of Multimedia Teaching System on localarea 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 m

4、ultimedia teaching were becoming the 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

5、has the positive influence.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 assignment and so on.and indicated of the test result, this system has obtained the broadcast

6、time delay slightly, the transmission document fast, the system movement stable effect.Keyword: Local Area Network Multimedia Teaching System Screenbroadcast Screenbranscribing多媒體管理系統(tǒng)畢業(yè)論文目錄第一章 緒論 1.1.1 開(kāi)發(fā)背景 1.1.2 當(dāng)前多媒體教學(xué)系統(tǒng)技術(shù)現(xiàn)狀 1.1.3 選題的意義 3.1.4 課題目標(biāo) 3.第二章 系統(tǒng)開(kāi)發(fā)于相關(guān)技術(shù) 5.2.1 Java 語(yǔ)言與開(kāi)發(fā)工具 5.2.2 本系統(tǒng)采用的圖像壓

7、縮算法 5.第三章 多媒體教學(xué)平臺(tái)的設(shè)計(jì) 7.3.1 需求分析 7.3.2 系統(tǒng)基本結(jié)構(gòu) 8.3.3 協(xié)議設(shè)計(jì)的模型 9.第四章 多媒體教學(xué)平臺(tái)的實(shí)現(xiàn) 1.14.1 屏幕錄制 屏幕播放 教師機(jī)與學(xué)生機(jī)的連接 1.44.4 屏幕廣播 教師端發(fā)布作業(yè) 學(xué)生端提交作業(yè) 2.4.第五章 軟件測(cè)試過(guò)程 對(duì)屏幕錄制、屏幕回放的測(cè)試 2.75.2 對(duì)教師機(jī)和學(xué)生機(jī)自動(dòng)連接的測(cè)試 2.75.2 對(duì)屏幕廣播、教師端發(fā)布作業(yè)的測(cè)試 3.05.4 對(duì)提交作業(yè)的測(cè)試 3.0.第六章 總結(jié)與改進(jìn) 3.2.參考文獻(xiàn) 3.3.致謝 3.4.多媒

8、體管理系統(tǒng)畢業(yè)論文第一章 緒論1.1 開(kāi)發(fā)背景 計(jì)算機(jī)輔助教學(xué)改變了以往教學(xué)中形式單一,信息量小等等諸多弊病,多媒 體輔助教學(xué)能實(shí)現(xiàn)個(gè)性化教育,發(fā)展被教育者的積極主動(dòng)性,具有良好的視覺(jué)、 聽(tīng)覺(jué)效果、豐富的知識(shí)表達(dá)能力等多種有點(diǎn)。隨著全球信息化進(jìn)程的不斷發(fā)展, 教育信息化勢(shì)在必行,多媒體教學(xué)正在逐漸成為主流教育形式。多媒體教學(xué)為學(xué) 習(xí)者提供了更為豐富、優(yōu)質(zhì)的學(xué)習(xí)資源,必將對(duì)提高教學(xué)質(zhì)量,轉(zhuǎn)變教學(xué)觀念以 及推進(jìn)全面教育產(chǎn)生了積極的影響。1.2 當(dāng)前多媒體教學(xué)系統(tǒng)技術(shù)現(xiàn)狀1多媒體教室 隨著教育事業(yè)的不斷發(fā)展,教學(xué)改革的不斷深入,借助計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和多 媒體技術(shù),改變傳統(tǒng)的教學(xué)手段,已成為各類(lèi)學(xué)校改善

9、教學(xué)條件、提高教學(xué)質(zhì)量、 強(qiáng)調(diào)素質(zhì)教育、 培養(yǎng)順應(yīng)新時(shí)期要求的高素質(zhì)人才的共同需求 1 ?,F(xiàn)在多媒體網(wǎng)絡(luò) 教室將多媒體計(jì)算機(jī)同網(wǎng)絡(luò)技術(shù)緊密結(jié)合起來(lái),在網(wǎng)絡(luò)教學(xué)的基礎(chǔ)之上更強(qiáng)調(diào)電 腦輔助教學(xué)功能。既教師利用網(wǎng)絡(luò)多媒體教學(xué)平臺(tái)直接在計(jì)算機(jī)上進(jìn)行課程教學(xué), 并能將有限的資源實(shí)現(xiàn)共享,達(dá)到一室多用,一室多能。多媒體網(wǎng)絡(luò)教室在計(jì)算 機(jī)網(wǎng)絡(luò)的基礎(chǔ)上,借助影音傳輸和控制系統(tǒng),實(shí)現(xiàn)聲音、圖像等多媒體信息在計(jì) 算機(jī)網(wǎng)絡(luò)上的實(shí)時(shí)傳輸,使得各種文字、圖形、圖像、聲音、動(dòng)畫(huà)等多媒體資料 皆可用作教學(xué)素材,從而使得教學(xué)的內(nèi)容和方式更加生動(dòng)活潑、多姿多彩。傳統(tǒng) 意義上的多媒體網(wǎng)絡(luò)教室包括計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備以及操作系統(tǒng)。現(xiàn)代

10、的多媒體網(wǎng) 絡(luò)教室還要具備教師和學(xué)生之間能夠相互溝通、輔導(dǎo)和控制的多媒體網(wǎng)絡(luò)教室平 臺(tái)軟件。有了這樣的平臺(tái)軟件,教師就能夠向?qū)W生廣播、轉(zhuǎn)播屏幕內(nèi)容和聲音, 并能夠進(jìn)行遠(yuǎn)程控制學(xué)生機(jī),使教學(xué)更加方便。因此,一個(gè)完整的多媒體電子教 室應(yīng)包括:計(jì)算機(jī) (PC) :教師機(jī) ( 服務(wù)器 ) ,學(xué)生機(jī); 網(wǎng)絡(luò)設(shè)備:網(wǎng)卡,網(wǎng)線(xiàn),集線(xiàn)器或交換機(jī)等; 操作系統(tǒng): Windows;其它設(shè)備:配件 ( 耳麥) ,應(yīng)用軟件,教學(xué)軟件,機(jī)房設(shè)備 ( 防靜電設(shè)備,穩(wěn) 壓電源等 ) 。多媒體教室的基本構(gòu)成如圖 1-1 所示:圖1-1多媒體教室教學(xué)示意圖2 多媒體教學(xué)系統(tǒng)多媒體教學(xué)系統(tǒng),可以將教師的屏幕畫(huà)面和聲音傳輸 (播)

11、給所有或特定的學(xué) 生,并可以監(jiān)看學(xué)生的屏幕,控制學(xué)生的操作。教師與學(xué)生可以雙向交談,任何 教學(xué)軟件和多媒體聲、像教學(xué)資料,均可以對(duì)學(xué)生實(shí)時(shí)播送和監(jiān)看,從而達(dá)到多 媒體的電腦教學(xué)的目的。多媒體教學(xué)系統(tǒng),根據(jù)其設(shè)計(jì)原理和實(shí)現(xiàn)方式的不同可以歸為三大類(lèi):硬件實(shí)現(xiàn)方式、軟件實(shí)現(xiàn)方式、硬件結(jié)合實(shí)現(xiàn)方式,以前兩種為主。2(1) 硬件實(shí)現(xiàn)方式硬件實(shí)現(xiàn)方式完全利用傳輸模擬信號(hào)的多媒體卡實(shí)現(xiàn)多媒體信號(hào)的傳輸。由 于模擬信號(hào)在傳輸視頻信息上具有得天獨(dú)厚的優(yōu)勢(shì),因此在圖像的質(zhì)量上,由硬 件實(shí)現(xiàn)方式的多媒體教學(xué)系統(tǒng)更具有優(yōu)勢(shì)。由于采用專(zhuān)用的視頻和音頻控制芯片、 控制電纜和控制臺(tái),多媒體教學(xué)系統(tǒng)的圖像清晰、傳送可靠,而且

12、不依賴(lài)于計(jì)算 機(jī)原有的硬件平臺(tái)和軟件平臺(tái)。但由于采用專(zhuān)門(mén)的硬件設(shè)備,成本難以下降,由 于使用專(zhuān)用的多媒體卡和線(xiàn)路連接使系統(tǒng)維護(hù)困難,系統(tǒng)升級(jí)困難,使用功能比 較單一。(2) 軟件實(shí)現(xiàn)方式軟件實(shí)現(xiàn)方式是指運(yùn)行于底層數(shù)據(jù)網(wǎng)環(huán)境之上的,完全用軟件來(lái)實(shí)現(xiàn)的多媒 體教學(xué)系統(tǒng),多媒體的影音信號(hào)及控制信號(hào)均通過(guò)底層數(shù)據(jù)網(wǎng)進(jìn)行傳輸。軟件版 的多媒體教學(xué)系統(tǒng)通過(guò)一套專(zhuān)門(mén)設(shè)計(jì)的軟件,利用計(jì)算機(jī)網(wǎng)絡(luò),來(lái)實(shí)現(xiàn)原來(lái)硬件 多媒體教學(xué)系統(tǒng)的所有功能。此方式的特點(diǎn)是成本低,無(wú)需添加其它附件,安裝 維護(hù)簡(jiǎn)單,軟件版本容易升級(jí),可實(shí)現(xiàn)多種功能,但由于圖像傳輸需經(jīng)過(guò)壓縮/解 壓縮技術(shù)完成,故對(duì)計(jì)算機(jī)硬件配置及網(wǎng)絡(luò)速度有較高限定要求

13、。目前軟件方式 在圖像和聲音傳輸效果,尤其語(yǔ)音教學(xué)功能方面還有待于進(jìn)一步提高與完善。(3) 軟硬件結(jié)合實(shí)現(xiàn)方式 軟硬件結(jié)合實(shí)現(xiàn)方式是通過(guò)在每臺(tái)計(jì)算機(jī)中加裝一塊多媒體網(wǎng)卡,并用專(zhuān)門(mén) 的多媒體傳輸網(wǎng)線(xiàn)將每臺(tái)計(jì)算機(jī)串接起來(lái),以此來(lái)實(shí)現(xiàn)多媒體影音信號(hào)的獨(dú)立通 道傳輸。這樣就確保了影像的同步全屏傳輸,并且對(duì)學(xué)生機(jī)的硬件配置要求不高, 不需要加聲卡,多媒體網(wǎng)卡上自帶語(yǔ)音功能。此方式成本太高,而且由于多媒體 控制信號(hào)仍需借助底層數(shù)據(jù)網(wǎng)實(shí)現(xiàn)傳輸,每臺(tái)計(jì)算機(jī)中需安裝軟件驅(qū)動(dòng)程序,整 個(gè)系統(tǒng)安裝、維護(hù)起來(lái)有一定的難度,需具有一定的網(wǎng)絡(luò)知識(shí)?;诰W(wǎng)絡(luò)設(shè)計(jì)的 軟件多媒體教學(xué)系統(tǒng)是多媒體網(wǎng)絡(luò)教室的發(fā)展方向。1.3 選題

14、的意義 本課題針對(duì)多媒體教學(xué)模式由傳統(tǒng)的黑板教學(xué)模式向多媒體教學(xué)模式發(fā)展的 新趨勢(shì),結(jié)合 Java 在 Jbuilder 平臺(tái)成熟的技術(shù),著重在于計(jì)算機(jī)匯集視聽(tīng)媒體 于一身的發(fā)展,對(duì)多媒體教學(xué)系統(tǒng)做一些新的研究與應(yīng)用。傳統(tǒng)的電腦教室,一般輔以投影儀或硬件網(wǎng)絡(luò)系統(tǒng)來(lái)建立多媒體教學(xué)系統(tǒng), 但由于高昂的成本和一些其它的原因,并不是一般教室可以配備的,而且硬件設(shè) 備耗損大、維護(hù)繁瑣、升級(jí)麻煩都是令學(xué)校困擾的問(wèn)題,而作為一種純軟件的解 決方案的多媒體教學(xué)系統(tǒng),完全避免了這些硬件問(wèn)題,而且教師可以把理論教學(xué) 與實(shí)踐操作相結(jié)合,直接在教師機(jī)上進(jìn)行各種教學(xué)演示,并且把每一步操作過(guò)程 都與實(shí)時(shí)同步傳送到學(xué)生的電

15、腦屏幕上。各種大量的多媒體課件資料、光盤(pán)教學(xué) 資源、實(shí)驗(yàn)演示系統(tǒng)、教學(xué)方法和經(jīng)驗(yàn)等都可以借助多媒體教學(xué)系統(tǒng)軟件這種匯 集語(yǔ)言、圖片、文字、動(dòng)畫(huà)于一體的現(xiàn)代交互式教學(xué)模式實(shí)現(xiàn)了。可以在整個(gè)多 媒體教室共享文字、圖像、語(yǔ)音、視頻資料。這樣,通過(guò)構(gòu)建一種文字、語(yǔ)音、 視頻圖像的相互交流環(huán)境,學(xué)生可以同時(shí)在自己的電腦屏幕上分享各種教學(xué)資源, 不但大大較少了教師端工作負(fù)擔(dān),提高了教學(xué)效率,而且也使教學(xué)內(nèi)容及其生動(dòng) 活潑,學(xué)生樂(lè)于接受。目前,國(guó)內(nèi)已經(jīng)有一些相對(duì)成熟的教學(xué)軟件,比如凌波多媒體網(wǎng)絡(luò)教室軟件 和博智多媒體電子教室系統(tǒng),這些軟件都有很強(qiáng)大的功能,而且操作方便;但是, 這些軟件在市場(chǎng)上都有著昂貴的價(jià)

16、格,而且操作系統(tǒng)依賴(lài)強(qiáng)。介于這些軟件以上 的缺點(diǎn),本課題選擇用一種更新更快捷的語(yǔ)言 JAVA 來(lái)實(shí)現(xiàn)。并且是根據(jù)本校 的實(shí)際情況,量身定做,使它更加符合本校多媒體教學(xué)的要求,以進(jìn)一步提高本 校多媒體教學(xué)質(zhì)量。1.4 課題目標(biāo)多媒體教學(xué)系統(tǒng)利用計(jì)算機(jī)教室現(xiàn)有的電腦網(wǎng)絡(luò)設(shè)備,實(shí)現(xiàn)教師機(jī)對(duì)學(xué)生機(jī)的廣播、監(jiān)控、語(yǔ)音教學(xué)等操作,輔助學(xué)生完成電腦軟件的學(xué)習(xí)和使用。多媒體 教學(xué)系統(tǒng)適用于各類(lèi)學(xué)校以及企事業(yè)單位、培訓(xùn)機(jī)構(gòu)的電腦機(jī)房、計(jì)算機(jī)網(wǎng)絡(luò)教 室及電子閱覽室中。本課題要實(shí)現(xiàn)以下功能:屏幕廣播:實(shí)時(shí)傳送教師或某個(gè)學(xué)生的電腦畫(huà)面到某組或全體學(xué)生的電腦屏 幕上,教師可以用這個(gè)功能進(jìn)行多媒體課件的教學(xué),演示W(wǎng)ord

17、、SQL 數(shù)據(jù)庫(kù)等軟件的操作,還可以讓某個(gè)學(xué)生進(jìn)行示范;屏幕錄制:錄制上課內(nèi)容以便制作教學(xué)視頻;屏幕回放:對(duì)已錄制的內(nèi)容進(jìn)行網(wǎng)絡(luò)回放; 教師端發(fā)布作業(yè):老師可以把要布置的作業(yè)放到所有已經(jīng)與教師機(jī)連接上的 學(xué)生機(jī)上。學(xué)生端提交作業(yè):學(xué)生可以把相應(yīng)格式的文件發(fā)送到教師的電腦中; 提問(wèn)、回答與討論:當(dāng)老師向?qū)W生提出問(wèn)題的時(shí)候,同學(xué)回答老師的問(wèn)題, 當(dāng)同學(xué)有疑問(wèn)向老師請(qǐng)教的時(shí)候,老師幫同學(xué)解答問(wèn)題;顯示 IP :顯示已和教師機(jī)連接的學(xué)生機(jī)的 IP;屏幕監(jiān)視:讓教師對(duì)選中 IP 的學(xué)生機(jī)的電腦屏幕進(jìn)行實(shí)時(shí)監(jiān)視,教師可以不離開(kāi)座位就了解學(xué)生的學(xué)習(xí)情況,實(shí)現(xiàn)對(duì)整個(gè)網(wǎng)絡(luò)上學(xué)生機(jī)的監(jiān)控與管理;在線(xiàn)人數(shù):統(tǒng)計(jì)已經(jīng)

18、與教師機(jī)連接上的學(xué)生機(jī)數(shù),以便老師了解學(xué)生到課情況;警告:教師機(jī)在對(duì)學(xué)生機(jī)進(jìn)行屏幕監(jiān)視的時(shí)候,發(fā)現(xiàn)學(xué)生沒(méi)有按照老師的要 求進(jìn)行相關(guān)操作的時(shí)候,教師機(jī)可以使用命令對(duì)其進(jìn)行警告;關(guān)機(jī)、重啟、注銷(xiāo):可以把選中 IP 的學(xué)生機(jī)關(guān)閉、重啟和注銷(xiāo)操作。第二章 系統(tǒng)開(kāi)發(fā)于相關(guān)技術(shù)2.1 Java 語(yǔ)言與開(kāi)發(fā)工具語(yǔ)言的特性本課題選擇 Java 作為開(kāi)發(fā)語(yǔ)言,因?yàn)樗哂忻嫦驅(qū)ο?、分布式、平臺(tái)無(wú)關(guān)、 高性能、支持多線(xiàn)程等特性。Jbuilder 的特點(diǎn)本課題選擇 Jbuilder 為開(kāi)發(fā)平臺(tái),它具有以下特性:1. Jbuilder 支持最新的 JAVA技術(shù),包括 Applets、JSP/Servlets、JavaB

19、ean 以及 EJB(Enterprise JavaBeans) 的應(yīng)用。2. 用戶(hù)可以自動(dòng)地生成基于后端數(shù)據(jù)庫(kù)表的 EJB Java 類(lèi), Jbuilder 同時(shí)還 簡(jiǎn)化了 EJB的自動(dòng)部署功能。此外它還支持CORBA相應(yīng)的向?qū)С绦蛴兄谟脩?hù)全 面地管理 IDL( 分布應(yīng)用程序所必需的接口定義語(yǔ)言 Interface DefinitionLan guage)和控制遠(yuǎn)程對(duì)象。3. Jbuilder 支持各種應(yīng)用服務(wù)器。 Jbuilder 與 Inprise Application Server 緊密集成,同時(shí)支持 WebLogic Server,支持EJB 1.1和EJB 2.0,可以快速開(kāi)發(fā)

20、 J2EE的電子商務(wù)應(yīng)用。4. 利用Jbuilder可創(chuàng)建(沒(méi)有專(zhuān)有代碼和標(biāo)記)純JAVA2應(yīng)用。由于Jbuilder是用純JAVA語(yǔ)言編寫(xiě)的,其代碼不含任何專(zhuān)屬代碼和標(biāo)記,它支持最新的JAVA標(biāo)準(zhǔn)。5. Jbuilder 擁有專(zhuān)業(yè)化的圖形調(diào)試介面,支持遠(yuǎn)程調(diào)試和多線(xiàn)程調(diào)試,調(diào)試 器支持各種 JDK 版本,包括 J2ME/J2SE/J2EE。 Jbuilder 環(huán)境開(kāi)發(fā)程序方便,它 是純的JAVA開(kāi)發(fā)環(huán)境,適合企業(yè)的J2SE開(kāi)發(fā)。2.2 本系統(tǒng)采用的圖像壓縮算法本系統(tǒng)采用用軟件編解碼的方法對(duì)圖像數(shù)據(jù)壓縮和解壓縮。在授課中屏幕 圖像變化率很低,有時(shí)屏幕電子教案可能要延用幾分鐘。這種運(yùn)動(dòng)圖像信號(hào),

21、除 幀內(nèi)像素間相關(guān)外,幀與幀之間的像素值也有很強(qiáng)的相關(guān)性,且?guī)兓^平穩(wěn)。 若能利用幀之間的數(shù)據(jù)相關(guān)性,通過(guò)特殊變換,屏蔽幀與幀之間的變化,使之表 現(xiàn)為大量連續(xù)相同數(shù)據(jù),只保留差異,則使用簡(jiǎn)單高效的行程編碼就能得到較高 的壓縮比。本系統(tǒng)對(duì)幀間編碼使用了兩種方案,一種是基于異或運(yùn)算的幀間無(wú)損 壓縮,一種是基于差值量化的幀間有損壓縮。1.基于異或運(yùn)算的無(wú)損壓縮:利用異或運(yùn)算性質(zhì)可知,令X為時(shí)刻獲取的屏幕圖像的像素值,丫為時(shí)刻獲取的屏幕圖像的像素值,在傳送端,對(duì)兩幅圖像的像 素按位進(jìn)行異或運(yùn)算,相同的像素異或結(jié)果為 0。如果幀與幀之間的變化很少,則 會(huì)出現(xiàn)大量連續(xù)的 0。再用簡(jiǎn)單的行程編碼對(duì)異或結(jié)果

22、進(jìn)行壓縮, 可以得到較好的 壓縮結(jié)果。傳輸壓縮后的數(shù)據(jù),在接收端接收并解壓縮,與上一幀圖像像素再次 進(jìn)行異或運(yùn)算可還原該圖像。 32基于差值量化的有損壓縮:由人的視覺(jué)、生理、心理學(xué)的論證可知,肉眼 對(duì)大面積圖像能分辨出的灰度等級(jí)比對(duì)小塊圖像或細(xì)節(jié)部分的灰度等級(jí)大得多。 亦即,如果相鄰像素的色值差別很小,人的眼睛無(wú)法分辨,可考慮將相鄰且相近 的色值量化為 1個(gè)色值。 3第三章多媒體教學(xué)平臺(tái)的設(shè)計(jì)3.1需求分析現(xiàn)有教學(xué)系統(tǒng)的問(wèn)題目前,市場(chǎng)上現(xiàn)有的網(wǎng)絡(luò)多媒體教學(xué)系統(tǒng)成本相對(duì)較高,系統(tǒng)依賴(lài)性強(qiáng),針 對(duì)本校的情況,如果要在每一個(gè)計(jì)算機(jī)教室都安裝這樣的系統(tǒng),那么超額的成本 使這項(xiàng)工作難以進(jìn)行。針對(duì)這個(gè)問(wèn)題

23、,研發(fā)一個(gè)具有自主知識(shí)產(chǎn)權(quán)的跨平臺(tái)的多 媒體教學(xué)系統(tǒng)是一項(xiàng)勢(shì)在必行的工作。本系統(tǒng)功能模塊分析本系統(tǒng)采用C/S(Client/Server)模式。學(xué)生機(jī)作為Client(客戶(hù)端),而教師機(jī)作為Server(服務(wù)端)。教師機(jī)為學(xué)生機(jī)提供服務(wù),并對(duì)學(xué)生機(jī)進(jìn)行管理。本系 統(tǒng)需要有教師機(jī)和學(xué)生機(jī)這兩個(gè)部分,教師端功能:屏幕廣播,教師端發(fā)布作業(yè), 屏幕錄制,屏幕回放,屏幕監(jiān)視,提問(wèn)問(wèn)題、問(wèn)題答疑,顯示學(xué)生機(jī)的IP,在線(xiàn)人數(shù)統(tǒng)計(jì),網(wǎng)上聊天,發(fā)出警告,關(guān)機(jī)、重啟、注銷(xiāo);學(xué)生端功能:學(xué)生端提交 作業(yè),接受廣播,接受監(jiān)視,接受警告,接受關(guān)機(jī)、重啟和注銷(xiāo),向老師請(qǐng)教問(wèn) 題等。功能模塊如圖3-1 :圖3-1功能模塊圖

24、3.2系統(tǒng)基本結(jié)構(gòu)3-2本系統(tǒng)的設(shè)計(jì)主要是針對(duì)局域網(wǎng)內(nèi)一臺(tái)教師機(jī)和多臺(tái)學(xué)生機(jī)的模型,教師機(jī) 充當(dāng)服務(wù)器的角色,學(xué)生機(jī)充當(dāng)客戶(hù)機(jī)的角色,其系統(tǒng)的基本結(jié)構(gòu)示意圖如圖 所示:學(xué)主機(jī)教師機(jī)圖3-2系統(tǒng)結(jié)構(gòu)示意圖學(xué)生機(jī)3.3協(xié)議設(shè)計(jì)的模型基于UDP多媒體轉(zhuǎn)輸協(xié)議設(shè)計(jì)的模型系統(tǒng),與 RTP/RTC協(xié)議相比,系統(tǒng)設(shè)計(jì) 的時(shí)候簡(jiǎn)化了排序處理等流程,同樣采用了客戶(hù)端 /服務(wù)器模型。下面分別給出服 務(wù)器的發(fā)送程序流程圖和客戶(hù)機(jī)的接收流程圖,如圖 3-3和圖3-4所示。圖3-3服務(wù)器的發(fā)送程序流程圖發(fā)送端首先獲取經(jīng)過(guò)壓縮的一幀視頻數(shù)據(jù),遞交給UDP分組處理。然后將一幀視頻數(shù)據(jù)按照要求分解為適合網(wǎng)絡(luò)傳輸?shù)囊幌盗行〉臄?shù)

25、據(jù)包,并加上此協(xié)議的 分組包頭,其中包括數(shù)據(jù)包的順序號(hào)、時(shí)間戳,視頻數(shù)據(jù)的壓縮格式等參數(shù),然 后完成發(fā)送。發(fā)送端根據(jù)接收端反饋的延遲估計(jì)和接收質(zhì)量報(bào)告調(diào)整發(fā)送速度。 客戶(hù)端從端口獲取數(shù)據(jù)包后寫(xiě)入接收緩沖區(qū)。根據(jù)數(shù)據(jù)包頭信息確認(rèn)數(shù)據(jù)包是否 丟失,做出相應(yīng)處理。由于在發(fā)送端控制每個(gè)發(fā)送的數(shù)據(jù)包小于1024字節(jié),所以在止常的網(wǎng)絡(luò)狀況下傳輸?shù)难舆t比較小。而且由于發(fā)送的數(shù)據(jù)包大小一樣,并且 嚴(yán)格控制數(shù)據(jù)包發(fā)送的時(shí)間間隔,傳輸抖動(dòng)現(xiàn)象發(fā)生的可能性很小。所以,在客 戶(hù)端只按照接收到的數(shù)據(jù)包的序列號(hào)的順序判斷是否有丟失現(xiàn)象發(fā)生。如果接收 的數(shù)據(jù)包是有序的,則認(rèn)為沒(méi)有丟失現(xiàn)象發(fā)生加果接收的數(shù)據(jù)包是亂序的,則作為

26、丟失數(shù)據(jù)包處理。經(jīng)過(guò)查閱相關(guān)資料證明了這種處理方法是簡(jiǎn)單有效的。再接 收到一個(gè)完整的幀數(shù)據(jù)的所有分組后,根據(jù)序列號(hào)是否連續(xù)判斷是否發(fā)生數(shù)據(jù)包 的丟失,分離數(shù)據(jù)包頭,最后恢復(fù)成一幀完整的視頻數(shù)據(jù),再根據(jù)縮格式標(biāo)記送 往相應(yīng)的解碼流程。圖3-4客戶(hù)端的發(fā)送程序流程圖第四章多媒體教學(xué)平臺(tái)的實(shí)現(xiàn)4.1屏幕錄制由于屏幕截取比較接近操作系統(tǒng)的操作,在Windows操作系統(tǒng)下,該操作幾乎成了 VG VB等的專(zhuān)利,事實(shí)上,使用Java JDK提供的一個(gè)Robot類(lèi),來(lái)完成 屏幕截取操作,更加簡(jiǎn)單。Robot類(lèi)的對(duì)象,可以完成對(duì)屏幕像素的拷貝,完成屏 幕圖像截取操作。該類(lèi)用于產(chǎn)生與本地操作系統(tǒng)有關(guān)的底層輸入、測(cè)

27、試應(yīng)用程序 運(yùn)行或自動(dòng)控制應(yīng)用程序運(yùn)行。Robot類(lèi)提供了一個(gè)方法: createScree nCapture(),可以直接將全屏幕或某個(gè)屏幕區(qū)域的像素拷貝到一個(gè) Bufferedlmage對(duì)象中,我們只需要將該對(duì)象寫(xiě)入到一個(gè)圖像文件之中,就完成了屏幕到圖像的拷貝過(guò)程。循環(huán)這個(gè)操作,將一系列圖像文件保存到硬盤(pán)上的某個(gè) 文件夾中,這樣就可以完成屏幕錄制了,在本課題軟件中捕獲的是全屏幕區(qū)域。 實(shí)現(xiàn)的流程圖如圖4-1所示:圖4-1屏幕錄制執(zhí)行過(guò)程流程圖/取得當(dāng)前顯示器的分辨率:獲得屏幕scree nSize = Toolkit.getDefaultToolkit().getScree nSize()

28、;大小recta ngle = new Recta ngle(scree nSize); /可以捕獲屏幕區(qū)域/實(shí)現(xiàn)錄制過(guò)程的主要代碼如下:while (true)tryBufferedlmage image = robot.createScree nCapture(recta ngle);/把捕獲到的指定屏幕矩形區(qū)域圖像存放到可訪(fǎng)問(wèn)的圖像數(shù)據(jù)緩沖區(qū)Image, createScreenCapture捕獲指定屏幕矩形區(qū)域的圖像fos = new FileOutputStream("C:records" + i + ".jpg");/創(chuàng)建一個(gè)文件輸出流對(duì)象,

29、往指定的文件里面寫(xiě)圖片/FileOutputStream創(chuàng)建一個(gè)向指定File 對(duì)象表示的文件中寫(xiě)入數(shù)據(jù)的文件輸出流JPEGCodec.createJPEGE ncoder(fos).e ncode(image);/圖像編碼成JPEGfos.close();/關(guān)閉輸出流i = i + 1;/進(jìn)行下一張的圖片寫(xiě)入Thread.sleep(40);每秒25幀,每40毫秒保存一張當(dāng)在主界面上點(diǎn)擊“屏幕錄制”按鈕的時(shí)候,會(huì)彈出一個(gè)錄制的對(duì)話(huà)框,效 果如圖4-2所示:圖4-2屏幕錄制界面4.2屏幕播放屏幕播放可以讓教師預(yù)先錄制好屏幕圖像,以JPG格式的圖片形式存儲(chǔ),以后通過(guò)“屏幕回放”功能可以進(jìn)行播放,

30、再現(xiàn)錄制時(shí)的屏幕圖像畫(huà)面。這既可以 方便老師提前備課,又解決了學(xué)生跟不上教學(xué)進(jìn)度的問(wèn)題,還可以讓學(xué)生在課余 的時(shí)間自己去溫習(xí)上課的內(nèi)容,極大提高教學(xué)效率這個(gè)功能是建立在屏幕錄制之 后的,把屏幕錄制保存下來(lái)的一系列連續(xù)的圖片調(diào)出來(lái)并與屏幕錄制相同的速度 顯示在電腦屏幕上,這樣就可以看到之前錄制的屏幕了。 其實(shí)現(xiàn)的流程圖如圖4-3 如下:圖4-3屏幕播放執(zhí)行過(guò)程流程圖實(shí)現(xiàn)的主要代碼如下:public void run()int i = 0;/定義圖片從序號(hào)0開(kāi)始while(true)trycimage = loadlmage(i + ".jpg");/取得一張圖片i = i +

31、 1;多媒體管理系統(tǒng)畢業(yè)論文repai nt();重繪Thread.sleep(40);與錄像時(shí)每秒幀數(shù)一致catch(Excepti on e)e.pri ntStackTrace();打印異常的消息當(dāng)在主界面上點(diǎn)擊“屏幕播放”按鈕的時(shí)候,就會(huì)看到一個(gè)播放的對(duì)話(huà)框, 效果如圖4-4所示:圖4-4屏幕播放界面圖4.3教師機(jī)與學(xué)生機(jī)的連接市場(chǎng)上的很多軟件(如本校計(jì)算機(jī)教室用到的凌波多媒體教學(xué)軟件),如果 教師機(jī)比學(xué)生機(jī)先啟動(dòng)的話(huà),后啟動(dòng)的學(xué)生機(jī)就連接不上教師機(jī)了。本系統(tǒng)克服 了這一缺點(diǎn):不管學(xué)生機(jī)先啟動(dòng)還是教師機(jī)先啟動(dòng),教師機(jī)與學(xué)生機(jī)都能自動(dòng)連 接。本系統(tǒng)采用了套接字Socket機(jī)制,分別在教師

32、端程序和學(xué)生端程序里面寫(xiě)了 一個(gè)連接文件ClientSocket.java,這個(gè)就是克服以上缺點(diǎn)的重點(diǎn)方法。而且程序里面用到一個(gè)端口和IP的構(gòu)造函數(shù),并沒(méi)有對(duì)方機(jī)子的端口號(hào)和IP綁定,所以在運(yùn)行軟件的時(shí)候,不需要進(jìn)行物理的設(shè)計(jì)端口號(hào)和IP。其實(shí)現(xiàn)的代碼如下:public ClientSocket(String ip, int port) /構(gòu)造函數(shù),IP 地址和端口號(hào)this.ip=ip;this.port=port;/創(chuàng)建socket連接:public void CreateCo nn ecti on() throws Excepti ontrysocket=new Socket(ip,po

33、rt);catch(Excepti on e)e.pri ntStackTrace();if(socket!=nu ll)socket.close();throw e;fin ally創(chuàng)建了 Socket連接了之后,用方法getMessageStream()來(lái)取得消息流;當(dāng)服 務(wù)器窗口關(guān)閉或者關(guān)閉Socket或者無(wú)法取得消息流的時(shí)候,用方法 shutDowConnection()來(lái)實(shí)現(xiàn)斷開(kāi)連接。當(dāng)實(shí)現(xiàn)連接后,學(xué)生端會(huì)顯示:“教師端已經(jīng)連接”,如圖 4-5右下角所示:圖4-5學(xué)生機(jī)實(shí)現(xiàn)連接后的界面圖同時(shí),教師端也會(huì)顯示所連上的學(xué)生機(jī)的IP,如圖4-6左上角所示:圖4-6學(xué)生機(jī)IP已顯示的教師端界

34、面圖由于教師端和學(xué)生端用到的是同一個(gè)Socket文件來(lái)實(shí)現(xiàn)連接,所以只有上面的程序,也只能實(shí)現(xiàn)教師機(jī)和學(xué)生機(jī)的一對(duì)一的連接,根本無(wú)法實(shí)現(xiàn)一臺(tái)教師機(jī) 連接多臺(tái)學(xué)生機(jī)的設(shè)想。因此,本系統(tǒng)在教師端程序中還采用了多線(xiàn)程機(jī)制,實(shí) 現(xiàn)接收連接或者主動(dòng)連接多臺(tái)學(xué)生機(jī)。/創(chuàng)建廣播通信:MulticastSocket multicastSocket = new MulticastSocket(6789);/加入廣播組:multicastSocket.j oin Group(i netAddress);4.4屏幕廣播廣播功能將教師機(jī)屏幕上的畫(huà)面?zhèn)鬏斀o所有學(xué)生機(jī)。教師在不進(jìn)行額外設(shè)置 的情況下,對(duì)桌面所操作的畫(huà)面、

35、屏幕播放的畫(huà)面進(jìn)行有效截取。屏幕的截取主 要使用的是類(lèi)來(lái)捕獲屏幕,可以實(shí)現(xiàn)對(duì)屏幕進(jìn)行一個(gè)全屏捕捉,代碼如下:public Icon captureFullScree n() fullScree nl mage = robot.createScree nCapture( new Recta ngle(多媒體管理系統(tǒng)畢業(yè)論文Toolkit.getDefaultToolkit().getScreenSize();/ 捕獲屏幕圖像 ImageIcon icon = new ImageIcon(fullScreenImage);return icon;/把捕獲的桌面圖像以JPEG的格式進(jìn)行存儲(chǔ):publ

36、ic void saveAsJPEG(File file) throws IOException ImageIO.write(getPickedImage(),"JPEG",file);/將捕獲的屏幕保存為JPEG格式的文件public void write(OutputStream out) throws IOExceptionImageIO.write(getPickedImage(),defaultImageFormater,out);/ 將捕獲的屏幕保存為默認(rèn)格式的文件 圖像信息進(jìn)行在存儲(chǔ)的同時(shí)也進(jìn)行了快速壓縮,在確保圖片質(zhì)量的同時(shí)降低 傳輸?shù)男畔⒘?。代碼如下:/

37、為等比縮放計(jì)算輸出的圖片寬度及高度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.getHe

38、ight(null) / rate);BufferedImagetag=newBufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB); / 創(chuàng)建緩沖區(qū)圖像 BufferedImage 的一個(gè)對(duì)象 tag.getGraphics().drawImage(srcFile, 0, 0, new_w, new_h, null); / 繪制縮小后的圖newImage=new ImageIcon(tag);/ 設(shè)計(jì)壓縮之后臨時(shí)存放的位置:FileOutputStream out = new FileOutputStream("screen.jp

39、g");JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);/對(duì)輸出流進(jìn)行JPEG格式編碼JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag);/ 進(jìn)行壓縮質(zhì)量的處理: jep.setQuality(quality, true); encoder.encode(tag, jep); out.close();srcFile.flush();當(dāng)圖片處理完之后,采用UDP專(zhuān)輸協(xié)議對(duì)數(shù)據(jù)進(jìn)行傳輸,有效地進(jìn)行組播 本系統(tǒng)設(shè)計(jì)發(fā)送數(shù)據(jù)報(bào)文方法如下所示: pu

40、blic void sendMutiCast(String s)trybyte b=s.getBytes();/ 組播組:DatagramPacket datagramPacket =new DatagramPacket(b,b.length inetAddress,6789); / 構(gòu)造一個(gè)數(shù)據(jù)報(bào)對(duì)象,端口號(hào): 6789MulticastSocket multicastSocket = new MulticastSocket(); multicastSocket.send(datagramPacket);/發(fā)送該UDP包。此時(shí):只有該組中的成員才能收到該UDP包multicastSocket

41、.close() ; /關(guān)閉組播的 Socketcatch(Exception e) 其組播流程如圖 4-7 所示:結(jié)束圖4-7組播程序流程圖同時(shí),用一個(gè)專(zhuān)門(mén)的廣播線(xiàn)程,將屏幕廣播發(fā)到學(xué)生端,其實(shí)現(xiàn)的代碼如下:while(lsWork)tryScree nCapture capture = Scree nCapture.getl nsta nce(); fafa.SetScree n(capture.getFulllc on();/發(fā)送屏幕廣播到學(xué)生端fafa.Se ndlmage(); fafa.Se ndTeacher(); sleep(1000);catch(Excepti on e)廣

42、播發(fā)出之后,在學(xué)生端用函數(shù)ScreenBroadcastClient()來(lái)接收教師端的廣播,其實(shí)現(xiàn)的代碼如下:public Scree nBroadcastClie nt()mypa nel=new MyPa nel();this.getC onten tPa ne().add(mypa nel);this.setDefaultCloseOperatio n(this.EXIT_ON_CLOSE);屏幕廣播實(shí)現(xiàn)的效果圖如圖4-8所示:圖4-8屏幕廣播效果圖4.5教師端發(fā)布作業(yè)發(fā)布文件功能主要是用于課堂上,當(dāng)老師要給學(xué)生布置作業(yè)或者參考資料時(shí), 把相應(yīng)格式的文件發(fā)送到所有連接上教師機(jī)的學(xué)生機(jī)上。

43、發(fā)布文件功能的實(shí)現(xiàn)基 本思路如下:1. 教師端和學(xué)生端建立連接;2. 教師端把要發(fā)送的相應(yīng)格式的文件拷貝到教師機(jī)下面的臨時(shí)文件夾中;3. 教師端往學(xué)生端發(fā)送已經(jīng)準(zhǔn)備好可以下載的命令;4. 學(xué)生端接收到教師端發(fā)送過(guò)來(lái)的命令后,調(diào)用方法主動(dòng)從教師端下載文件。 發(fā)布文件流程圖如圖4-9,如下所示:圖4-9發(fā)布文件流程圖教師端主要代碼:String Filename=SetFile.getFile();/ 獲取文件名String ff=SetFile.getDirectory()+Filename;/ 獲取文件全路徑CopyFileFrom(ff); / 拷貝文件到本地目錄/ 發(fā)送通知報(bào)文String

44、 cmd="DownLoadHomeWork"/定義用于發(fā)送給學(xué)生端的"DownLoadHomeWor命令CmdParser ss=new CmdParser();/ 聲明了一個(gè)封裝命令方法 ss 對(duì)象String msg=ss.FormatCmd(cmd,Filename,getLocalIp(),"student");/ 定義msg信息SendMsg kl=new SendMsg();/ 實(shí)例化 SendMsgkl.sendMutiCast(msg);/ 發(fā)送信息教師端的主代碼中調(diào)用了 CopyFileFrom() 方法,在 CopyFil

45、eFrom() 中,定義 了一個(gè)緩存區(qū)temp,教師端把將要發(fā)布給學(xué)生的文件臨時(shí)存放到 temp中,并等待 學(xué)生端來(lái)下載,在等待的同時(shí),向?qū)W生端發(fā)送通知下載報(bào)文。學(xué)生端接收到通知后,調(diào)用下載命令去下載文件,主要代碼如下:if(cmd.equals("DownLoadHomeWork")/如果教師端發(fā)布"DownLoadHomeWor命令String FileName=fafa.GetContent(mutiCastMsg);stude nt.Dow nLoadHomeWork(FileName);/ 調(diào)用 Dow nLoadHomeWork方法進(jìn) 行下來(lái) Dow

46、nLoadHomeWork方法的重要代碼如下:public void DownLoadHomeWork(String home)/ 啟動(dòng)文件下載線(xiàn)程String command="http:/"+this.TeacherIp+":8088/temp"HttpDownLoad fafa=new HttpDownLoad(command,home,this); fafa.start();HttpDow nLoad下載方法的主要代碼如下:byte b=new byte1024;int nRead;DataOutputStream FileOut=newData

47、OutputStream(newFileOutputStream(objName);while( nRead=i nput.read(b)>0) )FileOut.write(b);FileOut.close();(”老師已經(jīng)把作業(yè)"+objName+"發(fā)布到學(xué)生端 在的文件夾!");在教師端點(diǎn)擊發(fā)送文件時(shí)會(huì)彈出文件選擇對(duì)話(huà)框,如圖4-10所示:圖4-10文件選擇對(duì)話(huà)框教師端給學(xué)生端發(fā)布完文件后的提示對(duì)話(huà)框如果4-11所示:圖4-11發(fā)布完文件后的對(duì)話(huà)框當(dāng)教師端發(fā)布完文件后,已接收到文件的學(xué)生端會(huì)在文本討論區(qū)顯示:老師 已經(jīng)把作業(yè)XX發(fā)布到學(xué)生端所在的文件夾

48、。學(xué)生端所在的文件夾就是安裝本軟件 所在的文件夾。顯示效果如圖4-12所示:圖4-12教師端發(fā)布完作業(yè)后學(xué)生端的消息顯示圖4.6學(xué)生端提交作業(yè)學(xué)生端跟教師端連接上之后,學(xué)生端就可以往教師端發(fā)送文件。學(xué)生端在選 擇文件之后,點(diǎn)擊上傳,學(xué)生端對(duì)文件進(jìn)行封裝后通過(guò) UDP專(zhuān)輸,文件會(huì)保存到教 師端的文件夾下。其流程圖如圖 4-13所示:圖4-13提交作業(yè)執(zhí)行過(guò)程流程圖實(shí)現(xiàn)提交作業(yè)的主要代碼如下:多媒體管理系統(tǒng)畢業(yè)論文File fi=new File(FilePath);/構(gòu)建新的 BufferedReader 對(duì)象s=ss.accept();/ 監(jiān)聽(tīng)是否與教師機(jī)連接DataInputStreamdi

49、s=newDataInputStream(newBufferedInputStream(s.get InputStream();/s.getInputStream()獲 得網(wǎng) 絡(luò)連 接輸 入, 同時(shí) 返回 一個(gè)IutputStream 對(duì)象實(shí)例dis.readByte();DataInputStream fis=new DataInputStream(new BufferedInputStream(new FileInputStream(FilePath);DataOutputStreamps=newDataOutputStream(s.getOutputStream();/s.ge tOut

50、putStream() 網(wǎng)絡(luò)連接輸出ps.writeUTF(fi.getName();/ 將文件名傳給教師端ps.flush();/ 將內(nèi)存中的數(shù)據(jù)一次性輸出ps.writeLong(long)fi.length();/ 將文件長(zhǎng)度傳給教師端ps.flush();len=(long)fi.length();/ 取得上傳文件字節(jié)的大小int bufferSize=8000;/ 設(shè)定允許讀取到緩沖區(qū)的最大長(zhǎng)度byte buf=new bytebufferSize;/ 要將字節(jié)流讀入的緩沖區(qū)學(xué)生發(fā)送作業(yè)的同時(shí),教師端也有個(gè)接收程序: ClientFile.java 。教師端等 待學(xué)生端的文件上傳連接

51、,在連接后將文件名傳輸給教師端,并把文件大小告知 教師端,教師端通過(guò)這些信息,接收文件信息,設(shè)定好自身的保存目錄,循環(huán)接 收文件,直到文件上傳完畢,主要用到的函數(shù)如下:創(chuàng)建連接的方法:createConnection()發(fā)送消息的方法:sendMessage()接收消息的方法:getMessage() 當(dāng)在主界面上點(diǎn)擊“提交作業(yè)”按鈕的時(shí)候,就會(huì)看到一個(gè)對(duì)話(huà)框,效果如圖 4-14 所示:圖4-14提交作業(yè)對(duì)話(huà)框成功后顯示如圖4-15所示:圖4-15提交作業(yè)成功后學(xué)生端顯示的對(duì)話(huà)框當(dāng)上傳成功后,在教師端界面上顯示:學(xué)生XX上交了作業(yè)保存在X盤(pán)中,如圖4-16所示:1 s 1 W 11 . I &

52、amp; £»nwn聊棊廣裕屛莓錄制屛英回啟,曲監(jiān)梶站文件電干點(diǎn)窖瞽吿關(guān)機(jī)£.6汪銷(xiāo)禪裁舉功能(F)輒肋(H1學(xué)生列去霹吊曲習(xí)呂聯(lián)機(jī)討論11亞.區(qū)Q 3學(xué)主152 1&B 0 3上熒了作業(yè)保存在匚蠱掲目錄中 學(xué)生192 168 0.41上烹了作業(yè)図存在U盤(pán)根目錄中圖4-16提交作業(yè)成功后教師端的消息顯示框多媒體管理系統(tǒng)畢業(yè)論文第五章軟件測(cè)試過(guò)程5.1對(duì)屏幕錄制、屏幕回放的測(cè)試屏幕錄制和屏幕回放是在教師機(jī)上運(yùn)行的,是單機(jī)的操作。當(dāng)錄制完成后, 通過(guò)屏幕回放把屏幕錄制保存下來(lái)的一系列連續(xù)的圖片調(diào)出來(lái)并與屏幕錄制相同 的速度顯示在教師屏幕上

53、,并且可以通過(guò)屏幕廣播發(fā)送到學(xué)生端。其運(yùn)行效果圖 如圖4-2和圖4-4所示:測(cè)試通過(guò)。5.2對(duì)教師機(jī)和學(xué)生機(jī)自動(dòng)連接的測(cè)試單獨(dú)運(yùn)行教師端時(shí),教師機(jī)上沒(méi)有學(xué)生機(jī) IP的顯示,在線(xiàn)人數(shù)顯示0人, 如圖5-1所示:圖5-1單獨(dú)運(yùn)行教師端時(shí)的界面圖單獨(dú)運(yùn)行學(xué)生端時(shí),學(xué)生端的界面上右下角顯示:教師端未連接,如圖 5-2 所示:圖5-2單獨(dú)運(yùn)行學(xué)生端時(shí)的界面圖當(dāng)教師端和學(xué)生端一起運(yùn)行時(shí),不管是運(yùn)行教師端還是學(xué)生端,只要是同一個(gè)局域網(wǎng)內(nèi),都能自動(dòng)連上,如圖 4-5和圖4-6所示。在測(cè)試中發(fā)現(xiàn),當(dāng)時(shí)不管運(yùn)行多少臺(tái)學(xué)生機(jī),但在教師機(jī)上面顯示的IP只有一個(gè),也只有一臺(tái)學(xué)生機(jī)上面顯示“與教師機(jī)連上”。結(jié)果說(shuō)明:一臺(tái)

54、教師機(jī)只能連接上一臺(tái)學(xué)生機(jī)。發(fā)現(xiàn)了 不足之后,本人進(jìn)行了改進(jìn):在教師端程序里面添加了多線(xiàn)程機(jī)制(在第 4.1已 經(jīng)介紹),并進(jìn)行多次次調(diào)試和測(cè)試,結(jié)果教師機(jī)上可以顯示所有已運(yùn)行的學(xué)生 機(jī)的IP,并且所有運(yùn)行的學(xué)生機(jī)上面也顯示與教師機(jī)連接。如圖5-3所示:圖5-3教師機(jī)連接上多臺(tái)學(xué)生機(jī)時(shí)已顯示IP的界面圖圖5-4多臺(tái)學(xué)生機(jī)連接上教師機(jī)后學(xué)生端的界面顯示圖測(cè)試通過(guò)。5.2對(duì)屏幕廣播、教師端發(fā)布作業(yè)的測(cè)試能進(jìn)行屏幕廣播的先決條件是:學(xué)生端與教師端已經(jīng)連接上。當(dāng)教師機(jī)可以 連接多臺(tái)學(xué)生機(jī)的時(shí)候,教師端的廣播也可以發(fā)送到多臺(tái)學(xué)生機(jī)上了,如圖4-8所示:可以在學(xué)生端看到教師端廣播的畫(huà)面。同理:對(duì)教師端發(fā)布作業(yè)的測(cè)試,其運(yùn)行效果圖如圖4-10,圖4-11和圖4-12 所示:測(cè)試通過(guò)。5.4對(duì)提交作業(yè)的測(cè)試學(xué)生端跟教師端連接上之后,學(xué)生端就可以往教師端提交作業(yè)。學(xué)生端在選 擇相應(yīng)格式的文件之后,點(diǎn)擊上傳,學(xué)生端對(duì)文件進(jìn)行封裝后通過(guò)UDP傳輸,文件會(huì)保存到教師端的文件夾下。剛開(kāi)始測(cè)試實(shí)現(xiàn):當(dāng)學(xué)生向老師發(fā)送作業(yè)時(shí),需 要老師點(diǎn)擊確定接收。如圖5-5所示:屛霖廠播屛蔣廣措屛皋錄制電孑點(diǎn)呂%課堂捉同a丈件刪&99文件(S)數(shù)學(xué)功龍(F)顯示(V

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論