摘要:流媒體同步技術可以在Web網頁中實現音視頻與PowerPiont、Flash動畫、Html網頁、SAMI字幕的同步輸出。本文論述了運用流媒體同步技術進行外語網絡多媒體教學、聽力訓練和為原聲影片配多語言字幕的方法。
關鍵詞:流媒體;同步技術;外語教學;網絡教學
中圖分類號:TP37文獻標識碼:A文章編號:1009-3044(2008)36-2789-03
Application of Streaming Media Synchronization Technology in Foreign Language Web-based Instruction
SHAO Shan
(Yangzhou University, Yangzhou 225002, China)
Abstract: Streaming media synchronization technology can implement audio/video and PowerPoint, Flash, Html page, SAMI caption output Synchronously in Web. This paper discusses how to use Streaming Media Synchronization technology in Web foreign language multimedia instruction、audition trainning and multi language caption showing for originalsound film.
Key words: Streaming Media; Synchronization Technology; Foreign Language Teaching; Web-based instruction
1 引言
外語教學是當前我國教育的重點和難點,需要從讀、寫、聽、說各方面培養學生的英語能力,具有很強的實踐性。利用流媒體同步技術將文本、圖像、聲音、視頻、動畫等多種媒體以適當空間和時間關系同步展現,在Web中實現多媒體同步外語教學,有利于增強學生的學習興趣、改變單調、乏味的課本加磁帶的教學形式,提高教學效果。
2 流媒體同步技術
流媒體(Streaming Media)是一種在互聯網上實時傳輸和播放視/音頻等多媒體內容的連續時基數據流,可以邊下載邊收聽、收看多媒體。其同步技術又可將語音、視頻或動畫等依賴于時間的媒體與文本、圖像等離散媒體按照某種關系同時或者順序地表現出來[1]。以目前流行的Windows Media的ASF為例,實現媒體同步的方法包括:
1) 在ASF流中添加標記(Marker)觸發markhit事件,通過編寫事件代碼可以實現流媒體與PowerPoint同步播放,或控制Flash動畫。
2) 在ASF流中添加描述命令(Script Command),含有Type與parameter兩個參數,其類型(Type)可選擇[2]:
URL:打開parameter指定的網頁,與網頁內容同步;
Caption:顯示parameter指定的單行字幕;
FileName:打開parameter指定的流媒體文件;
Event:觸發parameter指定事件,如play,stop, pause。控制流媒體播放。
3) 使用SAMI字幕文件,同步顯示中、英文、法文等多種語言字幕。
3 基于流媒體同步技術的外語網絡教學
3.1 流媒體同步教學
外語教學對于語境和發音的要求較高,在網絡教學中常用的教師授課視頻與教案文檔、PPT幻燈片、Flash動畫的同步播放模擬課堂教學,實現“課堂教學的網絡化再現”。界面框架一般設計為四分屏(圖1)。
頂部為功能菜單,左側上面為授課視頻,下面為課程目錄,右側上部用三個疊加的網頁圖層<DIV>分別內嵌PPT框架(IFrame)、教案框架、和Flash動畫。右側下面為在線學習筆記。
<div id=\"pptdiv\" z-index =3><iframe id=\"ppt\" scr=\"class_n.mht\"></iframe></div>
<div id=\"htmdiv\" z-index =2><iframe id=\"htm\" scr=\"class_n.htm\"></iframe></div>
<div id=\"swfdiv\" z-index =1><embed id=\"swf\" src=\"class_n.swf\" quality=\"high\"
type=\"application/x-shockwave-flash\" ></embed></div>
PPT為教師上課的幻燈片文稿發布的單一網頁文件class_n.mht;Html教案存放外語語境的社會、文化和歷史背景,可定義超鏈錨點(a_link)在頁面內跳轉;Flash動畫為表現外語發音口型、動作等的SWF文件。三者可以根據標記點表(表1)順序切換。同步代碼為:

圖1 流媒體外語同步教學網頁結構圖

表1 Marker Table
3.1.1 ASF與PPT單一網頁mht同步
<script language=\"vbscript\">
Sub Player_markerhit(lmarkernum)
if Player.controls.currentMarker.getMarkerName(lmarkernum) =”PPT” and_
ppt.pptsld.g_animUseRuntime and not is1(ppt.pptsld.g_animMainSequence) then
if ppt.pptsld.g_animMainSequence.cangonext then
ppt.PPTSld.Document.body.click()
else
ppt.GoToNextSld()
end if
else
ppt.GoToNextSld()
end if
End Sub
該段代碼直接調用mht網頁中的script函數,不僅能實現PPT翻頁,同時可播放PPT中的自定義動畫,在Web網頁中實現與播放本地PPT同樣效果。
3.1.2 ASF與Html網頁同步[3]
ASF控制瀏覽器打開Html網頁比較簡單,只需將Script Command的Type設為URL,Parameter=HtmlPageURL IframeName即可。
3.1.3 ASF控制Flash
if Player.controls. currentMarker.getMarkerName(lmarkernum) =\"Flash\"
Player.pause()
Swfdiv.visible=ture
Swf.scr=. Player.controls.currentMarker. getMarkerName(lmarkernum) \".swf\"
Swf.play()
end if
Flash動畫播放完,點擊Player播放按鈕,繼續播放視頻,同時隱藏swfdiv層。
Sub Player_PlayStateChange(NewState)
If newstate= 3 then
Swf.stop()
Swfdiv.visible =1
End if
End sub
3.2 原聲影片多語言字幕
ASF流媒體為聽力訓練和外文影片同步顯示中英文字幕,使用SAMI字幕,可在網頁中加入如下代碼[4]:
<SCRIPT for=\"window\" event=\"onload()\">
Player.closedCaption.captioningID = \"captions\";
Player.closedCaption.SAMIFileName = \"Video_n.smi\";
Player.URL = \"Video_n.asf\";
</SCRIPT>
<DIV id=\"captions\"></DIV>
SAMI文件Video_n.smi內容為[5]:
<SAMI>
<HEAD>
<STYLE TYPE = \"text/css\">
.ENUSCC {Name: 'English Captions'; lang: en-US; SAMIType: CC;}
.CHNCC {Name: 'China Captions'; lang: zh-CN; SAMIType: CC;}
</STYLE>
</HEAD>
<BODY>
<SYNC Start = 1000> <!—- displays at 1000 milliseconds. -->
<P Class = ENUSCC>How can the samething happen on the same guy twice ?
<P Class = FRFRCC>同樣的事為何會在一個人身上發生兩次?
<SYNC Start = 8000>
<P Class = ENUSCC>Welcome to BeiJing, We are ready!
<P Class = CHNCC>北京歡迎您,我們準備好了!
......
</BODY>
</SAMI>
3.3 聽力訓練復讀功能
Windows Media Player播放ASF流時,可以通過改變當前播放點和播放速率實現聽力訓練的復讀及加速減速功能。
SUB repeat()
Dim curPos, rpttime
Rpttime=document.all.txttime.value
Player.controls.pause()
CurPos = player.controls.currentPosition-rpttime
If curPos<0 then curPos=0
Player.controls.currentPosition=curPos
Player.controls.play()
End sub
<input type =\"button\" id=\"repeatbnt\" value=\"復讀\" onclick=\"repeat()\" />
<input type=\"text\" id=\"txttime\" value=\"10\" size=\"3\"/>秒
<input type=\"button\" id=\"slower\" value=\"減速\"
onclick=\"vbscript: player.settings.rate=player.settings.rate*3/4\" />
<input type=\"button\" id=\"faster\" value=\"加速\"
onclick=\"vbscript: player.settings.rate=player.settings.rate*5/4\" />
4 流媒體同步標記點序列的生成
ASF流媒體與PPT、HTML、FLASH的同步主要依靠ASF的時間軸上的Marker和script command標記點觸發實現。制作流媒體同步外語教學網絡課程除了基本素材(視頻、PPT、Flash等)的制作以外,主要工作就是生成標記點序列。為ASF添加標記點可以使用微軟的Windows Media Indexer工具手工添加,但這種方法比較麻煩。由于Windows Media Indexer軟件具有Import/Export Script File功能,因此可以通過簡單的編程創建標記點序列的script文件,批量添加標記點。SAMI字幕也可以用同樣的方法生成。
參考文獻:
[1] 魏東生.遠程教學平臺中媒體資源同步技術研究[D].華中科技大學碩士論文.2006.4.
[2] Steve Mack.流媒體寶典[M].北京:電子工業出版社,2003.
[3] 沈秀紅.基于Web的流媒體同步多媒體課件的制作與應用[J]. 廣東技術師范學院學報.2007.3.
[4] Using SAMI with the Windows Media Player Control in a Browser[DB/OL]. Http://.msdn.microsoft.com .2004.
[5] World Wide Web Consortium,SMIL2.1 Specifications.[DB/OL]. http://www.w3.org/TR/SMIL2/.