VB
.NET- Usando os Agentes Microsoft - revisitado
Hoje eu estou escrevendo este artigo por que recebi um email solicitando que mostrasse como usar os agentes Microsoft no Windows 7.
Então vamos lá...
Veja o meu artigo sobre o assunto usando o Visual Basic 6: Usando os Agents da Microsoft no Visual Basic
E neste artigo eu mostro como usar o recurso usando VB .NET : VB.NET -Usando os agentes Microsoft
Instalando os recursos
Para poder usar os agentes em sua aplicação VB .NET você vai precisar instalar os seguintes recursos:
1- Microsoft Agent Core Components version 2.0 (395K) - biblioteca principal para poder usar os agentes
2 - Lernout & Hauspie TruVoice, Text-to-Speech Engine (English version) (1MB) - permite que você ouça o que os agentes estão falando
Existem engines adicionais para outros idiomas conforme mostra a tabela abaixo:
| Linguagem | TTS Engine |
Language
Add-On (128 KB) |
| American English | tv_enua.exe | já instalada |
| British English | lhttseng.exe | já instalada. |
| Dutch | lhttsdun.exe | agtx0413.exe |
| French | lhttsfrf.exe | agtx040C.exe |
| German | lhttsged.exe | agtx0407.exe |
| Italian | lhttsiti.exe | agtx0410.exe |
| Japanese | lhttsjpj.exe | agtx0411.exe |
| Korean | lhttskok.exe | agtx0412.exe |
| Portuguese (Brazilian) | lhttsptb.exe | agtx0416.exe |
| Russian | lhttsrur.exe | agtx0419.exe |
| Spanish | lhttsspe.exe | agtx0C0A.exe |
Você deve instalar o TTS engine e o Add-on para a linguagem desejada.
Você pode baixar também alguns atores neste link: http://www.microsoft.com/products/msagent/main.aspx
Você pode baixar outros atores neste link: http://www.msagentring.org/chars.aspx (eu não testei nenhum desses atores)
Após instalar os recursos vamos criar um projeto VB .NET bem simples usando o Visual Basic 2010 Express Edition.
Usando os agentes microsofts
Abra o Visual Basic 2010 Express Edition e no menu File clique em New Project;
Selecione o template Windows Forms Application e informe o nome Agentes;
A seguir vamos incluir os seguintes controles no formulário form1.vb:
Disponha os controles conforme o leiaute da figura abaixo:
![]() |
Agora vamos referenciar a biblioteca dos agentes em nosso projeto.
No menu Project clique Add Reference a seguir e selecione a aba COM e o componente Microsoft Agent Control 2.0 e clique em OK;
![]() |
Declare as variáveis objetos para os atores no início do formulário form1.vb:
Private
mobjController As AgentObjects.Agent
Private mobjCharacter As AgentObjects.IAgentCtlCharacter
Agora vamos definir o código do botão que carrega o agente com o qual vamos trabalhar. No evento Click do botão btnCarregarAgente inclua o código abaixo:
Private Sub btnCarregaAgente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCarregaAgente.Click
mobjController = New AgentObjects.Agent
With mobjController
.Connected = True
'.Characters.Load("merlin", "merlin.acs")
'mobjCharacter = .Characters("merlin")
.Characters.Load("peedy", "peedy.acs")
mobjCharacter = .Characters("peedy")
End With
With mobjCharacter
.Show()
.Top = 300
.Left = 600
.Width = 200
.Height = 200
.SoundEffectsOn = True
End With
btnFalar.Enabled = True
btnListaAnimacoes.Enabled = True
btnParar.Enabled = True
End Sub
|
Estou usando o ator peedy (o papagaio) mas você pode usar qualquer ator que desejar.
Após carregar os agentes podemos listar as animações suportadas pelo mesmo no listbox - lstbAnimacoes. No evento Click do botão btnListaAnimacoes digite o código abaixo:
Private Sub btnListaAnimacoes_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnListaAnimacoes.Click
Dim Animation As Object
For Each Animation In mobjCharacter.AnimationNames
lstbAnimacoes.Items.Add(Animation)
Next
btnExecuta.Enabled = True
End Sub
|
A seguir no evento click do botão btnExecuta definimos o código a seguir que executa uma animação selecionada no listbox:
Private Sub btnExecuta_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExecuta.Click
If lstbAnimacoes.SelectedIndex <> -1 Then
mobjCharacter.StopAll()
mobjCharacter.Play(lstbAnimacoes.SelectedItem.ToString)
Else
MsgBox("Selecione uma animação para executar...")
End If
End Sub
|
No botão btnFalar temos o código que exibe o texto digitado na caixa de texto txtTexto bem como o som
Private Sub btnFalar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFalar.Click
mobjCharacter.Speak(txtTexto.Text)
End Sub
|
Para parar uma animação definimos o código abaixo no botão btnParar:
Private Sub btnParar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnParar.Click
objAtor.StopAll()
End Sub
|
Executando o projeto iremos obter o seguinte resultado:
![]() |
Assim acabamos de usar os agentes Microsoft em uma aplicação Visual Basic no Windows 7.
Pegue o projeto completo aqui:
AgentesMicrosoft_VBNET.zip
João 6:51
Eu sou o pão vivo que desceu do céu; se alguém comer deste pão, viverá para sempre; e o pão que eu darei pela vida do mundo é a minha carne.João 6:52
Disputavam, pois, os judeus entre si, dizendo: Como pode este dar-nos a sua carne a comer?João 6:53
Disse-lhes Jesus: Em verdade, em verdade vos digo: Se não comerdes a carne do Filho do homem, e não beberdes o seu sangue, não tereis vida em vós mesmos.João 6:54
Quem come a minha carne e bebe o meu sangue tem a vida eterna; e eu o ressuscitarei no último dia.Referências: