程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 基於Delphi的英文發音教學軟件的實現(2)

基於Delphi的英文發音教學軟件的實現(2)

編輯:Delphi
 

  圖1 軟件原理圖

2、VtxtAuto接口說明

Delphi中使用MSTTS引擎的類型庫名為VtxtAuto,通過分析,可以了解VtxtAuto的相關成員函數和屬性。

2.1 Speak函數

procedure Speak(const pszBuffer: WideString; dwFlags: Integer); safecall;

Speak函數用於實現朗讀功能,它有兩個參數,第一個參數向MSTTS引擎傳遞需要朗讀的文字,第二個參數由指定朗讀時使用的語氣和優先級的兩個符號合並而成。

2.2 Register函數

procedure Register(const pszSite: WideString; const pszApp: WideString);safecall;

Register函數用於實現接口的注冊。在軟件的初始化時,Register操作是必須的,因為在操作系統中可能有多個類似的程序在使用MSTTS引擎,通過Register操作可以對每一個使用MSTTS引擎的軟件進行設置和區分。

2.3 IsSpeaking屬性

property IsSpeaking: WordBool read Get_IsSpeaking;

IsSpeaking屬性是一個布爾函數,通過這個屬性可以取得當前程序的狀態,

2.4朗讀操作成員函數

VtxtAuto對象有一系列的成員函數,通過這些成員函數,可以實現對朗讀功能的各種操作、控制,具體函數如表1所示。

表1 VtxtAuto對象的成員函數

函數命令形式
函數說明
VtxtAuto.AudioResume
用於朗讀狀態的恢復操作
VtxtAuto.StopSpeaking
用於實現停止朗讀
VtxtAuto.AudioPause
用於實現暫停朗讀
VtxtAuto.AudioFastForward
用於實現向前跳過一句朗讀
VtxtAuto.AudioRewind
用於實現向後跳過一句朗讀

此外,還有一個屬性Speed,通過讀寫Speed屬性可以取得或設置朗讀的語速,其單位是“字數/分鐘”,缺省值為170。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved