authorware作為一種面向大眾的多媒體編著軟件,其圖形化的界面簡(jiǎn)單易用,極易上手。但也正因?yàn)槿绱耍涔δ芊矫嫦鄬?duì)而言就簡(jiǎn)單一些。為此,authorware提供了對(duì)activex技術(shù)的支持。
activex是微軟的ocx、ole技術(shù)發(fā)展而來(lái)的。我們可以在自己的演示程序中插入activex控件,從而實(shí)現(xiàn)一些高級(jí)的功能。例如:利用microsoft web brower控件,你可以設(shè)計(jì)出自己的網(wǎng)頁(yè)瀏覽器,上網(wǎng)沖浪;利用intervista vrml控件,可以在你的應(yīng)用中瀏覽虛擬世界;利用text to speech控件,可以實(shí)現(xiàn)英語(yǔ)的即時(shí)朗讀功能,這就意味著你可以創(chuàng)建類似詞霸之類的軟件。
tts引擎能將文字轉(zhuǎn)化為數(shù)字音頻,它可以實(shí)現(xiàn)整句的流暢朗讀,而且是標(biāo)準(zhǔn)的美式發(fā)音。它允許用戶更改聲音的頻率、語(yǔ)速,功能強(qiáng)勁。因此,利用tts引擎制作英語(yǔ)教學(xué)的課件或?qū)W件絕對(duì)是個(gè)不錯(cuò)的主意。
要實(shí)現(xiàn)該功能,首先要下載相關(guān)組件。
登錄 ftp://www.mediachance.com/msttss22l.exe,下載msttss22l.exe,安裝text to speech聲音文件;
登錄 http://www.mediachance.com/files/spchapi.exe下載spchapi.exe,安裝tts類控件,這一步很重要。當(dāng)然,如果你已經(jīng)安裝了金山詞霸之類的軟件,該步可以跳過(guò)。實(shí)際上,這兩個(gè)文件可以在詞霸的安裝目錄下找到。
在authorware中插入activex控件的步驟如下:
1 啟動(dòng)authorware 6,確定要插入控件的位置;
2 選擇insert > control > activex;
3 在出現(xiàn)的對(duì)話框中,選擇texttospeech類控件(如圖1)如果你用的不是6.0的版本,對(duì)話框可能會(huì)有所不同。單擊確定按鈕,彈出該控件的屬性對(duì)話框。
4 單擊確定按鈕,使用authorware的默認(rèn)設(shè)置。在流程線上把a(bǔ)ctivex圖標(biāo)名稱改為tts。
要想讓tts引擎開(kāi)口說(shuō)話,就得用到callsprite函數(shù)。該函數(shù)的語(yǔ)法為:
result := callsprite(iconid@"spriteicontitle", #method [, argument...])
其中,spriteicontitle為activex控件所在的圖標(biāo)名稱,method為activex控件的方法,argument為該控件方法的參數(shù)。
在流程線上放置一交互圖標(biāo),拖動(dòng)計(jì)算圖標(biāo)至交互圖標(biāo)的右邊。選擇文字輸入(text entry)交互類型,這個(gè)計(jì)算圖標(biāo)無(wú)需輸入任何實(shí)質(zhì)性的內(nèi)容。它用于接受用戶輸入的單詞或句子,并自動(dòng)放置在系統(tǒng)變量entrytext中。再次拖動(dòng)一計(jì)算圖標(biāo)至交互圖標(biāo)的右側(cè),更改交互類型為按鈕交互。調(diào)整如圖2所示:
在該計(jì)算圖標(biāo)中輸入:
callsprite(@"tts",#speak,entrytext)
這句語(yǔ)句可以讀出系統(tǒng)變量entrytext所代表的單詞或句子。單擊朗讀按鈕即可聽(tīng)到渾厚的美語(yǔ)發(fā)音。
不過(guò),不要忙著把你的應(yīng)用打包發(fā)行。作為一個(gè)優(yōu)秀的設(shè)計(jì)者,我們需要先判斷用戶端有沒(méi)有安裝tts引擎。
在流程線的頂部加入計(jì)算圖標(biāo),在計(jì)算圖標(biāo)中輸入以下語(yǔ)句:
if activexinstalled( )=-1 then
if activexcontrolquery(“{2398e32f-5c6e-11d1-8c65-0060081841de}”)= 0
then
messagebox(windowhandle, "系統(tǒng)沒(méi)有檢測(cè)到tts引擎,請(qǐng)安裝", "warning", 48)
end if
end if
上面這段語(yǔ)句首先判斷系統(tǒng)是否支持安裝控件,若系統(tǒng)不支持,則不進(jìn)行安裝操作;若支持則進(jìn)一步判斷是否已安裝classid為{2398e32f-5c6e-11d1-8c65-0060081841de}}的tts引擎,如沒(méi)有則出現(xiàn)提示信息。當(dāng)然,更友好的方法是讓用戶選擇是否安裝,具體請(qǐng)參考jumpout和jumpoutreturn兩個(gè)函數(shù)。要提醒大家注意的是這兩個(gè)文件最好和authorware文件儲(chǔ)存在同一個(gè)文件夾里,否則需指明路徑。
新聞熱點(diǎn)
疑難解答