Fazendo Delphi Falar

Bom, retomando a parte de códigos que recentemente não tenho escrito muito, dessa vez eu tive de vir para postar isto aqui..
A meses atraz eu fiz diversos tipos de procuras por esse código e não o encontrei, quando eu via qualquer link que dizia “aqui tem”. ou era pago, ou precisava de registro, ou era fake..
E como eu acho que é uma função realmente útil, resolvi posta-lá.

Quem já não quis fazer um programa com áudio? ou melhor, quem já não quis que seu programa te dissesse tudo o que vc precisa?
ex. Acesso permitido. ou Acesso negado.
e qualquer outra frase, sem ter que ir grava-lá e mandar um componente executar o áudio.
Bom.. Eu precisei deste código! e depois de procurar quinem doido, finalmente consegui montar o quebra cabeça, e fazer o esquema funcionar (nem acreditei no quão simples era).

Utilizando o “Text to Speech/Speaker/Fala” do windows.
Antes de mais nada, adicionar na uses: ComObj.

A atribuição da função à uma váriavel é simples:
var
voz : OleVariant;
begin
voz:=CreateOleObject(‘SAPI.SpVoice’);

Com isso, a váriavel voz, passa a obedeçer como a “engine” do programa de fala do windows, passando assim a receber atributos ex.
voz.Rate:=10; -> para deixar a voz falando super rápido.
voz.Rate:=-10; -> para deixar a voz falando super lento.

E dando o procedimento de execução:
voz.Speak(‘SPEAK THIS THING‘);

Vi em diversos lugares também comandos como:
voz.Pause;
voz.Resume;

dos quais não tive muito interesse (sendo assim nem os testei).

De qualquer maneira, agora você pode fazer seu programa falar o que vc quizér e/ou até mesmo (para grandes empresas (se necessário)) adicionar uma opção para que cégos possam utilizar seu programa, fora todo o esquema de automação em que este código pode te incluir.

Para os preguiçosos:
procedure Falar(texto:string);
var fala:olevariant;
begin
fala:=CreateOleObject(‘SAPI.SpVoice’);
fala.Speak(texto);
end;

só usar: Falar(‘Seu texto.‘);

Abraço!
;D

Tags: , , , , , , , , , ,

4 Respostas para “Fazendo Delphi Falar”

  1. Jonatan Disse:

    Muito bom o Post Parabéns, não conseguir usar o rate para tratar a velocidade da fala. No mais Show de bola

  2. jonatas mlk doido Disse:

    não consegui pausar

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s


Seguir

Obtenha todo post novo entregue na sua caixa de entrada.