C#读取文本播放相应语音
利用微軟text to speech引擎(TTS),讀取文本
(1)添加Microsoft Speech Object Library的項目引用
(2)引入using SpeechLib名稱控件
(3)讀取文本
??????? SpeechVoiceSpeakFlags flag = SpeechVoiceSpeakFlags.SVSFlagsAsync;
??????? SpVoice voice = new SpVoice();
????????//默認(rèn)使用“控制面板”—>“聲音”—>“錄制”選項卡的“配置”—>“文本到語音轉(zhuǎn)換”—>語言選擇中對應(yīng)項,例如Microsoft Lily或Microsoft Sam
??????? //此處可采用“預(yù)聽語音”測試,保證操作系統(tǒng)本身正確配置該語音包,尤其是B/S結(jié)構(gòu)往往會被忽略
????????//否則會拋出異常:“沒有注冊類 (異常來自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))”
??????? voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0);
??????? voice.Speak(textBox1.Text, flag);
(4)語言包的選擇(親測)
WindowsXP 中默認(rèn)只安裝了Microsoft Sam,而且只能朗讀英文,不能讀中文,直接略過。(不推薦)
找了一個Microsoft_TTS_51_chs.msi安裝了以后多了一個Microsoft Simplified Chinese語音包,但只能讀中文,不能讀英文單詞,將單詞拆解為字母讀出(全中文可以)
Windows Vista/7中默認(rèn)安裝Microsoft Lili,可以中英文混讀,但語音效果較好(推薦),但是XP系統(tǒng)無法安裝,Microsoft Anna 只能讀英文(不推薦)。
ScanSoft-MeiLing-ChineseMandarinVoice可以在XP下安裝,但是多音字識別不好,優(yōu)點是比較小巧,40M左右。
NeoSpeech Lily,聲音的效果比?Microsoft Lili要好。推薦使用,但是比較大500M左右。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/leep2007/archive/2012/02/27/2370576.html
總結(jié)
以上是生活随笔為你收集整理的C#读取文本播放相应语音的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秀动自动抢票 selenium 版本发布
- 下一篇: c#实现文本发音