扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:阿虎 来源:yesky 2007年11月10日
关键字:
图04:Visual Basic .Net操作MsAgent程序的设计界面 |
10. Visual Basic .Net中实现装入精灵。
当程序中装入精灵后,精灵就会显示在Windows的状态栏中,具体思路是把各个精灵先强制转换成一个Object的对象,精灵对应的扩展名是"acs",然后调用MsAgent组件的"Load"方法把对象加入就可以了,并根据装入的精灵类型来初始化上面定义的一个AgentObjects.IagentCtlCharacterEx接口的实例,后面对精灵的操作就是通过这个实例中方法来实现的。具体实现方法是用下列的代码替换Form1.vb中的Button1的Click事件的处理代码:
Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click '根据使用者的不同选择,装入不同的精灵类型 Select Case ComboBox1.Text Case "Genie" Dim myObject As Object = CType ( "genie.acs" , Object ) '装入吉利 AxAgent1.Characters.Load ( "genie" , myObject ) PlayChar = AxAgent1.Characters ( "genie" ) Case "MerLin" Dim myObject As Object = CType ( "merlin.acs" , Object ) '装入莫林 AxAgent1.Characters.Load ( "merlin" , myObject ) PlayChar = AxAgent1.Characters ( "merlin" ) Case "Robby" Dim myObject As Object = CType ( "robby.acs" , Object ) '装入罗比 AxAgent1.Characters.Load ( "robby" , myObject ) PlayChar = AxAgent1.Characters ( "robby" ) Case "Peedy" Dim myObject As Object = CType ( "peedy.acs" , Object ) '装入彼得 AxAgent1.Characters.Load ( "peedy" , myObject ) PlayChar = AxAgent1.Characters ( "peedy" ) End Select Button1.Enabled = False Button2.Enabled = True Button3.Enabled = True Button4.Enabled = True End Sub |
11. 在Visual Basic .Net中实现精灵朗诵文字动作:
精灵实现朗诵文字是通过AgentObjects.IagentCtlCharacterEx接口中的Speak方法,在调用Speak方法的时候,必须注意二点:其一,Speak方法有二个参数,第一个参数就是精灵朗诵的内容,在调用Speak方法时,必须保证朗诵的内容不为空;其二,在调用Speak方法朗诵之前,必须先调用其Show方法,把精灵显示出来,否则虽然调用了Speak方法,由于没有先显示精灵,也依然无法通过精灵来朗诵。具体的实现方法是用下列代码替换Form1.vb中的Button2的Click事件对应的处理代码:
Private Sub Button2_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button2.Click PlayChar.LanguageID = 1033 '设定精灵朗读的语言种类对于地ID,1033是设定为英文 PlayChar.Show ( False ) '显示精灵 If TextBox1.Text.Length <> 0 Then '判断TextBox1中是否有内容 PlayChar.Speak ( TextBox1.Text , "" ) '开始朗诵TextBox1中的内容 PlayChar.Hide ( True ) End If End Sub |
12. 在Visual Basic .Net中实现精灵的思考动作:
精灵思考动作和朗诵动作非常类似,最大区别是思考动作没有发出声音,而朗诵动作是有声的。实现精灵思考使用的是AgentObjects.IagentCtlCharacterEx接口中Think方法,Think方法后面有一个参数,就是精灵思考的内容。在调用Think方法的时候,所要注意的问题和Speak方法一样,读者可参阅上面调用Speak方法要注意的二个问题。具体的实现方法是用下列代码替换Form1.vb中的Button3的Click事件对应的代码:
Private Sub Button3_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button3.Click PlayChar.LanguageID = 1033 '设定精灵朗读的语言种类对于地ID,1033是设定为英文 PlayChar.Show ( False ) '显示精灵 If TextBox1.Text.Length <> 0 Then '判断TextBox1中是否有内容 PlayChar.Think ( TextBox1.Text ) PlayChar.Hide ( True ) End If End Sub |
13. 卸载装入的精灵。
由于本程序可以在一个程序中使用多个精灵,但由于变量只设定了一个,所以在使用另外一个精灵的之前,必须先卸载掉已经装入的精灵,否则就会程序异常。卸载装入的精灵使用的是Unload方法,Unload方法后面是已经装入的精灵对应的名称字符串。具体实现方法是用下列代码替换Button4的Click事件对应的处理代码:
Private Sub Button4_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button4.Click Select Case ComboBox1.Text Case "Genie" AxAgent1.Characters.Unload ( "genie" ) Case "MerLin" AxAgent1.Characters.Unload ( "merlin" ) Case "Robby" AxAgent1.Characters.Unload ( "robby" ) Case "Peedy" AxAgent1.Characters.Unload ( "peedy" ) End Select Button1.Enabled = True Button2.Enabled = False Button3.Enabled = False Button4.Enabled = False End Sub |
在上述步骤都正确完成,并保持后,编写Visual Baisc .Net中操作MsAgent程序的全部工作就完成了。此时单击快捷键【F5】就可以运行程序了,在选择框中选择要显示的精灵类别,单击程序中的【装入】按钮,在【输入提示内容】文本框中输入要精灵提示的内容后,单击【朗诵】按钮,此时精灵就会把【输入提示内容】文本框中的内容逐个朗诵一遍,单击【思考】按钮,此时精灵就会把【输入提示内容】文本框中内容逐个显示一下,但并不朗诵。如果你想要换一个精灵来朗诵、思考【输入提示内容】文本框中的内容,请先单击【卸载】按钮,然后在【选择精灵】选择框中选择精灵,在重复上面的操作就可以了。图05和图06是程序分别选择不同精灵的运行界面:
图05:Visual Basic .Net操作MsAgent程序选择Genie精灵时的运行界面 |
图06:Visual Basic .Net操作MsAgent程序选择MerLin精灵时的运行界面 |
三、 总结:
本文全面介绍在Visual Basic .Net中操作MsAgent的具体的实现方法,由于篇幅所限,并没有完全介绍MsAgent中的精灵的全部动作,这些动作如"Wait"、"Listen"、"Move to"等,但是本文介绍的Speek,Show,Hide,Think动作是精灵使用的最为常用的动作,并且那些没有介绍的动作的具体实现方法和本文介绍的动作实现方法相类似,读者如使用本文没有介绍的动作时,可参照本文介绍的Speek,Show,Hide,Think动作的地实现方法,相信会对你有很大启发的
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者