Texto para fala no Vista
-
03-07-2019 - |
Pergunta
Eu fiz isso através da criação de objeto OLE com Delphi em 2000 / NT / XP como a seguir:
Voice := CreateOLEObject('SAPI.SpVoice');
Voice.speak(...)
Mas isso não funciona no Vista, como posso fazer meu programa simplesmente falar um pouco de texto em Vista?
Solução
Eu apenas tentei (D2009 em Vista Home Premium) com o seguinte código e funciona!
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComObj;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Voice: Variant;
begin
Voice := CreateOLEObject('SAPI.SpVoice');
Voice.speak('Hello World');
end;
end.
FYI, há um papel agradável sobre o uso da fala em programação Delphi por Brian longa ...
(muito) atrasado Update:
Para porque ele pode não funcionar no Vista e dar uma exceção EZeroDivide fora do IDE, consulte esta outra questão SO: Delphi SAPI Text-To-Speech
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow