C#語音識別用法實例
本文實例講述了C#語音識別用法。分享給大家供大家參考。具體分析如下:
C#可以利用微軟操作系統自動的語音識別功能,讀取信息。步驟如下:
1. 在項目中添加 “” 引用
2. 引入命名空間:
代碼如下:
3. 讀取的代碼:
代碼如下:
SpVoice voice = new SpVoice();
voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0);
voice.Speak(“你是一個大美女,我試一個大帥鍋,哈哈”, flag);
其中:
1. SpeechVoiceSpeakFlags 是一個枚舉。
SpVoice標誌:
SVSFDefault = 0
SVSFlagsAsync = 1
SVSFPurgeBeforeSpeak = 2
SVSFIsFilename = 4
SVSFIsXML = 8
SVSFIsNotXML = 16
SVSFPersistXML = 32
正規化標誌:
SVSFNLPSpeakPunc = 64
面具:
SVSFNLPMask = 64
SVSFVoiceMask = 127
SVSFUnusedFlags = -128
結束枚舉分子
SVSFDefault
指定應使用的默認設置。默認值是:
講定的文本字符串同步(覆蓋與SVSFlagsAsync),
不清除掛起說話請求(覆蓋與SVSFPurgeBeforeSpeak),
為了解析XML的文本,如果第一個字符是左尖括號(覆蓋與SVSFIsXML或SVSFIsNotXML),
不堅持全球XML狀態更改在講電話(覆蓋SVSFPersistXML),
不擴展的標點字符成字(覆蓋與SVSFNLPSpeakPunc)的。
SVSFlagsAsync
指定的講調用應該是異步的。也就是說,它會立即返回排隊的講請求後。
SVSFPurgeBeforeSpeak
清除所有懸而未決的發言請求,在此之前講的呼叫。
SVSFIsFilename
的說話方式傳遞的字符串是一個文件名,而不是文字。其結果,沒有發言字符串本身而是該文件的路徑,該路徑是口頭的處理。
SVSFIsXML
輸入的文本將被解析為XML標記。
SVSFIsNotXML
輸入的文本將不會被解析的XML標記。
SVSFPersistXML
XML標記的全局狀態的變化將持續到說話的呼叫。
SVSFNLPSpeakPunc
,標點符號應擴大到字(例如:“這是什麽。”將成為“這是這期”)。
SVSFNLPMask
SAPI(而不是文本到語音引擎)處理此掩碼中的標誌。
SVSFVoiceMask
此面膜具有每一個標誌位設置。
SVSFUnusedFlags
此面膜具有每一個未使用的位集。
2. SpVoice
SpVoice類是支持語音合成(TTS)的核心類。通過SpVoice對象調用TTS引擎,從而實現朗讀功能。
SpVoice類有以下主要屬性:
Voice:表示發音類型,相當於進行朗讀的人,包括Microsoft Mary,Microsoft Mike,Microsoft Sam和Microsoft Simplified Chinese四種。其中前三種只能讀英文,最後一種可以讀中文,也可以讀英文,但對於英文單詞只能將其包括的各個字母逐一朗讀出來。下面的程序中我們將會想辦法解決這個問題。
Rate:語音朗讀速度,取值範圍為-10到+10。數值越大,速度越快。
Volume:音量,取值範圍為0到100。數值越大,音量越大。
SpVoice有以下主要方法:
Speak:完成將文本信息轉換為語音並按照指定的參數進行朗讀,該方法有Text和Flags兩個參數,分別指定要朗讀的文本和朗讀方式(同步或異步等)。
Pause:暫停使用該對象的所有朗讀進程。該方法沒有參數。
Resume:恢復該對象所對應的被暫停的朗讀進程。該方法沒有參數。
希望本文所述對大家的C#程序設計有所幫助。
除聲明外,跑步客文章均為原創,轉載請以鏈接形式標明本文地址C#語音識別用法實例
本文地址: http://www.paobuke.com/develop/c-develop/pbk23198.html
相關內容
C#使用MCI創建的視頻或聲音播放器 源代碼下載C#實現的SQL備份與還原功能示例C#實現百度ping推送功能的方法C#使用oledb導出數據到excel的方法C#調用dos窗口獲取相關信息的方法C#將圖片和字節流互相轉換並顯示到頁面上C#使用iTextSharp封裝的PDF文件操作類實例C#之WinForm跨線程訪問控件實例
C#語音識別用法實例