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