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