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: