科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件Visual Basic .NET中操作MsAgent

Visual Basic .NET中操作MsAgent

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

.Net FrameWork SDK虽然推出了1.0正式版(版本号3705),但要用它来接管对计算机的所有操作。

作者:阿虎 来源:yesky 2007年11月10日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
8、 切换到【Form1.vb [设计]】窗口,并从【工具箱】中的【Windows窗体组件】中往窗体中拖入下列组件,并执行相应操作:

  一个ComboBox组件,用以让读者选择要出现的精灵名称。

  一个TextBox组件,用以输入精灵朗读的文字,由于程序中设定的精灵朗诵的语言为英语,所以这里输入的是英文单词。

  一个MsAgent组件

  二个Label组件

  四个Button组件,名称分别是Button1、Button2、Button3和Button4,用以实现和MsAgent组件相关的一些功能。并在这些组件加入到窗体后,分别在【Form1.vb [设计]】窗口中双击这四个组件,这样Visual Basic .Net集成开发环境会自动产生这四个组件的Click事件对应的处理代码。

  9、 把Visual Basic .Net集成开发环境的当前窗口切换到Form1.vb的代码编辑窗口,并在Form1.vb代码中的InitializeComponent过程之前加入下列代码:

Dim PlayChar As AgentObjects.IAgentCtlCharacterEx

  10. 并用下列的代码替换Form1.vb中的由系统自动产生的InitializeComponent过程的代码,下列代码的功能是初始化上述组件:

  界面设计和功能实现的前期准备工作就完成了,具体如图04所示:


图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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章