Junior Zancan Admin
Mensagens : 6 Data de inscrição : 13/07/2011 Idade : 27
| Assunto: Text-To-Speech no Visual Basic 2008 e 2010 Sáb 16 Jul 2011, 21:20 | |
| Pessoal, vou ensinar aqui como fazer uma aplicação falar no visual basic. Primeiramente você vai precisar de 2 módulos da microsoft: Texto para Fala - TTS3000 TTS engine - Portugues (Brazil), 2.4 MB exeSpeech API runtime binaries, 824 KB exeVocê também encontra esses 2 arquivos anexados nesse post. Instale esses 2 módulos. Abra o Visual Basic 2008 ou 2010, crie um novo Windows Forms Application, coloque o nome que você quiser. Adicione uma Referencia, indo em Project > Add Reference Em COM, procure por Microsoft Direct Text-to-Speech Coloque um combobox(ComboBox1), um textbox com multiline (TextBox1), tres botões, sendo Falar, Pausar e Parar (Button1, Button2 e Button3) - Código:
-
Imports ACTIVEVOICEPROJECTLib 'Importa o módulo Public Class Form1 Dim voz As New DirectSS 'define voz como o módulo Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i As Integer
Dim tipoVoz As String
For i = 1 To voz.CountEngines
tipoVoz = voz.ModeName(i)
ComboBox1.Items.Add(tipoVoz) ' adiciona as vozes disponiveis no sistema em um combobox
Next
ComboBox1.SelectedIndex = 0 End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged voz.CurrentMode = ComboBox1.SelectedIndex + 1
'quando você muda a voz, ele define If (voz.Gender(voz.CurrentMode) = 1) Then
voz.LipType = 0
Else
voz.LipType = 1
End If End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Then MsgBox("Digite um texto") 'se nao tiver nada escrito, ele avisa Else voz.AudioPause() 'pausa o texto (se estiver falando) voz.AudioReset() 'reinicia voz.Speak(TextBox1.Text) 'começa a falar End If End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If Button2.Text = "Pausar" Then 'se o texto do botão for pausar, significa que ele está falando, então ele muda para continuar e pausa a fala voz.AudioPause() Button2.Text = "Continuar" Else Button2.Text = "Pausar" voz.AudioResume() End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click voz.AudioPause() 'pausa para nao continuar falando voz.AudioReset() 'volta ao começo End Sub End Class
Para colocar esse código, dê dois cliques em qualquer lugar do seu formulário, apague tudo e cole esse código. É isso, agora você ja tem um aplicativo Text-to-Speech. Se você está se perguntando porque eu coloquei isso aqui , foi porque você pode usar isso junto com um aplicativo de controle de porta serial ou paralela (vou ensinar os 2 aqui) ou outra coisa e fazer, por exemplo, um sistema que fala a hora quando você entra em uma sala, ou a temperatura, etc. Qualquer dúvida, mande uma MP para mim. O código fonte, já pronto, está anexado nesse post. - Anexos
- lhttsptb.zip
- Texto para Fala - TTS3000 TTS engine - Portugues (Brazil), 2.4 MB exe
- Você não tem permissão para fazer download dos arquivos anexados.
- (2.4 Mb) Baixado 10 vez(es)
- spchapi.zip
- Speech API runtime binaries, 824 KB exe
- Você não tem permissão para fazer download dos arquivos anexados.
- (785 Kb) Baixado 9 vez(es)
- Fala.zip
- Código fonte do projeto
- Você não tem permissão para fazer download dos arquivos anexados.
- (143 Kb) Baixado 16 vez(es)
| |
|
jaocs
Mensagens : 1 Data de inscrição : 29/01/2014
| Assunto: Re: Text-To-Speech no Visual Basic 2008 e 2010 Qua 29 Jan 2014, 06:57 | |
| vlwww ajudo mto cara parabens procurei em todo lugar e esse post foi o unico q realmente explicou | |
|