亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? delphi-voice-develop.txt

?? 基于Delphi的英文發音教學軟件的實現
?? TXT
字號:

  基于Delphi的英文發音教學軟件的實現

[日期:2006-12-02] 	來源:  作者: 	[字體:大

 引言

  MSTTS(Microsoft Text-To-Speech)是微軟公司研制的一套功能強大的英文
文字朗讀引擎,它可以將文檔中的英文文字信息轉換成計算機語音信息,通過計算
機聲卡發音將內容朗讀出來。利用它和相關的語音接口開發出英語發音教學軟件,
可以實現英文單詞發音及整段英文的流利朗讀示范。從而,可以使學生在課下或者
沒有教師的情況下,從軟件中獲得標準的英文發音的輔助,這對于一些發音不好的
英語學習者有極大的幫助。

  MSTTS引擎簡介

  要在軟件的開發過程中使用MSTTS技術,必須安裝MSTTS引擎。MSTTS引擎的安
裝包可以在微軟公司的官方網站下載,也可以在“金山詞霸”軟件的安裝盤中找到。
運行安裝包后,MSTTS引擎將被安裝在系統之中,同時,在操作系統控制面板的“添
加/刪除”程序中會出現“Microsoft Text-to-speech Engine”卸載項。在安裝好
MSTTS引擎之后,就可以利用的Borland Delphi平臺使用MSTTS技術開發相應的英語
教學軟件,實現英文朗讀等功能。

  設計原理

  1、軟件設計原理

  軟件在Delphi平臺中的設計原理是通過調用微軟語音接口(MS Speech API)
來實現英文文字朗讀功能的。安裝MS Speech API的方法和MSTTS引擎相同,亦可以
在微軟官方網站或者在“金山詞霸”安裝盤中找到。運行spchapi.exe后,Windows目
錄中會生成一個Speech子目錄,其中有一個Vtxtauto.tlb文件,它是相應的類型
庫,對服務器的接口給出了與語言無關的描述;Vcmd.exe作為進程外的自動化服務
器,提供將文本轉換為語音的服務。

  軟件的功能分三大模塊:語音顯示模塊、語音控制模塊和編輯模塊。語音顯示
模塊中,將動態顯示朗讀對象,即語音自動化服務器的處理對象;語音操作模塊
中,提供一系列的語音操作,即對語音服務進行動態的個性化處理;編輯模塊是對
文本內容的個性設定,滿足特殊用戶的需求。軟件的原理如圖1所示。

     圖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、VtxtAuto類型庫的導入

  首先,在Borland Delphi平臺上,新建一個Application,然后從Project菜單
的“Import Type Library...”中選擇“Add...”,瀏覽到Windows目錄下的Speech子
目錄里,打開vtxtauto.tlb,可以看到下面Class names中會出現我們需要的接口
的包裝類“TVTxtAuto”文件。選中對話框底部的Generate Component Wrapper,點
擊Create Unit就可以打開一個名為VTxtAuto_TLB的Unit。

  2、程序界面的設計

  在窗體Form1上添加如下控件:1個Memo文本控件,1個TrackBar滾動條控件和8
個按鈕控件。將這些控件合理安排,軟件主界面如圖2所示。然后,對各個控件的
屬性進行設置。

  圖2 軟件主界面

  文本控件用于顯示和編輯朗讀內容;滾動條控件用于動態設定語速,其MAX屬
性設置為300;第一個按鈕的Caption屬性設為“朗讀”,它的功能是當用戶點擊按鈕
時進行朗讀;第二個按鈕控件的Caption屬性設為“停止”,它的功能是當軟件處于
朗讀狀態時停止朗讀;第三個按鈕控件的Caption屬性設為“暫停”,它的功能是當
軟件處于朗讀狀態時暫停朗讀;第四個按鈕控件的Caption屬性設為“恢復”,它的
功能是當軟件處于暫停狀態時恢復朗讀;第五個按鈕控件的Caption屬性設為“向
前”,它的功能是當軟件處于朗讀狀態時快速跳轉到下一句;第六個按鈕控件的
Caption屬性設為“向后”,它的功能是當軟件處于朗讀狀態時快速回退到上一句;
第七個按鈕控件的Caption屬性設為“導入”,它的功能是向文本控件導入新的朗讀
內容;第八個按鈕控件的Caption屬性設為“導出”,它的功能是把編輯好的朗讀內
容進行保存操作。

  3、代碼的實現

  3.1 VtxtAuto的注冊

  首先聲明全局變量:

  var TTS:IVTxtAuto;

  然后,在FormCreate中用VtxtAuto類型庫的Register函數注冊軟件。同時,初
始化滾動條控件,用于設定系統語速狀態。

  |procedure TForm1.FormCreate(Sender: TObject);
begin
 TTS:=CoVtxtAuto_.Create;//產生自動化對象
 TTS.Register('WingRocWords','WingRocWords');//向服務器注冊
 suiTrackBar.Position:=TTS.Get_Speed;//獲得語音速度
 speedtext.Caption:='當前速度:'+IntToStr(TTS.Speed)+' 字/分鐘'; //顯示
語音速度
end;|  

  3.2 朗讀按鈕代碼的實現

  |procedure TForm1.ReadClick(Sender: TObject);
begin
 TTS.Speak(TxtMemo.Lines.Text,vtxtst_READING);//朗讀文本控件中的內容|

|3.3 停止按鈕代碼的實現|

  |procedure TForm1.StopClick(Sender: TObject);
begin
 TTS.StopSpeaking;//停止朗讀
end;|

  3.4 暫停按鈕代碼的實現

  |procedure TForm1.PauseClick(Sender: TObject);
begin
 if TTS.IsSpeaking//判斷系統是否處于朗讀狀態
 then
  TTS.AudioPause;//如果為真,暫停朗讀
 else
  ShowMessaget('未在朗讀狀態!');//如果為假,顯示錯誤信息
end; |

  3.5 恢復按鈕代碼的實現

  |procedure TForm1. ResumeClick(Sender: TObject);
begin
 TTS.AudioResume;//恢復朗讀狀態
end;|

  3.6 向前按鈕代碼的實現

  |procedure TForm1. FastForwardClick(Sender: TObject);
begin
 TTS.AudioFastForward;//向前跳轉一句
end;|

  3.7 向后按鈕代碼的實現

  |procedure TForm1. RewindClick(Sender: TObject);
begin
 TTS.AudioRewind;//向后跳轉一句
end;|

  3.8 導入按鈕代碼的實現

  |procedure TForm1.InputClick(Sender: TObject);
begin
 if OpenDialog.Execute //激活OpenDialog控件
 then
  TxtMemo.Lines.LoadFromFile(OpenDialog.FileName); //向文本控件中導入
朗讀內容
end;|

  3.9 導出按鈕代碼的實現

  |procedure TForm1.OutputClick(Sender: TObject);
begin
 if SaveDialog.Execute //激活SaveDialog控件
 then
  TxtMemo.Lines.SaveToFile(SaveDialog.FileName); //保存編輯好的朗讀內容
end;|

  4、軟件生成和測試

  當程序代碼編寫好后,在Delphi平臺上運行程序,Delphi會自動生成可執行文
件。運行可執行程序,導入英文文檔,點擊朗讀等按鈕進行測試。軟件中的各項功
能運行良好,并且兼容Windows所有版本。

  結束語

  在英語教學中,“發音”是十分重要的一個環節,讓計算機實現輔助教師對學生
的發音教學工作顯得尤為重要。在本文中,對利用MSTTS技術開發軟件進行了深入
的研究和實踐,突破了以往的軟件只能針對單詞發音以及無法控制發音狀態的缺
陷,在Delphi平臺上開發了功能全面的英文發音教學軟件,不僅可以實現模仿真人
的標準發音功能和對多文檔的連續朗讀,而且還可以對朗讀的語速、語調等自由設定。



閱讀:5 次
錄入:chenyibiao <memberProfile.aspx?id=2>

【 評論 <remark.aspx?ID=1712> 】 【 推薦 <mail.aspx?ID=1712> 】 【 打印
<javascript:doPrint()> 】

上一篇:用Delphi開發視頻聊天軟件 <show.aspx?id=1711&cid=166>
下一篇:Delphi編程播放無聲音的AVI動畫 <show.aspx?id=1713&cid=166>

	

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品萝li| 日韩欧美一级在线播放| 国产精品丝袜在线| 岛国精品在线观看| 中文字幕在线不卡| 色噜噜久久综合| 天堂成人国产精品一区| 日韩一二三区视频| 国产精品99久久久久| 国产精品视频观看| 在线观看日韩精品| 日本欧美在线看| 国产亚洲综合av| 91香蕉视频污| 青草av.久久免费一区| 久久精品在线观看| 91在线观看高清| 日本aⅴ亚洲精品中文乱码| 精品国产1区2区3区| 99久久精品免费| 日韩高清在线观看| 亚洲国产成人自拍| 欧美色综合久久| 国产美女一区二区三区| 亚洲免费三区一区二区| 日韩亚洲欧美中文三级| 成a人片亚洲日本久久| 亚洲大片一区二区三区| 久久精品水蜜桃av综合天堂| 色婷婷综合久久| 麻豆精品视频在线| 亚洲欧美日韩久久| 精品成人一区二区三区四区| 91片在线免费观看| 激情综合一区二区三区| 亚洲女人的天堂| 久久免费的精品国产v∧| 欧美在线999| 成人一道本在线| 奇米精品一区二区三区在线观看 | 在线综合视频播放| 成人动漫视频在线| 秋霞影院一区二区| 亚洲摸摸操操av| 久久女同精品一区二区| 欧美日韩成人一区二区| 成人91在线观看| 国产精品自拍av| 欧美aaaaa成人免费观看视频| www国产精品av| 欧美浪妇xxxx高跟鞋交| 91免费观看国产| 国产成人av网站| 久久99国产精品久久| 图片区小说区国产精品视频| 亚洲三级在线免费观看| 久久精品视频一区二区| 欧美成人猛片aaaaaaa| 欧美日韩国产综合视频在线观看 | 久久精品国产**网站演员| 亚洲综合激情另类小说区| 国产三级三级三级精品8ⅰ区| 欧美一区二区福利视频| 欧美欧美午夜aⅴ在线观看| 91年精品国产| 99久久精品费精品国产一区二区| 91麻豆国产福利在线观看| 在线观看91视频| 亚洲va中文字幕| 成人免费三级在线| 日韩高清不卡一区| 日韩一区二区不卡| 91在线视频在线| 国产乱码精品一区二区三区忘忧草| 亚洲激情六月丁香| 亚洲欧美激情插| 亚洲精品在线免费观看视频| 欧美日韩一卡二卡三卡 | 不卡视频一二三| 久久av老司机精品网站导航| 一区二区三区四区视频精品免费| 久草热8精品视频在线观看| 夜夜精品视频一区二区| 麻豆精品在线观看| 91麻豆精品国产91久久久久久| 亚洲精品国产高清久久伦理二区| 不卡欧美aaaaa| 国产拍揄自揄精品视频麻豆| 一区二区三区国产精品| 粉嫩久久99精品久久久久久夜 | 色一情一伦一子一伦一区| 东方欧美亚洲色图在线| 一本一道综合狠狠老| 555夜色666亚洲国产免| 日韩一区二区三区免费看| 久久香蕉国产线看观看99| 久久久久亚洲蜜桃| 国产午夜三级一区二区三| 欧美精品第1页| 国产精品久久综合| 成人成人成人在线视频| 欧美一区日韩一区| 国产精品白丝在线| 国产成人综合亚洲网站| 精品久久久久久久久久久院品网| 2020日本不卡一区二区视频| 欧美精品日韩精品| 国产肉丝袜一区二区| 日韩视频国产视频| 精品美女在线播放| 久久亚洲免费视频| 久久久一区二区| 欧美激情一区二区三区全黄| 久久综合一区二区| 国产午夜精品一区二区| 日韩av电影免费观看高清完整版在线观看| 欧美在线一二三四区| 欧美天堂亚洲电影院在线播放| 美女在线视频一区| 亚洲精品一区二区三区蜜桃下载| 久久精品72免费观看| 国产欧美一区二区三区沐欲| 成人蜜臀av电影| 亚洲国产中文字幕在线视频综合| 欧美男男青年gay1069videost | 狠狠色狠狠色综合系列| 亚洲第一久久影院| 国产一区二区三区黄视频| av在线不卡电影| 久久综合久久鬼色中文字| 亚洲国产精品久久不卡毛片| 韩国成人在线视频| 国产亚洲欧美日韩在线一区| 国产精品综合视频| 精品动漫一区二区三区在线观看| 在线观看欧美精品| 国产精品亚洲第一| 欧美va日韩va| 青青青爽久久午夜综合久久午夜 | www.成人在线| 天堂va蜜桃一区二区三区漫画版| 欧美美女网站色| 亚洲日本在线视频观看| 97久久超碰国产精品电影| 久久综合色之久久综合| 美女高潮久久久| 综合欧美一区二区三区| 欧美视频一区二区在线观看| 人人精品人人爱| 免费高清在线一区| 亚洲精品中文在线观看| 国产精品色一区二区三区| 久久久99久久| 国产亚洲欧美日韩日本| 国产精品人成在线观看免费| 欧美大肚乱孕交hd孕妇| 91精品国产综合久久精品app| 欧美视频一区二区在线观看| 色综合天天综合| 久久精品99国产精品| 亚洲三级小视频| 精品精品国产高清a毛片牛牛| 国产一区二区美女| 亚洲女同一区二区| 久久久久久久久久美女| 欧美大肚乱孕交hd孕妇| 日韩一级二级三级| 日韩欧美中文字幕公布| 欧美日韩亚洲综合一区二区三区| 国产精品白丝jk白祙喷水网站| 日韩成人一区二区三区在线观看| 亚洲欧洲性图库| 美国精品在线观看| 亚洲五码中文字幕| 精品美女一区二区三区| 99久久综合狠狠综合久久| 久久精品国产一区二区三| 亚洲制服丝袜av| 亚洲一区在线电影| 久久久久久久久久看片| 亚洲精品一区二区三区在线观看| 69堂成人精品免费视频| 91免费观看视频| 国产成人高清在线| 青青青爽久久午夜综合久久午夜| 亚洲欧美另类在线| 国产午夜精品久久久久久久| 日韩女优视频免费观看| 国产精品免费免费| 一区二区三区**美女毛片| 成熟亚洲日本毛茸茸凸凹| 日本欧美加勒比视频| av成人免费在线观看| 久久久久久一级片| 奇米一区二区三区av| 欧美一区二区三区免费| 日韩制服丝袜av| 欧美一区2区视频在线观看| 日韩国产精品久久| 91 com成人网|