Text-to-Speech in Vista
-
03-07-2019 - |
Frage
Ich habe es getan, indem OLE-Objekt mit Delphi 2000 / NT / XP wie folgt vor:
Voice := CreateOLEObject('SAPI.SpVoice');
Voice.speak(...)
Aber das funktioniert nicht in Vista, wie kann ich mein Programm einfach einen Text in Vista sprechen?
Lösung
Ich habe gerade versucht (D2009 auf Vista Home Premium) mit dem folgenden Code und es funktioniert!
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, gibt es eine schönes Papier rel="nofollow von Brian Long ...
(Very) Später Update:
, warum es möglicherweise nicht in Vista arbeitet und gibt eine EZeroDivide Ausnahme außerhalb der IDE finden Sie in dieser anderen SO Frage: Delphi SAPI Text-To-Speech
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow