fpc : 调用 MS TTS 读中英文

这个例子是 free pascal 在Windows XP 调用 MS TTS 读中英文

tts2.pas

Program tts2;
{$mode objfpc}{$H+}

uses
  Classes,SysUtils,Process,Variants,ComObj,RegExpr,ShellApi;

var 
  Sp: Variant;
  re: TRegExpr;
  i : Integer;
begin
  if Assigned(InitProc) then
    TProcedure(InitProc);
  try
    Sp := CreateOleObject('SAPI.SpVoice') ;
    re := TRegExpr.Create;
    re.Expression := '^[A-Za-z]+$';
    for i:=1 to ParamCount do
    begin
	  if re.Exec(ParamStr(i)) then
	    Sp.Speak(ParamStr(i)) // english
	  else // speak.vbs 读中文
	    ShellExecute(0,nil, PChar('".\speak.vbs"'), PChar(ParamStr(i)), nil,0);
	  Sleep(1);
    end
  except
    writeln(' OLE Error ');	  
  end;
  re.free;
end.


speak.vbs  见 blog.csdn.net/belldeep/article/details/7064800

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值