龔顯卿
成都醫(yī)學(xué)院教育技術(shù)中心 成都 610083
在CAI設(shè)計中實現(xiàn)視頻素材的快速檢索
龔顯卿
成都醫(yī)學(xué)院教育技術(shù)中心 成都 610083
在多媒體應(yīng)用設(shè)計中如何實現(xiàn)對視頻、音頻媒體的快速檢索、拖放是個難題,如果不能實現(xiàn),會降低課件的人性化,影響教學(xué)效果。介紹在Authorware中實現(xiàn)對視頻素材快速檢索的方法。
視頻;函數(shù);Authorware
AbstractRealizes how in the multimedia application design to the video frequency, the audio frequency media fast retrieval, tows puts is a difficult problem, if cannot realize, can reduce the class human nature, affects the teaching effect. This article introduced realizes in Authorware to the video frequency source material fast retrieval method.
Key wordsvideo; function; Authorware
在Authorware中,一般用數(shù)字電影(Digital Movie)圖標加載視頻(或者視頻+音頻)文件,用聲音(Sound)圖標加載wave文件,但是,它們只能對視、音頻素材進行簡單調(diào)用,無法實現(xiàn)對素材的快速檢索。使用Authorware提供的函數(shù)和變量,可以實現(xiàn)這一功能。下面以調(diào)用視頻素材為例,介紹實現(xiàn)這一功能的方法。
Pentium 4 CPU,512 M內(nèi)存,Windows 2000操作系統(tǒng),Authorware 7.0。
使用播放、暫停/繼續(xù)、停止3個按鈕實現(xiàn)對視頻素材的基本控制;自行制作滑條,通過對滑條的拖放實現(xiàn)對視頻媒體的快速檢索。這個程序主要用到以下函數(shù)和變量:
“MediaPlay(IconId@"IconTitle"):”函數(shù),播放“IconTitle”指定的數(shù)字電影[1];
“MediaPause(IconId@"IconTitle",Pause):”函數(shù),當(dāng)Pause為True時,暫停播放“IconTitle”指定的數(shù)字電影;當(dāng)Pause為False時,從暫停點開始播放“IconTitle”指定的數(shù)字電影[1];
“MediaSeek(IconId@"IconTitle",Position):”函數(shù),檢索“IconTitle”指定的數(shù)字電影到Position指定的幀[1];
“MediaLength@"IconTitle":”變量,返回“IconTitle”指定數(shù)字電影的長度,視頻以幀為單位[2];
“PositionX@"IconTitle":”變量,如果“IconTitle”指定的圖標被定義了活動范圍,那么此變量返回該圖標在所定義范圍內(nèi)的X軸上的位置[2];
“Mediaposition@"IconTitle":”變量,返回“IconTitle”指定的數(shù)字電影當(dāng)前所播放到的位置,視頻以幀為單位[2];
圖1 滑條
圖2 滑條——按鈕
“Dragging@"IconTitle":”變量,當(dāng)使用者正在拖動“IconTitle”指定的圖標時,返回值“1”;反之,返回值“0”[2];
“Mousedown:”變量,當(dāng)使用者按下鼠標左鍵時,返回值“1”;反之,返回值“0”[2];
還將自定義幾個變量。
3.1 制作按鈕
在Photoshop中制作兩幅背景透明的圖片,分別命名“滑條.PSD”和“滑條——按鈕.PSD”,如圖1、圖2所示。
3.2 建立程序結(jié)構(gòu)
在Authorware中新建一名為“視頻檢索.a7p”的文件,程序結(jié)構(gòu)如圖3所示。
3.3 導(dǎo)入視頻素材
在“視頻圖象”圖標中導(dǎo)入要播放的視頻素材。
3.4 “索引條”分支
“索引條”分支采用時間限制交互方式,“Time Limit(時限)”為“0”,“Erase(擦除)”選擇“Don’t Erase(不擦除)”。在顯示圖標“索引條——顯示”中,導(dǎo)入圖片“滑條.PSD”,并將圖片設(shè)置為“透明”。在顯示圖標“滑條”中,導(dǎo)入圖片“滑條——按鈕.PSD”,也設(shè)置為“透明”。調(diào)整兩圖片的相對位置,如圖4所示。
圖4 滑條與滑條——按鈕相對位置
由于需要在播放視頻時,“滑條——按鈕.PSD”也在“滑條.PSD”上同步移動,所以將顯示圖標“滑條”的運動屬性“Positioning(位置)”和“Movable(活動)”都設(shè)置為“On Path(在路徑上)”, 并將“Initial(初始)”的值改為自定義變量“b”。設(shè)置路徑的起點和終點,使路徑長度與圖片“滑條.PSD”相對應(yīng),如圖5所示。
圖5 滑條——按鈕運動路徑
運動圖標“滑條——運動”使顯示圖標“滑條”在播放視頻時同步運動。運動對象選擇“滑條”,運動類型選擇“On Path to Point(沿路徑到任意點)”,“Timing(定時)”設(shè)置為“0”,“Concurrency(執(zhí)行方式)”選擇“Perpetual(永久)”,“Destination(目標)”設(shè)置為自定義變量“b”,路徑設(shè)置與圖5一致。
圖3 程序結(jié)構(gòu)
3.5 “播放”分支
“播放”分支實現(xiàn)對視頻的從頭播放。該分支采用按鈕交互,“Erase”選擇“Don’t Erase”。
在顯示圖標“變量顯示”中寫入語句:
{a:=100/medialength@"視頻圖象"}
{b:=a*mediaposition@"視頻圖象"}
自定義變量“a”讓顯示圖標“滑條”的運動路徑的長度與視頻的長度相對應(yīng)——視頻每播放一幀,“滑條”移動距離為a。
自定義變量“b”決定視頻播放過程中“滑條”在路徑上的位置。
在顯示圖標“變量顯示”的屬性對話框中,選中“Update Displayed Variables(更新顯示變量)”。
在計算圖標“播放J”中寫入語句:
MediaPlay(IconID@”視頻圖象")
play:=1
自定義變量“play”用來判斷視頻是否在播放,定義為當(dāng)其值為1時,視頻在播放狀態(tài);當(dāng)其值為0時,視頻在暫停狀態(tài)。
3.6 “播放/繼續(xù)”分支
“播放/繼續(xù)”分支實現(xiàn)讓視頻暫停或從暫停處繼續(xù)播放的功能。該分支采用按鈕交互方式,“Erase”選擇“Don’t Erase”。
在計算圖標“暫停/播放”中寫入語句[3]:
if play=1 then
MediaPause(IconID@”視頻圖象",TRUE)
play:=0
else
MediaPause(IconID@"視頻圖象",FALSE)
play:=1
end if
3.7 “退出”分支
“退出”分支采用按鈕交互方式。在計算圖標“exit”中寫入語句“quit(0)”。
至此,實現(xiàn)對視頻媒體的播放、暫停、繼續(xù)播放等控制,并讓“滑條”的運動與視頻播放同步。下面要實現(xiàn)的是當(dāng)對“滑條”進行拖動的時候,能對視頻進行快速檢索。
3.8 “Dragging@”滑條”=1”分支
在“退出”分支后新增一分支,采用條件交互方式,條件為“Dragging@”滑條”=1”?!癆utomatic(自動)”選擇“When True(為真)”,“Erase”選擇“Don’t Erase”。該分支功能是當(dāng)使用者拖動“滑條”時,暫停視頻媒體播放,通過計算“滑條”在路徑上的位置,檢索視頻媒體到相應(yīng)幀。
在顯示圖標“索引——顯示”中寫入語句“{Positionx@"滑條"}”,并在屬性對話框中選中“Update Displayed Variables(更新顯示變量)”。
在計算圖標“索引J”中寫入語句:
EraseIcon(IconID@"變量顯示")
MediaPause(IconID@"視頻圖象",TRUE)
w:=MediaLength@"視頻圖象"/100
q:=w*PositionX@"滑條"
MediaSeek(IconID@"視頻圖象",q)
自定義變量“w”讓視頻長度與路徑長度對應(yīng)——“滑條”每移動一單位,視頻播放w幀。
自定義變量“q”決定“滑條”在當(dāng)前位置時,視頻應(yīng)播放了的幀數(shù)。
3.9 “Dragging@滑條=0&MouseDown=0”分支
新增一條件響應(yīng)分支,響應(yīng)條件為“Dragging@滑條=0&MouseDown=0”。“Automatic”選擇“On False to True(當(dāng)由假為真)”,“Erase”選擇“Don’t Erase”。該分支功能是,當(dāng)使用者停止拖動“滑條”,放開鼠標左鍵時,判斷拖動“滑條”前視頻是否暫停,如果為“是”,則繼續(xù)暫停,直到使用者點擊“暫停/繼續(xù)”按鈕;如果為“否”,則繼續(xù)播放視頻。
在計算圖標“索引/繼續(xù)J”中寫入語句:if play=1 then
MediaPause(IconID@"視頻圖象",FALSE)
else
MediaPause(IconID@"視頻圖象",TRUE)
end if[3]
EraseIcon(IconID@”索引——顯示")
DisplayIcon(IconID@"變量顯示")[4]
在整個程序設(shè)計中,對程序流程的設(shè)計很重要,難點是對顯示圖標“滑條”的控制。讀者理解上述方法的原理,可以運用Authorware提供的豐富的函數(shù)和變量,對媒體進行更加豐富、靈活的控制,使多媒體課件更具人性化,以達到更好的教學(xué)效果。
[1]胡振生.Authorware 7.0多媒體開發(fā)白金手冊[M].北京:人民郵電出版社,2005
[2]袁海東.Authorware 7.0變量與函數(shù)參考手冊[M].北京:電子工業(yè)出版社,2004
[3]譚浩強.C程序設(shè)計[M].北京:清華大學(xué)出版社,2000
[4]袁海東.深入Authorware 7.0編程[M].北京:電子工業(yè)出版社,2004
Realizes Video Frequency Source Material Fast Retrieval in CAI Design//
Gong Xianqing
G436
B
1671-489X(2011)06-0103-03
10.3969 /j.issn.1671-489X.2011.06.103
Author’s address Chengdu Medical College Educational Technique Center, Chengdu, China 610083
作者:龔顯卿,成都醫(yī)學(xué)院教育技術(shù)中心講師,學(xué)士,研究方向為多媒體課件設(shè)計。