C#語音識(shí)別用法實(shí)例
本文實(shí)例講述了C#語音識(shí)別用法。分享給大家供大家參考。具體分析如下:
C#可以利用微軟操作系統(tǒng)自動(dòng)的語音識(shí)別功能,讀取信息。步驟如下:
1. 在項(xiàng)目中添加 "" 引用
2. 引入命名空間:
3. 讀取的代碼:
SpVoice voice = new SpVoice();
voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0);
voice.Speak("你是一個(gè)大美女,我試一個(gè)大帥鍋,哈哈", flag);
其中:
1. SpeechVoiceSpeakFlags 是一個(gè)枚舉。
SpVoice標(biāo)志:
SVSFDefault = 0
SVSFlagsAsync = 1
SVSFPurgeBeforeSpeak = 2
SVSFIsFilename = 4
SVSFIsXML = 8
SVSFIsNotXML = 16
SVSFPersistXML = 32
正規(guī)化標(biāo)志:
SVSFNLPSpeakPunc = 64
面具:
SVSFNLPMask = 64
SVSFVoiceMask = 127
SVSFUnusedFlags = -128
結(jié)束枚舉分子
SVSFDefault
指定應(yīng)使用的默認(rèn)設(shè)置。默認(rèn)值是:
講定的文本字符串同步(覆蓋與SVSFlagsAsync),
不清除掛起說話請求(覆蓋與SVSFPurgeBeforeSpeak),
為了解析XML的文本,如果第一個(gè)字符是左尖括號(hào)(覆蓋與SVSFIsXML或SVSFIsNotXML),
不堅(jiān)持全球XML狀態(tài)更改在講電話(覆蓋SVSFPersistXML),
不擴(kuò)展的標(biāo)點(diǎn)字符成字(覆蓋與SVSFNLPSpeakPunc)的。
SVSFlagsAsync
指定的講調(diào)用應(yīng)該是異步的。也就是說,它會(huì)立即返回排隊(duì)的講請求后。
SVSFPurgeBeforeSpeak
清除所有懸而未決的發(fā)言請求,在此之前講的呼叫。
SVSFIsFilename
的說話方式傳遞的字符串是一個(gè)文件名,而不是文字。其結(jié)果,沒有發(fā)言字符串本身而是該文件的路徑,該路徑是口頭的處理。
SVSFIsXML
輸入的文本將被解析為XML標(biāo)記。
SVSFIsNotXML
輸入的文本將不會(huì)被解析的XML標(biāo)記。
SVSFPersistXML
XML標(biāo)記的全局狀態(tài)的變化將持續(xù)到說話的呼叫。
SVSFNLPSpeakPunc
,標(biāo)點(diǎn)符號(hào)應(yīng)擴(kuò)大到字(例如:“這是什么?!睂⒊蔀椤斑@是這期”)。
SVSFNLPMask
SAPI(而不是文本到語音引擎)處理此掩碼中的標(biāo)志。
SVSFVoiceMask
此面膜具有每一個(gè)標(biāo)志位設(shè)置。
SVSFUnusedFlags
此面膜具有每一個(gè)未使用的位集。
2. SpVoice
SpVoice類是支持語音合成(TTS)的核心類。通過SpVoice對象調(diào)用TTS引擎,從而實(shí)現(xiàn)朗讀功能。
SpVoice類有以下主要屬性:
Voice:表示發(fā)音類型,相當(dāng)于進(jìn)行朗讀的人,包括Microsoft Mary,Microsoft Mike,Microsoft Sam和Microsoft Simplified Chinese四種。其中前三種只能讀英文,最后一種可以讀中文,也可以讀英文,但對于英文單詞只能將其包括的各個(gè)字母逐一朗讀出來。下面的程序中我們將會(huì)想辦法解決這個(gè)問題。
Rate:語音朗讀速度,取值范圍為-10到+10。數(shù)值越大,速度越快。
Volume:音量,取值范圍為0到100。數(shù)值越大,音量越大。
SpVoice有以下主要方法:
Speak:完成將文本信息轉(zhuǎn)換為語音并按照指定的參數(shù)進(jìn)行朗讀,該方法有Text和Flags兩個(gè)參數(shù),分別指定要朗讀的文本和朗讀方式(同步或異步等)。
Pause:暫停使用該對象的所有朗讀進(jìn)程。該方法沒有參數(shù)。
Resume:恢復(fù)該對象所對應(yīng)的被暫停的朗讀進(jìn)程。該方法沒有參數(shù)。
希望本文所述對大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
C# 函數(shù)覆蓋總結(jié)學(xué)習(xí)(推薦)
下面小編就為大家?guī)硪黄狢# 函數(shù)覆蓋總結(jié)學(xué)習(xí)(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05
C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法
今天小編就為大家分享一篇關(guān)于C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-01-01
DevExpress實(shí)現(xiàn)GridControl單元格編輯驗(yàn)證的方法
這篇文章主要介紹了DevExpress實(shí)現(xiàn)GridControl單元格編輯驗(yàn)證的方法,很實(shí)用的功能,需要的朋友可以參考下2014-08-08
C#根據(jù)年月日計(jì)算星期幾的函數(shù)小例子
這篇文章介紹了C#根據(jù)年月日計(jì)算星期幾的函數(shù)小例子,有需要的朋友可以參考一下2013-07-07
c# 線程定時(shí)器 System.Threading.Timer的使用
本文主要介紹了c# 線程定時(shí)器 System.Threading.Timer的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
基于c#實(shí)現(xiàn)的九九乘法表(簡單實(shí)例)
本文主要分享了基于c#實(shí)現(xiàn)的九九乘法表,代碼簡潔,需要的朋友可以參考下,希望對大家有所幫助2016-12-12

