资源描述:
《vb调用microsoft agent控件与电脑交谈》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、VB调用MicrosoftAgent控件与电脑交谈用MicrosoftAgent控件与电脑交谈减小字体增大字体MicrosoftAgent控件比Office97中的助手功能更加丰富和强大,它提供的动画人物不仅有生动、有趣的动作,而且还能通过声卡、麦克风与用户进行交谈,这些功能使计算机更具人性魅力,其应用前途相当广阔。Microsoft Agent控件的内部机制很复杂,但用VB来操纵它却是非常方便,本文将介绍VB5.0调用MicrosoftAgent控件的基本方法。 安装MicrosoftAgent控件 ·首先安装MicrosoftAgent的核心组件ms
2、agent.exe。 ·接着安装Lernout&HauspieTruVoiceText-to-SpeechEngine(完成从文字合成语音的工作)cgram.exe。 ·最后安装MicrosoftCommandandControlSpeechEngine(提供语音识别功能)Actcnc.exe。 ·另外还需要Agnet动画人物数据文件,在本文中使用了Genie.acs、Robby.acs两个文件。 上述文件均可从http://www.microsoft.com/workshop/imedia/agent/default.asp下载。 Microso
3、ftAgent控件的初始化 先把MicrosoftAgent控件添加到VB的控制工具条上,并在用户的Form上绘制该控件(在下述例子中,其Name属性设为MyAgent)。下面的代码调用IAgentCtlCharacters::Load()方法装入一个动画人物的数据,调用IAgentCtlCharacter::Show()/Hide()方法来显示/隐藏动画人物。 ConstDATAPATH="c:" DimGenieAsIAgentCtlCharacter DimRobbyAsIAgentCtlCharacter DimGenieRequest1
4、,GenieRequest2AsIAgentCtlRequest DimRobbyRequest1AsIAgentCtlRequestPrivateSubForm_Load() ’装入动画人物数据,其中第一个参数为CharacterID MyAgent.Characters.Load"Genie",DATAPATH&"Genie.acs" MyAgent.Characters.Load"Robby",DATAPATH&"Robby.acs" ’获取与CharacterID相对应的IAgentCtlCharacter变量 SetGenie=MyAg
5、ent.Characters("Genie") SetRobby=MyAgent.Characters("Robby") ’显示/隐藏动画人物 Genie.Show Genie.HideEndSub MicrosoftAgent控件的动画编程 每个动画人物都有自己特定的动作,例如Genie有听、看、读、写、发怒、感谢等数十种动画形态,可以调用IAgentCtlCharacter::play()方法来设置动画动作。为了在多个动画人物之间协调它们的动作,比如让Robby等待Genie的某个动作执行完毕后才做另外一个动作,可采用IAgentCtlCha
6、racter::Wait()方法来实现同步。在数十种动画动作中有一类比较特殊(动作名以"ing"为后缀,如"Searching"),一旦执行便循环播放一段动画,只有调用IAgentCtlCharacter::Interrupt()方法才能终止。示例代码如下:PrivateSubCommand1_Click() Genie.Show '执行名为"Suggest"的动作 Genie.Play"Suggest" '把Genie移动到座标(200,200)处,用GenieRequest1来标识该动作请求 SetGenieRequest1=Genie.Mov
7、eTo(200,200) '执行名为"Searching"的循环动画动作,用GenieRequest2来标识该动作请求 SetGenieRequest2=Genie.Play("Searching") 'Robby等待Genie的MoveTo方法执行完毕,方才显示 Robby.WaitGenieRequest1 Robby.Show Robby.Play"Suggest" Robby.Play"read" Robby.Play"Congratulate" '由Robby来终止Genie的循环动画动作 Robby.InterruptGeni
8、eRequest2 Genie.Play"writ