最近在做一个工业监控软件,需要用到MS 的TTS进行中文语句的朗读,以便进行工业操作提示。我对这个不熟悉,谁能提供一点源码?100分相送,更多也行。源码比较长的话请发至:[email protected]

解决方案 »

  1.   

    unit uSpeech;interfaceuses
      Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
      StdCtrls, Spin;type
      TFSpeech = class(TForm)
        Edit1: TEdit;
        Button1: TButton;
        Button2: TButton;
        SpinEdit1: TSpinEdit;
        SpinEdit2: TSpinEdit;
        Memo1: TMemo;
        procedure FormCreate(Sender: TObject);
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      FSpeech: TFSpeech;implementationuses
      VTxtAuto_TLB;
      { Project|Import Type Library
        [Add]
        Windows\Speech\vtxtauto.tlb
      }var
      vTxt: VTxtAuto_;
    {$R *.DFM}procedure TFSpeech.FormCreate(Sender: TObject);
    begin
      vTxt := CoVTxtAuto_.Create;
      vTxt.Register('', 'Speech');
    end;procedure TFSpeech.Button1Click(Sender: TObject);
    var
      W: WideString;
      I, N: Integer;
    begin
      N := Memo1.Lines.Count;
      W := '';
      for I := 0 to N - 1 do
        W := W + Memo1.Lines.Strings[I];
      vTxt.Speed := SpinEdit1.Value;
      vTxt.Speak(W, SpinEdit2.Value);
    end;procedure TFSpeech.Button2Click(Sender: TObject);
    begin
      vTxt.StopSpeaking;
    end;end.
      

  2.   

    cnsuyong(小可)的这种方法应该是只能读英文建议你使用SAPI5,相关资源可以到以下链接找到
    http://microsoft.com/speech/使用起来还是挺容易的,需要提醒你的是,当你导入类型库的时候无论是D5还是D6(D7没试过)自动产生的TLB单元会有一点小错误,是关于SPVoice对象的,你可以检查一下,然后手动改正过来,否则SDK无法正常使用
      

  3.   

    文本语音开发包,中英文朗读,调用简单
    http://www.cnetseek.com/gb/index.html
      

  4.   

    SimpChinese Speech Package.msi
      

  5.   

    微软新推出的Speech sdk 非常方便好用。可以朗读中英文和数字。