軟件藝術思考者 |
|
|||
混沌,彷徨,立志,蓄勢... |
公告
日歷
導航隨筆分類(86)
隨筆檔案(85)
搜索最新評論
閱讀排行榜評論排行榜 |
序大本營戰士 ---- Microsoft Agent是微軟公司于1997年9月發布的一項代理軟件開發技術,而后被集成到Internet Explorer 4.0 Plus及更高版本中,目前版本為2.0,支持簡體中文。作為一種軟件代理工具,Agent以其強大的交互功能、鮮明的人性特點、優美的操作界面和簡便統一的編程方法,對由菜單、按鈕、提示框等組成的傳統人機交互方式產生了很大影響,在多媒體創作、Web應用、教育軟件、軟件幫助系統和輔助工具制作等方面,具有廣闊的應用前景。 一、 Microsoft Agent技術簡介 ---- Agent一詞的中文意思是“代理”,故名思意,這類代理軟件的主要作用是提供一種易于理解和使用的操作界面,接受用戶的指令、代替用戶完成某些復雜繁瑣的工作、或為用戶提供幫助。科學研究表明:從人機工程的角度考慮,賦予電腦或程序更多人性化色彩,如支持語音合成輸出信息、語音識別輸入指令、智能提示、動畫等,能夠充分提高人機交互的有效性和易用性。 ---- 我們知道,在Office 97幫助系統中有一種叫作Office助手的代理軟件,其中幽默風趣的動畫人物,如“大眼夾”,能夠根據用戶的操作步驟“智能化”地提出一些建議或幫助信息。與Office助手相比,Agent功能更加豐富強大,表現在:
Office助手只允許Office 97的各個組件調用,Agent動畫人物可由任何Windows程序調用; Agent支持文字氣球和輸入提示條,在輸出語音的同時把文字輸出至一個卡通式文字氣球中。如果電腦系統中安裝有Agent語音識別引擎,當用戶按住輸入鍵,如Scroll Lock鍵,在Agent人物下方出現一個輸入命令窗口,表示它正在“聆聽”用戶的語音命令。 Agent提供Genie、Merlin、Bobby和Peedy等動畫人物,不僅具有優美詼諧的動作,而且可以通過聲卡、麥克風與用戶交談。
---- Agent是一種ActiveX控件,其服務器程序(C:\WINDOWS\MSAGENT\Agentsvr.exe)運行在Win95/98/NT操作平臺上,為其它調用Agent的客戶程序提供服務。客戶程序可以是利用VB、C++、Delphi、VFP、PB等開發的應用軟件,也可以是HTML文件中的Visual Script、Java Script腳本語言代碼。
安裝Lernout & Hauspie TruVoice Text-to-Speech Engine(完成從文字合成語音的工作,目前版本只支持英語)Cgram.exe。 安裝Microsoft Command and Control Speech Engine(提供語音識別功能,目前版本只支持英語)Actcnc.exe。 Agent動畫人物人物數據文件。Agent支持單結構角色文件(.acs,角色數據與動畫數據存于同一個文件),也支持分離結構角色文件(.acf,角色數據存于.acf中,動畫數據存于.aca中)。基于本地硬盤和網絡的應用程序可采用.acs文件,基于Web頁面的HTML文件在瀏覽器中訪問時會自動調用,習慣上多使用.acs文件。
三、 Microsoft Agent編程要點 ---- 1、 在Delphi中添加Agent控件 ---- 在Delphi IDE中選擇菜單Component,Import ActiveX Control——在Import ActiveX下的列表框中選擇Microsoft Agent Control 2.0(Version 2.0),點擊按鈕Install——在Install對話框中點擊按鈕OK——在Confirm對話框中點擊按鈕Yes——在對話框中點擊按鈕OK。至此,Agent控件被添加到Delphi組件板ActiveX頁上。 ---- 2、 在Delphi中調用Agent控件 ---- ⑴、在Delphi IDE 中新建Project1(包含Form1),在Form1上放置Agent1(Name屬性為MyAgent)、Button1。 ---- ⑵、定義變量。
---- ①Characters屬性與Load、Unload方法:初始化Agent,加載動畫數據,卸載動畫人物 ---- Request1 := MyAgent.Characters.Load( Peedy, C:\Windows\System\Peedy.acs ); ---- ②Show與Hide方法:顯示、隱藏Agent動畫人物。參數Fast表示動畫人物顯示、隱藏的速度。Fast為0表示Agent飛入、飛出,Fast為1表示Agent直接出現、消失,沒有動畫過程。 ---- Peedy.Show(0); ---- ③StopAll、Stop方法:停止所有動作。 ---- ④Connected屬性:Agent是否與Microsoft Agent服務器連接。 ---- ⑤Get_Height、Get_Width、Set_Height、Set_Width方法:獲得、設置Agent動畫人物的高度、寬度。 AgentHight := Peedy.Get_Height; AgentWidth := Peedy.Get_Width; Peedy.Set_Height( ---- Peedy.MoveTo( (Screen.Width-Peedy.Get_Width) Div 2, (Screen.Height-Peedy.Get_Height) Div 2, 2 ); ---- ⑦Interrupt方法:中斷指定角色的動畫。在幾十種動畫動作中,有一類后綴名為“ing” 的動作比較特殊,如“processing”、“searching”、“reading”、“writing”,一旦執行就必須通過調用另外一個動畫人物的Interrupt方法才能中斷 。角色不能中斷自身的動作,否則會導致異常。 ?Request1 := Request1 := Robby.Play(read); Peedy.Wait(Request1); Peedy.Play(search); ---- 動作類型 中文含意 動作類型 中文含意 動作類型 中文含意 ?Acknowledge 承認 ---- Peedy.speak(嗨,朋友們,你們好,現在由我為您提供幫助!,C:\新建文件夾\Help.wav); ---- Peedy.Speak( Do you like my help? If so, Please send me an email! Thank you!, ); ---- ⑾Commands.Add方法:在Button1Click事件中為Agent添加自定義語音識別命令,參數const Name表示語音命令的標識,參數Caption表示該命令在輸入命令窗口中的顯示標題,參數Voice表示該命令對應的語句。當用戶通過麥克風向動畫人物發出語音命令時,觸發Agent的Command事件,因此我們可以另外編寫一個過程完成語音識別功能。 procedure TForm1.Button1Click(Sender: TObject); begin Peedy.Commands.Add(Delphi,Run
評論:
|
![]() |
|
Copyright © 智者無疆 | Powered by: 博客園 模板提供:滬江博客 |
觀音菩薩贊