unit word1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
VTxtAuto_TLB, StdCtrls, ComCtrls, Mask, FileCtrl;type
TForm1 = class(TForm)
speedtext: TStaticText;
speed: TTrackBar;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
gettext: TLabel;
procedure FormCreate(Sender: TObject);
procedure stopbtnClick(Sender: TObject);
procedure speedChange(Sender: TObject);
procedure prebtnClick(Sender: TObject);
procedure nextbtnClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char); private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
TTS:IVTxtAuto;
implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
TTS:=CoVtxtAuto_.Create;
TTS.Register('superwords','superwords');
speed.Position:=TTS.Get_Speed;
speedtext.caption:='速度:'+inttostr(speed.position);
speed.SelEnd:=speed.Position;
//filelistbox1.Mask:= '所有文件(*.*)|*.*| 文本文件(*.txt)|*.txt';
end;procedure TForm1.stopbtnClick(Sender: TObject);
begin
TTS.StopSpeaking;
end;
procedure TForm1.speedChange(Sender: TObject);
begin
TTS.Set_Speed(speed.position);
speedtext.caption:='速度:'+inttostr(speed.position);
speed.SelEnd:=speed.Position;
end;procedure TForm1.prebtnClick(Sender: TObject);
begin
TTS.AudioRewind;
end;procedure TForm1.nextbtnClick(Sender: TObject);
begin
TTS.AudioFastForward;
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
TTS:=nil;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
TTS.Speak(Edit1.text,vtxtst_READING);
end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (length(trim(edit1.text))>0) and (key=chr(32))
then begin if trim(edit1.text)=gettext.Caption
then begin
TTS.Speak(edit1.Text,vtxtst_COMMAND);
edit1.Clear;
end
else TTS.Speak('YOU ARE WRONG',vtxtst_STATEMENT);
end;
end;
end.
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
VTxtAuto_TLB, StdCtrls, ComCtrls, Mask, FileCtrl;type
TForm1 = class(TForm)
speedtext: TStaticText;
speed: TTrackBar;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
gettext: TLabel;
procedure FormCreate(Sender: TObject);
procedure stopbtnClick(Sender: TObject);
procedure speedChange(Sender: TObject);
procedure prebtnClick(Sender: TObject);
procedure nextbtnClick(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char); private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
TTS:IVTxtAuto;
implementation{$R *.DFM}procedure TForm1.FormCreate(Sender: TObject);
begin
TTS:=CoVtxtAuto_.Create;
TTS.Register('superwords','superwords');
speed.Position:=TTS.Get_Speed;
speedtext.caption:='速度:'+inttostr(speed.position);
speed.SelEnd:=speed.Position;
//filelistbox1.Mask:= '所有文件(*.*)|*.*| 文本文件(*.txt)|*.txt';
end;procedure TForm1.stopbtnClick(Sender: TObject);
begin
TTS.StopSpeaking;
end;
procedure TForm1.speedChange(Sender: TObject);
begin
TTS.Set_Speed(speed.position);
speedtext.caption:='速度:'+inttostr(speed.position);
speed.SelEnd:=speed.Position;
end;procedure TForm1.prebtnClick(Sender: TObject);
begin
TTS.AudioRewind;
end;procedure TForm1.nextbtnClick(Sender: TObject);
begin
TTS.AudioFastForward;
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
TTS:=nil;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
TTS.Speak(Edit1.text,vtxtst_READING);
end;procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if (length(trim(edit1.text))>0) and (key=chr(32))
then begin if trim(edit1.text)=gettext.Caption
then begin
TTS.Speak(edit1.Text,vtxtst_COMMAND);
edit1.Clear;
end
else TTS.Speak('YOU ARE WRONG',vtxtst_STATEMENT);
end;
end;
end.
解决方案 »
- delphi连接Access数据库,打开数据库后会有一个.ldb文件,类型会出现ACCESS等字样,如果你不想让人看出来怎么办?
- 有没有类似 DreamMail 左侧的树形控件
- 怎样把两表(table)的内容在同一个dbgrid里面显示出来
- 怎么做一个编译器根据代码生成可执行pe文件?
- 将.txt文件转化成传真文件后,传真文件中出现中文乱码,请大虾帮忙啊。急!!!
- 关于DBGrid的问题
- 请问怎么解决ListView效率低的问题??
- 如何输入INFORPOWER的密码?
- 加上版本信息就会被杀毒软件报病毒
- 通过短讯注册
- 给个思路!
- image 显示图片能让图片按照image的大小变化而等比例变化
它通过setvoice方法可改变说中文还是其他,不过说中文没有口型变化,说英文还有口型变化。
安装到delphi的控件中没有setvoice方法。
金山词霸的英文朗读用的是TTS
中文似乎不是哦,好像是别的什么引擎
spvoice1.Speak('<LANG LANGID="409">hello</LANG>你好',SVSFlagsAsync or SVSFIsXML);可以实现中英文朗诵‘hello,你好’