美文网首页
delphi下调用微软的TTS语音

delphi下调用微软的TTS语音

作者: 翟书东 | 来源:发表于2019-04-18 08:39 被阅读0次

    unit Unit1;

    interface

    uses

      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

      Dialogs, SpeechLib_TLB,StdCtrls;

    type

      TForm1 = class(TForm)

        Memo1: TMemo;

        Button1: TButton;

        Button2: TButton;

        Button3: TButton;

        procedure Button1Click(Sender: TObject);

        procedure Button2Click(Sender: TObject);

        procedure Button3Click(Sender: TObject);

        procedure FormCreate(Sender: TObject);

      private

      fVoce: ISpeechVoice;

        { Private declarations }

      public

        { Public declarations }

      end;

    var

      Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);

    begin

      if fVoce.Status.RunningState = SRSEDone then fVoce.Speak(Memo1.Text, SVSFlagsAsync);

      {1.状态判断很有必要,否者,连续点击的话,会一遍遍的重复.

      2.采用异步模式(SVSFlagsAsync)才不互影响主程序的运行}

    end;

    procedure TForm1.Button2Click(Sender: TObject);

    begin

      fVoce.Pause;

      fVoce.Status;

    end;

    procedure TForm1.Button3Click(Sender: TObject);

    begin

      fVoce.Resume;

    end;

    procedure TForm1.FormCreate(Sender: TObject);

    begin

      fVoce := CoSpVoice.Create;

    end;

    end.

    相关文章

      网友评论

          本文标题:delphi下调用微软的TTS语音

          本文链接:https://www.haomeiwen.com/subject/nzgawqtx.html