VB.NET -Usando os agentes Microsoft


Usar os agentes Microsoft no VB.NET não tem segredo . Basta você referenciar no seu projeto o componente Microsoft Agent .Vou mostrar um projeto simples que usa o ator Merlin para falar o  número dos telefones de uma agenda.

Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)

  1. Project Types : Visual Basic Projects
  2. Templates : Windows Application
  3. Name : Agenda
  4. Location : c:\vbnet\Agenda

A primeira coisa a fazer é incluir o componente Agent Control 2.0 na ToolBox , aba Components.

Para isto torne visível a toolbox e clique na aba - Components ; você verá a relação de componentes já incluídas.

Para instalar o componente , clique com o botão direito do mouse sobre a aba e no menu suspenso selecione a opção - Customize ToolBox.

Na janela - Customize Toolbox - selecione o componente , conforme figura abaixo , e clique em OK

Agora é só arrastar o componente para o formulário e incluir uma combobox e uma label conforme figura abaixo ( o logotipo e o link são perfumaria):

A idéia é a seguinte:

Quando o projeto for iniciado o ator Merlin deverá aparecer , dar as saudações e indicar a ação que o usuário deverá fazer. Esta ação será selecionar um nome na caixa de combinação.

Ao selecionar o nome , o ator irá falar o seu nome e o telefone que esta associado ao nome da

O código é bem simples. No evento Load do formulário temos :

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

agentController = New AgentObjects.Agent()

With agentController

.Connected = True

.Characters.Load("merlin", "merlin.acs")

agentCharacter = .Characters("merlin")

End With

With agentCharacter

.Show()

.MoveTo(Convert.ToInt16(Cursor.Position.X - 12), Convert.ToInt16(Cursor.Position.Y + 13))

.Play("Wave")

.Speak("OLá, Eu sou Merlin. Selecione o nome da pessoa cujo telefone deseja encontrar.")

.Play("RestPose")

End With

Me.ComboBox1.Items.AddRange(New Object() {"José Carlos Macoratti", "Janice Rachel Siqueira", "Jessica Lang", "Jefferson James Bond"})

End Sub

 

O código associado a  rotina pessoa()  é o seguinte :

Sub pessoa()

With agentCharacter

If ComboBox1.SelectedIndex = 0 Then

.Play("Think")

.Speak("O número do telefone de " & ComboBox1.Text & " é (021) 123456789")

.Play("Pleased")

ElseIf ComboBox1.SelectedIndex = 1 Then

.Play("Think")

.Speak("O número do telefone de " & ComboBox1.Text & " é (021) 123456789")

.Play("Pleased")

ElseIf ComboBox1.SelectedIndex = 2 Then

.Play("Think")

.Speak("O número do telefone de " & ComboBox1.Text & " é (021) 123456789")

.Play("Pleased")

ElseIf ComboBox1.SelectedIndex = 3 Then

.Play("Think")

.Speak("O número do telefone de " & ComboBox1.Text & " é (021) 123456789")

.Play("Pleased")

End If

End With

End Sub

 

Temos também o código associado ao evento SelectedIndexChange que é acionado quando uma nome na caixa de combinação for selecionado.

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

pessoa()

End Sub

]Até mais


José Carlos Macoratti