⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 speech.~pas

📁 关于tts语音引擎的使用方法!很多软件具有英文发音和朗读功能
💻 ~PAS
字号:
unit Speech;
interface
uses  Classes,Dialogs,VTxtAuto_TLB,ComObj,ActiveX;

type
  TSpeech = class
  public
    function InitVTxtAuto():boolean;
    procedure Speak(word:string);
    procedure SpeakSpeed(Speed:integer);
    function GetSpeakSpeed():Integer ;
  public
        IVTxtAutoEx:IVTxtAuto;
end;

const
vtxtsp_VERYHIGH = $00000080;
 {用于控制朗读的语气和优先级,主要有以下几种,可以根据需要灵活选择,如需多种选择将其进行或运算即可:
vtxtst_STATEMENT = $00000001;平时说话时语气,默认1。
vtxtst_QUESTION =  $00000002; 提问的语气2。
vtxtst_COMMAND = $00000004; 命令的语气4。
vtxtst_WARNING = $00000008; 警告的语气8。
vtxtst_READING = $00000010; 阅读文档时的语气16。
vtxtst_NUMBERS = $00000020; 阅读数字时的语气32。
vtxtst_SPREADSHEET = $00000040; 阅读电子表格中元素时的语气64。
vtxtsp_VERYHIGH = $00000080; 立即读出,可以打断当前正读的内容128。
vtxtsp_HIGH = $00000100; 尽快读出,加入播放队列开始256。
vtxtsp_NORMAL = $00000200; 默认,加入播放队列末尾。}

implementation

function SoundCardInstalled : longint; stdcall;
        external 'winmm.dll' name 'waveOutGetNumDevs';

function TSpeech.InitVTxtAuto():boolean;
begin
  // check sound board
  if SoundCardInstalled>0 then  begin
    try
        IVTxtAutoEx:=nil;
        CoInitialize(nil);// 初始化COM 库
        OleCheck(CoCreateInstance(CLASS_VTxtAuto_,nil,CLSCTX_ALL,IID_IVTxtAuto,IVTxtAutoEx));
        // 创建IVTxtAuto 接口
        IVTxtAutoEx.Register(' ',' ');
        // 向服务器注册
        IVTxtAutoEx.Set_Enabled(1);// open MSTTS
        IVTxtAutoEx.Set_Speed(150);// 设置语音速度
        InitVTxtAuto := true;
        result := true;
    except
        result := false;
    end
   end
  else  begin
   showmessage('没有检测到声卡,朗读功能不能启动!');
   result := false;
  end;
end;

procedure TSpeech.Speak(word:string);
begin
     if IVTxtAutoEx.IsSpeaking  then
      IVTxtAutoEx.StopSpeaking;
     IVTxtAutoEx.Speak(word,vtxtst_READING);
end;

//
procedure TSpeech.SpeakSpeed(Speed:integer);
begin
    if not IVTxtAutoEx.IsSpeaking  then
    IVTxtAutoEx.Set_Speed(Speed);// 设置语音速度
end;

function TSpeech.GetSpeakSpeed():Integer ;
begin
    Result:=IVTxtAutoEx.Get_Speed;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -