亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        利用Director制作歌曲學(xué)習(xí)課件

        2015-04-29 06:04:46韓建彬
        計算機時代 2015年11期

        韓建彬

        摘 要: 利用Director的媒體集成和腳本編程能力,開發(fā)了學(xué)習(xí)歌曲演唱的多媒體課件。通過聲音文件中的線索點及其事件處理過程,實現(xiàn)了任意播放某一句演唱的功能;將定時器與蒙版相結(jié)合,創(chuàng)造了動態(tài)蒙版,實現(xiàn)了歌詞同步提示功能。

        關(guān)鍵詞: Director; 線索點; 動態(tài)蒙版; 定時器

        中圖分類號:TP317 文獻標志碼:A 文章編號:1006-8228(2015)11-54-04

        Abstract: Director has the comprehensive capabilities in multi-media integration and script programming, the courseware for learning songs can be developed with this platform. By the cue points in an audio file and the process of cue passed, any section of the song can be played. By the timer, the sprite mask can be changed in a specific rhythm synchronously, and the lyrics can be prompted thereby.

        Key words: director; cue point; dynamic mask; timer

        0 引言

        多媒體課件在計算機輔助教學(xué)(CAI)中有著廣泛應(yīng)用,它能通過豐富的信息傳遞手段和靈活的人機交互方法,使原本機械、重復(fù)、枯燥的教學(xué)過程變成雙向互動的信息交流,極大地改變?nèi)藗兊膶W(xué)習(xí)方式和過程[1]。Director作為專業(yè)級的多媒體制作軟件,使我們在復(fù)雜交互課件的開發(fā)中如虎添翼。無論是對文、圖、聲、像的處理,還是在交互控制方面,Director都有著卓越的性能,其內(nèi)部集成的Lingo語言和對JavaScript的支持更使深度開發(fā)成為可能[2]。

        歌曲學(xué)習(xí)課件就是充分利用Director的媒體集成和交互控制優(yōu)勢,實現(xiàn)原唱欣賞、逐句教唱、重點教唱和整曲練習(xí)等功能,并能進行歌詞的同步提示。課件充分發(fā)揮了多媒體的作用,為歌曲學(xué)習(xí)提供了完善的教學(xué)功能,既可輔助教師授課,也可用于個人自學(xué)。

        1 系統(tǒng)總體結(jié)構(gòu)

        利用Director制作的多媒體作品稱為電影(Movie),舞臺是顯示電影內(nèi)容的窗口,幀是組織電影內(nèi)容的基本單位。在電影中,通過設(shè)置多媒體素材的屬性來控制內(nèi)容的顯示效果,通過調(diào)整所占的幀數(shù)來控制顯示的時間,而復(fù)雜的交互功能則主要通過編寫Lingo或JavaScript腳本來實現(xiàn)。

        在課件的主界面中,以圖片的形式顯示詞曲,并在界面下部放置主要的功能按鈕,具體如圖1所示。“原唱欣賞”用于完整播放歌曲的原唱,供學(xué)習(xí)者欣賞?!爸鹁浣坛敝饕悄7吕蠋煹慕虒W(xué)過程,當課件在播放完一句原唱之后,會根據(jù)內(nèi)容長短留出一定的時間,供學(xué)習(xí)者跟唱,然后再按順序播放下一句。進入“重點教唱”功能后,界面上的每一句歌詞都會成為一個獨立的交互熱點,通過鼠標點擊界面上的某一句歌詞,可以進行該句的反復(fù)教唱?!罢毩?xí)”用于播放歌曲的伴奏音樂,同時進行歌詞的同步提示,供學(xué)習(xí)者進行練習(xí)。

        該課件的邏輯結(jié)構(gòu)如圖2所示。在Director中,電影默認為按照時間軸從第一幀順序向后播放,為了實現(xiàn)課件中的邏輯功能,需要應(yīng)用腳本語言控制電影的播放順序,并實現(xiàn)與使用者的有效交互。

        在電影編排表(Score)中,將歌曲圖片和按鈕分別放置于精靈通道中,均從通道的第一幀開始,使課件一打開就展示出完整的界面。雙擊腳本通道的第一幀,打開幀腳本編輯窗口,在“on exitFrame me”行為中寫入“go to the frame”語句,使課件一開始就暫停于第一幀,等待用戶的鼠標點擊,以轉(zhuǎn)入相應(yīng)的功能模塊。

        從圖2中可以看出,在課件的各模塊中,聲音播放和歌詞的同步提示都是其核心功能,也是課件制作中的難點,下面重點說明兩者的實現(xiàn)方法。

        2 聲音的分句播放

        在Director中,聲音播放有兩種方式。一是利用編排表中的聲音通道,如課件中背景音樂的播放一般就采用此種方式。先將聲音文件導(dǎo)入演員表,然后再拖放到編排表的聲音通道中,通過調(diào)整聲音精靈的位置和所占幀數(shù)來控制聲音的播放時機和時長。但這種方式只能從開頭順序播放,不能靈活播放其中的某一片段,因此只適用于聲音的簡單播放。二是通過Lingo腳本播放,通過聲音的木偶化,使聲音的播放不再受編排表的制約,而完全由Lingo語句來控制。通過Director中聲音演員的屬性和方法,可以以毫秒為單位,精確設(shè)定播放的開始和結(jié)束點,從而靈活播放歌曲中的某一片段。在“逐句教唱”和“重點教唱”模塊中,正是利用這一功能實現(xiàn)了分句教學(xué)和練習(xí)。

        2.1 用線索點標記時間

        在Director中,線索點(Cue Point)是指在聲音或視頻文件中人為添加的時間標記信息[3]。線索點信息與媒體數(shù)據(jù)保存在同一文件中,通過聲音文件中的線索點,可以精確定位到音視頻文件中的某一位置。為了實現(xiàn)分句播放,要在歌曲中每一句的開始和結(jié)束位置都添加線索點。

        音頻文件中的線索點一般通過GoldWave、CoolEdit或Adobe Audition等音頻編輯軟件進行設(shè)定。在這些軟件中,線索點被稱為提示點、標記點等,但能起到同樣的作用。以GoldWave為例,“編輯”菜單中的“提示點”命令組用于添加和編輯提示點。在GoldWave中打開歌曲,在每一句的開頭和結(jié)尾添加提示點,分別命名為Head1、Head2、……和End1、End2、……。因為MP3格式不支持線索點,所以添加后要保存為WAV格式。

        此外,還要制作兩個特殊的音頻文件,第一個是包含口令“唱”的聲音文件,用于提示學(xué)習(xí)者跟唱,并在靠近結(jié)尾處添加名為“BeginMark”的線索點;第二個是一小段靜音的音頻文件,并在其中設(shè)置一個名為“EndMark”的線索點。這兩個文件中的線索點主要用作關(guān)閉和恢復(fù)原唱聲音的標記。

        2.2 分句播放的實現(xiàn)

        分句播放是利用聲音通道的queue()方法來實現(xiàn),該方法用于為聲音通道建立播放隊列,通過member、startTime和endTime參數(shù),可以指定播放音頻文件的特定片段。其中的startTime、endTime參數(shù)來自于聲音演員的cuePointTimes屬性,該屬性返回音頻文件中所有線索點的列表。

        在此以“逐句教唱”功能的實現(xiàn)來對主要代碼進行說明。為了在不同代碼段中共享音頻的線索點數(shù)量和當前音量設(shè)置,需要在電影腳本中聲明兩個全局變量,cuePassedCount用于保存歌曲中索引點的總數(shù),currentVol用于保存當前聲音通道的音量。在startMovie事件中,對兩個變量進行初始化,分別賦值為0和Sound(1).volume。

        在“逐句教唱”按鈕的腳本中,通過循環(huán)結(jié)構(gòu)建立逐句播放隊列。在演員表中,將導(dǎo)入的歌曲命名為Song,包含“BeginMark”線索點的音頻命名為Sing,包含“EndMark”線索點的音頻命名為Over。

        3 動態(tài)字幕的實現(xiàn)

        所謂動態(tài)字幕,就是與演唱同步,將歌詞的文字由黑色變?yōu)榧t色,用于提示演唱的進度。這一效果主要通過精靈蒙版(Mask)來實現(xiàn)。在Director中,蒙版功能還不夠完善,最突出的一點就是,不能在編排表中直接對蒙版的屬性進行改變。因此,需要通過Lingo腳本對蒙版進行控制。

        3.1 制作歌詞演員和蒙版

        根據(jù)主界面中的歌曲圖片,為每句歌詞制作一個紅色文字的JPG圖片,第一句的圖片如圖3所示。然后再制作一個與該圖片相同大小的純白色圖片,保存成BMP格式,作為歌詞的蒙版。

        將制作的歌詞和蒙版圖片導(dǎo)入演員表中,分別命名為lyric1、lyric2……和mask1、mask2……,每個蒙版都必須緊跟在相應(yīng)的歌詞圖片之后,這是Director對蒙版的特定要求。把歌詞演員加入到編排表的第一幀,并與背景上的相應(yīng)文字對齊。最后將歌詞精靈的墨水效果設(shè)為“Mask”,使其變?yōu)橥耆该鳌?/p>

        3.2 與演唱同步填充蒙版

        在on cuePassed過程中,通過IF語句進行判斷,當經(jīng)過每一句開始處的線索點時,就創(chuàng)建一個間隔為0.1秒的定時器。

        --如果線索點是以Head開頭,就創(chuàng)建定時器

        if name starts "Head" then

        --獲取剛經(jīng)過的線索點在列表中的序號

        currentPos=cuePointNameList.getPos(name)

        --計算出當前正在演唱第幾句

        sentenceOrder=(currentPos+1)/2

        --計算當前句的時間長度

        persistedTime=cuePointTimeList[currentPos+1]

        -cuePointTimeList[currentPos]

        --計算需要填充的蒙版的名稱

        currentMask="mask" & sentenceOrder

        --獲得蒙版的寬度和高度

        maskWidth=member(currentMask).image.width

        maskHeight=member(currentMask).image.height

        --計算每次填充的寬度增量

        fillIncremant=maskWidth/(persistedTime/100)

        --啟動定時器

        myTimer=timeOut().new("fillTimer", 100, #fillProc)

        --將記錄定時器觸發(fā)次數(shù)的變量歸零

        timeOutCount=0

        end if

        在定時器過程中,與演唱相同步,自左向右逐漸用黑色填充蒙版,使紅色的歌詞顯示出來。

        on fillProc

        --如果蒙版已完全填充為黑色,

        if (maskWidth-timeOutCount*fillIncremant)<=0 then

        --將記錄定時器觸發(fā)次數(shù)的變量歸零

        timeOutCount=0

        --關(guān)閉定時器

        forget(timeout("fillTimer"))

        end if

        --計算本次需要填充的區(qū)域

        fillArea=rect(0, 0, timeOutCount*fillIncremant,

        maskHeight)

        --用黑色填充該區(qū)域

        member(currentMask).image.fill(fillArea,rgb(0, 0, 0))

        --定時器觸發(fā)次數(shù)加1

        timeOutCount=timeOutCount+1

        end timeout

        通過以上方法,就能在播放過程中逐步顯示紅色的歌詞,從而產(chǎn)生同步動態(tài)提示的效果。

        4 結(jié)束語

        該課件充分利用Director中的音頻線索點和動態(tài)蒙版技術(shù),實現(xiàn)了對歌曲演唱學(xué)習(xí)的有效支持,提高了學(xué)習(xí)效率和靈活性,體現(xiàn)了CAI的重要作用。但是該課件只是完成了教與學(xué)的功能,還需增加學(xué)習(xí)效果評價功能,通過將學(xué)生的聲音與原唱進行對比,給出具體評價,以幫助學(xué)生更好地檢驗和改進自己的學(xué)習(xí)。

        參考文獻(References):

        [1] 張豪,何方.Director交互式多媒體開發(fā)從新手到高手[M].清

        華大學(xué)出版社,2008.

        [2] 古成中,吳新躍.基于Director的交互式虛擬仿真系統(tǒng)[J].工

        程設(shè)計學(xué)報,2007.14(4):282-285

        [3] 顧煥國,歐漢彬.Director中Cue Point聲音同步控制技術(shù)[J].

        中國醫(yī)學(xué)教育技術(shù),2003.17(5):291-294

        国产激情一区二区三区在线蜜臀 | 国产在线一区二区三区乱码| 国产精品天堂avav在线| 九九99无码精品视频在线观看| 国产真实乱对白在线观看| 男女一区视频在线观看| 亚洲av成人无码久久精品老人| 亚洲а∨天堂久久精品2021| 人妻精品丝袜一区二区无码AV| 久久狠狠髙潮曰十八女人| 麻豆文化传媒精品一区观看| 鲁鲁鲁爽爽爽在线视频观看| 亚州AV无码乱码精品国产| 天堂影院久久精品国产午夜18禁| 美女国产毛片a区内射| 亚洲一线二线三线写真| 性一交一乱一伦一视频一二三区| 国产精品日本一区二区三区在线| 精品无人区无码乱码毛片国产| 9lporm自拍视频区| 亚洲中文欧美日韩在线| 一本色道久久综合亚洲精品不| 99久久久无码国产精品秋霞网| 激情亚洲一区国产精品| 亚洲啊啊啊一区二区三区| 奇米狠狠色| 亚洲一级av大片在线观看| 黄片视频免费观看蜜桃| 天码人妻一区二区三区| 高清无码精品一区二区三区| 国成成人av一区二区三区| 一本色道久久88加勒比—综合| 亚洲av成人一区二区三区在线观看| 国产香蕉尹人在线视频你懂的| 风韵人妻丰满熟妇老熟| 久久99精品九九九久久婷婷 | 在线观看一区二区三区在线观看| 国产一精品一av一免费| 国产区福利| 日韩日本国产一区二区| 免费乱理伦片在线观看|