C 實現語音朗讀功能

2021-09-07 18:35:33 字數 3127 閱讀 4545

第一步:新建專案  tts(從文字到語音(texttospeech))

第二步:新增引用 system.speech

第三步:主介面以及後台**

#region 可以讀取中文

string phrase = "123我是好人";

speechsynthesizer speech = new speechsynthesizer();

cultureinfo keyboardculture = system.windows.forms.inputlanguage.currentinputlanguage.culture;

installedvoice neededvoice = speech.getinstalledvoices(keyboardculture).firstordefault();

if (neededvoice == null)

else if (!neededvoice.enabled)

else

speech.speak(phrase);

#endregion}}

} 注:本**是在是在windows server 2012 r2 上的vs2017 上的4.5版本的環境。

建議win10 環境,

如果不是上述環境,可能會出現以下:

1、報錯

發生了 system.io.filenotfoundexception

hresult=0x8007007e

message=檢索 com 類工廠中 clsid 為  的元件失敗,原因是出現以下錯誤: 8007007e 找不到指定的模組。 (異常來自 hresult:0x8007007e)。

source=system.speech

stacktrace:

在 system.speech.internal.objecttokens.registrydatakey..ctor(string fullpath, intptr reghandle)

在 system.speech.internal.objecttokens.registrydatakey.open(string registrypath, boolean fcreateifnotexist)

在 system.speech.internal.objecttokens.sapicategories.defaultdeviceout()

在 system.speech.internal.synthesis.voicesynthesis..ctor(weakreference speechsynthesizer)

在 system.speech.synthesis.speechsynthesizer.get_voicesynthesizer()

在 system.speech.synthesis.speechsynthesizer.set_rate(int32 value)

在 tts.form1.button1_click(object sender, eventargs e) 在 c:\users\administrator\desktop\tts\form1.cs 中: 第 26 行

在 system.windows.forms.control.onclick(eventargs e)

在 system.windows.forms.button.onclick(eventargs e)

在 system.windows.forms.button.onmouseup(mouseeventargs mevent)

在 system.windows.forms.control.wmmouseup(message& m, mousebuttons button, int32 clicks)

在 system.windows.forms.control.wndproc(message& m)

在 system.windows.forms.buttonbase.wndproc(message& m)

在 system.windows.forms.button.wndproc(message& m)

在 system.windows.forms.control.controlnativewindow.onmessage(message& m)

在 system.windows.forms.control.controlnativewindow.wndproc(message& m)

在 system.windows.forms.nativewindow.debuggablecallback(intptr hwnd, int32 msg, intptr wparam, intptr lparam)

在 system.windows.forms.unsafenativemethods.dispatchmessagew(msg& msg)

在 tts.program.main() 在 c:\users\administrator\desktop\tts\program.cs 中: 第 19 行

2、或者是下面錯誤

C 實現語音朗讀功能

第一步 新建專案 tts 從文字到語音 texttospeech 第二步 新增引用 system.speech 第三步 主介面以及後台 region 可以讀取中文 string phrase 123我是好人 speechsynthesizer speech new speechsynthesizer...

C 語音朗讀

電腦朗讀 英文 乙個很好的觸發點,通過它可以實現電子 閱讀 英文聽力測試 英文單詞學習 下面的 speech 已對mstts 作了簡單封裝。1.安裝好mstts 可以在 winntspeech 中打到vtxtauto.tlb 檔案 沒有的話,就要裝tts和sapi在金山的碟上有這兩個檔案!tts m...

C 語音朗讀

電腦朗讀 英文 乙個很好的觸發點,通過它可以實現電子 閱讀 英文聽力測試 英文單詞學習 下面的 speech 已對mstts 作了簡單封裝。1.安裝好mstts 可以在 winntspeech 中打到vtxtauto.tlb 檔案 沒有的話,就要裝tts和sapi在金山的碟上有這兩個檔案!tts m...