C#語(yǔ)音識(shí)別用法實(shí)例
本文實(shí)例講述了C#語(yǔ)音識(shí)別用法。分享給大家供大家參考。具體分析如下:
C#可以利用微軟操作系統(tǒng)自動(dòng)的語(yǔ)音識(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),
不清除掛起說(shuō)話(huà)請(qǐng)求(覆蓋與SVSFPurgeBeforeSpeak),
為了解析XML的文本,如果第一個(gè)字符是左尖括號(hào)(覆蓋與SVSFIsXML或SVSFIsNotXML),
不堅(jiān)持全球XML狀態(tài)更改在講電話(huà)(覆蓋SVSFPersistXML),
不擴(kuò)展的標(biāo)點(diǎn)字符成字(覆蓋與SVSFNLPSpeakPunc)的。
SVSFlagsAsync
指定的講調(diào)用應(yīng)該是異步的。也就是說(shuō),它會(huì)立即返回排隊(duì)的講請(qǐng)求后。
SVSFPurgeBeforeSpeak
清除所有懸而未決的發(fā)言請(qǐng)求,在此之前講的呼叫。
SVSFIsFilename
的說(shuō)話(huà)方式傳遞的字符串是一個(gè)文件名,而不是文字。其結(jié)果,沒(méi)有發(fā)言字符串本身而是該文件的路徑,該路徑是口頭的處理。
SVSFIsXML
輸入的文本將被解析為XML標(biāo)記。
SVSFIsNotXML
輸入的文本將不會(huì)被解析的XML標(biāo)記。
SVSFPersistXML
XML標(biāo)記的全局狀態(tài)的變化將持續(xù)到說(shuō)話(huà)的呼叫。
SVSFNLPSpeakPunc
,標(biāo)點(diǎn)符號(hào)應(yīng)擴(kuò)大到字(例如:“這是什么?!睂⒊蔀椤斑@是這期”)。
SVSFNLPMask
SAPI(而不是文本到語(yǔ)音引擎)處理此掩碼中的標(biāo)志。
SVSFVoiceMask
此面膜具有每一個(gè)標(biāo)志位設(shè)置。
SVSFUnusedFlags
此面膜具有每一個(gè)未使用的位集。
2. SpVoice
SpVoice類(lèi)是支持語(yǔ)音合成(TTS)的核心類(lèi)。通過(guò)SpVoice對(duì)象調(diào)用TTS引擎,從而實(shí)現(xiàn)朗讀功能。
SpVoice類(lèi)有以下主要屬性:
Voice:表示發(fā)音類(lèi)型,相當(dāng)于進(jìn)行朗讀的人,包括Microsoft Mary,Microsoft Mike,Microsoft Sam和Microsoft Simplified Chinese四種。其中前三種只能讀英文,最后一種可以讀中文,也可以讀英文,但對(duì)于英文單詞只能將其包括的各個(gè)字母逐一朗讀出來(lái)。下面的程序中我們將會(huì)想辦法解決這個(gè)問(wèn)題。
Rate:語(yǔ)音朗讀速度,取值范圍為-10到+10。數(shù)值越大,速度越快。
Volume:音量,取值范圍為0到100。數(shù)值越大,音量越大。
SpVoice有以下主要方法:
Speak:完成將文本信息轉(zhuǎn)換為語(yǔ)音并按照指定的參數(shù)進(jìn)行朗讀,該方法有Text和Flags兩個(gè)參數(shù),分別指定要朗讀的文本和朗讀方式(同步或異步等)。
Pause:暫停使用該對(duì)象的所有朗讀進(jìn)程。該方法沒(méi)有參數(shù)。
Resume:恢復(fù)該對(duì)象所對(duì)應(yīng)的被暫停的朗讀進(jìn)程。該方法沒(méi)有參數(shù)。
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
- C#實(shí)現(xiàn)語(yǔ)音視頻錄制-附demo源碼
- C# 語(yǔ)音功能的實(shí)現(xiàn)方法
- C#基于UDP實(shí)現(xiàn)的P2P語(yǔ)音聊天工具
- C#中調(diào)用SAPI實(shí)現(xiàn)語(yǔ)音識(shí)別的2種方法
- C#中調(diào)用SAPI實(shí)現(xiàn)語(yǔ)音合成的2種方法
- c# 實(shí)現(xiàn)語(yǔ)音聊天的實(shí)戰(zhàn)示例
- c# 開(kāi)發(fā)語(yǔ)音識(shí)別程序
- c# 實(shí)現(xiàn)語(yǔ)音合成
- C# windows語(yǔ)音識(shí)別與朗讀實(shí)例
- C#使用DirectX.DirectSound播放語(yǔ)音
相關(guān)文章
C# 函數(shù)覆蓋總結(jié)學(xué)習(xí)(推薦)
下面小編就為大家?guī)?lái)一篇C# 函數(shù)覆蓋總結(jié)學(xué)習(xí)(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05
C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法
今天小編就為大家分享一篇關(guān)于C#實(shí)現(xiàn)Word轉(zhuǎn)為PDF的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧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# 線(xiàn)程定時(shí)器 System.Threading.Timer的使用
本文主要介紹了c# 線(xiàn)程定時(shí)器 System.Threading.Timer的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
基于c#實(shí)現(xiàn)的九九乘法表(簡(jiǎn)單實(shí)例)
本文主要分享了基于c#實(shí)現(xiàn)的九九乘法表,代碼簡(jiǎn)潔,需要的朋友可以參考下,希望對(duì)大家有所幫助2016-12-12

