張克素 朱永?!≡瑫员?/p>
摘要:使用Word辦公軟件可以編排出精美的文檔、方便地編輯和發(fā)送電子郵件、編輯和處理網(wǎng)頁(yè)等,Microsoft Agent以其仿真性、智能性、趣味性和人性化等特點(diǎn)對(duì)Word辦公軟件產(chǎn)生了很大的影響。本文詳細(xì)地介紹了MS Agent的相關(guān)技術(shù),并討論了在Word中調(diào)用MS Agent的流程,最后列出了常見(jiàn)的問(wèn)題及解決方法。
關(guān)鍵詞:Microsoft Agent;Word;調(diào)用
中圖分類號(hào):TP317文獻(xiàn)標(biāo)識(shí)碼:B文章編號(hào):1673-8454(2009)06-0060-03
引言
Word是微軟公司的Office系列辦公組件之一,是目前世界上最流行的辦公軟件。使用它我們可以編排出精美的文檔、方便地編輯和發(fā)送電子郵件、編輯和處理網(wǎng)頁(yè)等。但在界面活潑生動(dòng)、人性化方面略顯不足,為了彌補(bǔ)這個(gè)缺憾,我們可以將Microsoft Agent技術(shù)應(yīng)用到Word中,可以逐字地告訴計(jì)算機(jī)運(yùn)行一個(gè)報(bào)告,閱讀一個(gè)文檔或播放一首歌曲。
一、Microsoft Agent技術(shù)簡(jiǎn)介
Microsoft Agent是微軟公司于1997年9月發(fā)布的一項(xiàng)代理軟件開發(fā)技術(shù),它是一種可編程的軟件服務(wù),可以在其他應(yīng)用程序中實(shí)現(xiàn)與Agent動(dòng)畫角色的交互,比如要Agent角色執(zhí)行某個(gè)動(dòng)作、朗讀某段文本、“聆聽”用戶的語(yǔ)音命令。或者根據(jù)用戶的操作步驟提供一些信息等。這些功能使計(jì)算機(jī)更具人性魅力。MS Agent含有一個(gè)ActiveX (OLE)控件,其服務(wù)器程序運(yùn)行在Win98 /2000 /XP操作平臺(tái)上,為其他調(diào)用Agent的客戶程序提供服務(wù)??蛻舫绦蚩梢允抢肰B、C + +、Delphi、VFP、PB等開發(fā)的編程語(yǔ)言,使得Ms Agent既可以加入到普通應(yīng)用程序中供本地系統(tǒng)使用,也可以是HTML 文件中的Visual Script、Java Script腳本語(yǔ)言代碼,把它嵌入到HTML文檔中供Internet/ Intranet使用。在調(diào)用Agent之前,需要安裝以下幾個(gè)文件:
1.安裝Microsoft Agent核心組件msagent.exe(Microsoft Agent Server)。Windows 98以上版本操作系統(tǒng)已自動(dòng)安裝此核心組件。
2.安裝TTS引擎(Lernout &Hauspie TruVoice Text-To-Speech Engine): cgram.exe。
3.安裝語(yǔ)音識(shí)別引擎(Microsoft Command And Control Speech Engine):actcnc.exe。
如果希望通過(guò)語(yǔ)音控制Agent角色的行為,則必須安裝語(yǔ)音識(shí)別引擎actcnc.exe。目前,在Microsoft Agent技術(shù)中,微軟僅僅提供了美國(guó)英語(yǔ)的語(yǔ)音識(shí)別引擎。如果使用這個(gè)引擎,系統(tǒng)必須是奔騰120 MHz及其以上。
4.安裝Agent動(dòng)畫角色數(shù)據(jù)文件:ACS、ACF、ACA。
Agent支持兩種角色文件的格式:?jiǎn)我坏拇鎯?chǔ)格式文件(ACS,用于單機(jī)軟件)或者是多文件格式(ACF、ACA,用于網(wǎng)絡(luò)軟件)。
5.安裝其他相關(guān)引擎:IBM Via Voice Text-To-Speech系列。
因?yàn)長(zhǎng)ernout & Hauspie TruVoice American English Engine不能進(jìn)行中文語(yǔ)音輸出,如果希望角色能夠利用TTS引擎產(chǎn)生中文語(yǔ)音輸出,則必須下載并安裝SAPI4.0及其兼容的TTS引擎。IBM ViaVoice Text-To-Speech系列中、英文語(yǔ)音引擎與Agent具有良好的兼容性,其具有非常優(yōu)秀的特性,支持中英文混合輸出。
二、聲像化處理的流程
1.在Word中添加Agent控件
啟動(dòng)Microsoft Word 2003,選擇“工具/宏/Visual Basic編輯器”來(lái)激活Visual Basic編輯器。在Visual Basic編輯器中打開的“工程—Normal”面板中單擊“Normal”項(xiàng)目,在菜單中選擇“插入/用戶窗體”,選中“工具/引用”,激活引用對(duì)話框,在其中選中“Microsoft Agent 2.0”,單擊“確定”按鈕,完成這一級(jí)操作。通過(guò)選中“工具/附加控件”來(lái)激活附加控件對(duì)話框,找到“Microsoft Agent Control 2.0”,并單擊它的復(fù)選框。完成之后,將看到Agent圖標(biāo)位于工具箱的下半部分。
2.Word中調(diào)用Agent控件
(1)新建與放置
在Word的Visual Basic編輯器中的“用戶窗體”中放置Agent1、Command Button。
(2)定義變量
Dim Genie As IagentCtl Character
Set Genie = Agent1.Characters("Genie")
(3)Agent主要屬性、方法、事件
①加載Agent動(dòng)畫角色
語(yǔ)法:Const DATAPATH = _"C:WINDOWSmsagentcharsgenie.acs"
說(shuō)明:該函數(shù)返回指定文件目錄(在Windows98/2000/Me中是C:windowsmsagentchars,WindowsNT 中是c:winntmsagentchars)下的Agent 角色。
語(yǔ)法:Agent1.Characters.Load "Genie", DATAPATH。
說(shuō)明:該函數(shù)用于加載由DATAPATH指定的Agent 角色,若加載成功,返回該Agent 角色的Id的值,否則返回0。
②顯示/隱藏Agent動(dòng)畫角色
語(yǔ)法: Genie.Show
說(shuō)明:Genie角色在一陣煙幕、一道光線或以走上屏幕的方式出現(xiàn)。
語(yǔ)法:Genie.Hide
說(shuō)明:Genie在屏幕上隱藏自己。
注意:只有Agent 角色被加載后,才能使用該函數(shù)顯示/隱藏指定的Agent 角色。
③對(duì)指定的Agent 角色進(jìn)行各種動(dòng)作操作
語(yǔ)法:Genie.MoveTo X,Y
說(shuō)明:將Genie移動(dòng)到參數(shù)X、Y表示坐標(biāo)的位置上。
語(yǔ)法:Genie.Wait。
說(shuō)明:在多個(gè)不同動(dòng)畫人物之間協(xié)調(diào)動(dòng)畫動(dòng)作。
語(yǔ)法:Genie.Play“Animation”
說(shuō)明:執(zhí)行指定的動(dòng)畫動(dòng)作,參數(shù)Animation為一常量,表示動(dòng)畫的類型。
語(yǔ)法:Genie.speak“ Text”
說(shuō)明:角色可以說(shuō)出指定的文本。Speak函數(shù)的Text參數(shù)是將要朗讀的文字,文字可以有幾種形式,包括文字串、文件文本或URL。如果安裝有語(yǔ)音引擎和文本-語(yǔ)音轉(zhuǎn)化引擎(TTS),可以同時(shí)將Text指定的文本轉(zhuǎn)化為語(yǔ)音輸出,此時(shí)只需提供Text參數(shù),Agent角色將在文字氣球(Word Balloon)中顯示Text的內(nèi)容的同時(shí),播放Text的語(yǔ)音。
例如:Genie.Speak "My name is Genie. How are you!"
在例子中的Speak函數(shù)可以把text的內(nèi)容在文字氣球中顯示出來(lái),同時(shí)朗讀該句話。
Genie.Speak Active Document.ContentActive Document. Content指的是ActiveDocumen屬性的Content屬性,換句話說(shuō)就是朗讀當(dāng)前選定的Word文檔的文字。這條語(yǔ)句將導(dǎo)致Genie在文字氣球中顯示相關(guān)的文字的同時(shí),并大聲朗讀當(dāng)前文檔。
3.Word中運(yùn)行Agent控件
通過(guò)單擊“運(yùn)行/運(yùn)行子過(guò)程”(F5)來(lái)測(cè)試一下,該操作將激活這個(gè)用戶窗體,Agent服務(wù)器將在加載的時(shí)候初始化,在用戶退出的時(shí)候銷毀。當(dāng)按下Start按鈕的時(shí)候,Genie將出現(xiàn)并說(shuō):“My name is Genie.How are you!”在按下Stop的時(shí)候?qū)⑾?見(jiàn)圖1)。
三、常見(jiàn)的問(wèn)題與解決方法
使用的是Windows XP操作系統(tǒng)時(shí),可能不能正常輸出語(yǔ)音。這是因?yàn)镸icrosoft Agent使用的是SAPI 4.0來(lái)提供語(yǔ)音服務(wù)的。而Windows XP自帶安裝的為SAPI 5.0,況且SAPI 5.0不能提供向前兼容的能力(不過(guò)SAPI 4.0和SAPI 5.0能夠共同存在于同一個(gè)Windows XP操作系統(tǒng)中)。因此需要安裝SAPI4.0運(yùn)行支持(SAPI4.0 Runtime Support)Spchapi.exe。
Lernout & Hauspie TruVoice American English Engine不能進(jìn)行中文語(yǔ)音輸出,因此在進(jìn)行中文語(yǔ)音輸出的時(shí)候,必須下載并安裝SAPI4.0及其兼容的TTS引擎。IBM ViaVoice Text-To-Speech系列中、英文語(yǔ)音引擎與Agent具有良好地兼容性,其具有非常優(yōu)秀的特性,支持中英文混合輸出。
四、結(jié)束語(yǔ)
從Office 97開始,“幫助”菜單中就有了Office助手這項(xiàng)功能,如“大眼夾”,能夠根據(jù)用戶的操作步驟“智能化”地提供幫助信息。而與Office助手相比,MS Agent的功能更加地豐富和強(qiáng)大,具有鮮明的人性化特點(diǎn),使在多媒體教學(xué)軟件制作、Web應(yīng)用等方面具有更為廣闊的應(yīng)用前景。
參考文獻(xiàn):
[1]吳蘭岸,倪江華,曾潘.Microsoft Agent及其在英語(yǔ)課件開發(fā)中的應(yīng)用[J].中小學(xué)信息技術(shù)與教育,2007,(7-8):121-123.
[2]韓曉紅,李秦渝. Microsoft Agent技術(shù)在Authoware中的應(yīng)用[J].甘肅高師學(xué)報(bào) , 2006, (2):36-37.
[3]朱永海.制作Microsoft Agent角色課件動(dòng)畫[J]. 中小學(xué)信息技術(shù)教育,2007,(9):65-67.
[4]沈海軍.VB中創(chuàng)建文本朗讀應(yīng)用程序[J]. 電腦學(xué)習(xí),2001,(6):27.
[5]畢曉君,靜廣宇,徐先鋒.利用TTS技術(shù)實(shí)現(xiàn)文本文件的語(yǔ)音合成[J]. 自動(dòng)化技術(shù)與應(yīng)用,2004,(9):49-51.
(編輯:隗爽)