張年英
(武漢船舶職業(yè)技術(shù)學(xué)院,湖北武漢 430050)
新世紀(jì)的高職教育的發(fā)展方向是由單一的職業(yè)教育轉(zhuǎn)變?yōu)榫C合性多層次的職業(yè)教育,這就需運(yùn)用先進(jìn)的教學(xué)手段,將綜合性的知識(shí)教授給學(xué)生。所以,現(xiàn)在的高職院校,如果僅僅是使用原始的課堂講授+實(shí)踐操作的授課方式,想要培養(yǎng)出高素質(zhì)的綜合型技能人才是行不通的,只有運(yùn)用先進(jìn)的教學(xué)模式,才能培養(yǎng)出綜合型的高素質(zhì)人才,其中,運(yùn)用多媒體技術(shù)架設(shè)多媒體電子教師進(jìn)行教學(xué)就是目前比較先進(jìn)的教學(xué)模式之一。
在多媒體的技術(shù)上發(fā)展起來的多媒體電子教室將傳統(tǒng)的課堂教授與實(shí)際操作結(jié)合起來,讓學(xué)生在上課時(shí)既能得到教師的講授又能通過多媒體更好的融入課堂,充分體現(xiàn)以教師為引導(dǎo),學(xué)生為主體的新型教學(xué)模式。當(dāng)前多媒體電子教室主要的功能有廣播教學(xué)、遠(yuǎn)程監(jiān)控、文件傳輸、電子白板等。其中,廣播教學(xué)功能是多媒體電子教室的核心功能,而屏幕傳輸功能又是廣播教學(xué)的關(guān)鍵之一,本文采用了C/S(客戶端/服務(wù)器)結(jié)構(gòu),以VC6.0為平臺(tái)實(shí)現(xiàn)了多媒體電子教室系統(tǒng)的屏幕傳輸功能。
該功能是整個(gè)多媒體電子教室的主要功能之一。通過該功能進(jìn)行視頻傳輸,將在教師機(jī)上正在進(jìn)行的教學(xué)演示,并通過網(wǎng)絡(luò)對(duì)學(xué)生機(jī)進(jìn)行廣播。在授課時(shí),教師使用同步視頻功能,將教師機(jī)的畫面通過網(wǎng)絡(luò)傳遞到每臺(tái)學(xué)生機(jī),從而使每一臺(tái)學(xué)生機(jī)顯示話畫面與教師機(jī)一樣。教師可以通過各種軟件進(jìn)行教學(xué),例如:對(duì)某種應(yīng)用軟件進(jìn)行實(shí)際操作,讓學(xué)生對(duì)操作的過程有一個(gè)詳細(xì)的了解。這樣,就能避免傳統(tǒng)教學(xué)只能在同一時(shí)間對(duì)少數(shù)學(xué)生進(jìn)行演示,其他學(xué)生無所事事的情形,同時(shí)通過廣播教學(xué),還可以極大的避免教師的重復(fù)勞動(dòng),使教師有更多的精力投入到教學(xué)當(dāng)中。
屏幕傳輸就是通過網(wǎng)絡(luò),將一臺(tái)計(jì)算機(jī)(服務(wù)器端)上面正在顯示的畫面?zhèn)鬏數(shù)搅硪慌_(tái)或者若干臺(tái)計(jì)算機(jī)(客戶端)上,并保證客戶的端屏幕始終與服務(wù)器端的屏幕保持一致,即便在傳輸過程中發(fā)生幀丟失的狀況,也不會(huì)產(chǎn)生太大的影響。
在實(shí)現(xiàn)該功能是,大數(shù)據(jù)量的傳輸是首先需要考慮的問題,以當(dāng)前最典型的情況來考慮:屏幕分辨率為1366*768,色彩質(zhì)量為32位。這樣一幅畫面的數(shù)據(jù)量為:1366*768*32=3M,如此大的數(shù)據(jù)量,只有通過壓縮才能進(jìn)行網(wǎng)絡(luò)傳輸。所以在本文設(shè)計(jì)的系統(tǒng)中,將服務(wù)器端與客戶端的通信分為了五個(gè)部分:屏幕抓取、壓縮屏幕、網(wǎng)絡(luò)傳輸、解壓數(shù)據(jù)、繪制屏幕。
本文中設(shè)計(jì)的系統(tǒng)是通過獲取顯示設(shè)備中顯示的位圖來實(shí)現(xiàn)屏幕抓取的。首先,獲取將要實(shí)施抓取的屏幕的尺寸,根據(jù)該尺寸創(chuàng)建一個(gè)位圖,然后獲取顯示設(shè)備并創(chuàng)建一個(gè)與該顯示設(shè)備兼容的緩存設(shè)備memory Device Context(memDC),將之前創(chuàng)建好的位圖放入該緩存,再用API將當(dāng)前顯示設(shè)備的內(nèi)容拷到內(nèi)存,如此,屏幕上的內(nèi)容就被抓取到了位圖中,最后,對(duì)當(dāng)前的顯示設(shè)備進(jìn)行釋放。具體的實(shí)現(xiàn)代碼如下:
本設(shè)計(jì)的系統(tǒng)系統(tǒng)采用了VC6.0的壓縮函數(shù)來進(jìn)行屏幕壓縮。在完成了屏幕抓取后,屏幕顯示的內(nèi)容已經(jīng)抓取到了創(chuàng)建的位圖中,需要對(duì)它進(jìn)行壓縮操作。首先,將數(shù)據(jù)從位圖中取出,然后,對(duì)hMemBmp中存放的數(shù)據(jù)進(jìn)行壓縮,具體代碼如下:
針對(duì)視頻傳輸?shù)臄?shù)據(jù)量比較大的特點(diǎn),在進(jìn)行屏幕數(shù)據(jù)傳輸時(shí),使用的是UDP(數(shù)據(jù)報(bào))的方式,該方式可以有效的降低CPU的消耗,不論有多少個(gè)客戶端,服務(wù)器只需要發(fā)送一次就足夠了,即使在傳輸過程中發(fā)送數(shù)據(jù)報(bào)少量丟失的狀況,也不會(huì)對(duì)客戶端造成太大的影響,在客戶端只會(huì)以非??斓乃俣乳W過一些亂屏。經(jīng)過壓縮后,每一幀的數(shù)據(jù)任然有幾十K或者幾百K的大小,如果僅僅使用一個(gè)數(shù)據(jù)包來發(fā)送,在現(xiàn)有的技術(shù)情況下是不可能的,所以需要將每一幀數(shù)據(jù)拆分成數(shù)個(gè)小數(shù)據(jù)包,通過網(wǎng)絡(luò)傳輸至客戶端,再在客戶端將這些小的數(shù)據(jù)包拼接成原來的數(shù)據(jù)幀。因此拆分后得到的數(shù)據(jù)包必須提供必要的信息,以此表示一共傳輸多少個(gè)數(shù)據(jù)包,當(dāng)前的數(shù)據(jù)包的序列,各數(shù)據(jù)包的排列順序,數(shù)據(jù)包的長度等信息,這樣在客戶端才可以將這些數(shù)據(jù)包還原成原來的數(shù)據(jù)幀。為此,本文數(shù)據(jù)包設(shè)計(jì)了以下的數(shù)據(jù)結(jié)構(gòu):
每一幀的數(shù)據(jù)經(jīng)過壓縮之后仍然有幾十到幾百K字節(jié)不等,想要用一個(gè)數(shù)據(jù)包就發(fā)送出去是不可能的,因此必須將它拆成若干個(gè)小的數(shù)據(jù)包,廣播到網(wǎng)絡(luò)上,學(xué)生機(jī)接收到之后,在將它們拼成一個(gè)完整數(shù)據(jù)幀。因此在數(shù)據(jù)包的結(jié)構(gòu)中必須能表示出共有多少包,當(dāng)前是第幾包,有效數(shù)據(jù)的長度是多少等信息。這樣在接收端才能將它們按照順序拼接起來。為此,我們采用以下的數(shù)據(jù)結(jié)構(gòu):
客戶端將接收到的數(shù)據(jù)包拼接成一個(gè)完整的數(shù)據(jù)幀之后,將對(duì)該數(shù)據(jù)包進(jìn)行解壓操作,具體代碼如下:
通過解壓縮后,數(shù)據(jù)就被存放在了內(nèi)存指針ip當(dāng)中,與壓縮的過程相比較,解壓縮除了方向相反以外,其余的過程都非常相似。
當(dāng)客戶段獲得解壓的數(shù)據(jù)后,需要將這些數(shù)據(jù)轉(zhuǎn)換為畫面的形式在客戶端的屏幕上顯示。為此,客戶端首先需要?jiǎng)?chuàng)建一幅位圖,然后將解壓后得數(shù)據(jù)填充進(jìn)這幅位圖,最后再將該位圖復(fù)制到客戶端的顯示設(shè)備中,這次,繪制屏幕的工作就完成了,具體代碼如下:
屏幕傳輸功能的實(shí)現(xiàn),使得多媒體電子教學(xué)的關(guān)鍵問題得到解決,在多媒體電子教室中進(jìn)行系統(tǒng)測試,取得了比較好的效果,也為作者下一步的多媒體電子教室研究提供了支持。但是,因?yàn)閷?duì)圖像傳輸效果產(chǎn)生影響的因素有很多方面,如何在現(xiàn)有的硬件條件下提高數(shù)據(jù)壓縮的比率,減小傳輸?shù)臄?shù)據(jù)量,降低圖像失真度,是下一步需要探索研究的問題。
1 何斌,馬天予,王運(yùn)堅(jiān)等.Visual C++ 數(shù)字圖像處理[M].北京:人民郵電出版社,2001
2 鄭阿奇,丁有和,鄭進(jìn)等.Visual C實(shí)用教程(第2版)[M].北京:電子工業(yè)出版社,2003
3 李增智,陳妍.計(jì)算機(jī)網(wǎng)絡(luò)原理(第2版)[M].西安:西安交通大學(xué)出版社,2000
4 傅愛玲.基于校園網(wǎng)的多媒體電子教室的開發(fā)與實(shí)現(xiàn)[D].天津大學(xué),2005
5 吳洪才,殷人昆.屏幕捕獲技術(shù)在多媒體教學(xué)中的實(shí)現(xiàn)探討[J].計(jì)算機(jī)工程,2003(7)
6 魏娟麗 電子教室中廣播教學(xué)功能的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011(1)