2015-11-14 60 views
0

我曾試圖彌補它採用SpeechSynthesizerSystem.Speech.Synthesis將文本轉換爲語音的簡單的控制檯程序,但它不能正常工作。C#SpeechSynthesizer - 「無聲音系統上安裝了」

我使用64位Windows 7和Visual Studio 2010(與.NET框架4.0,我認爲?)

程序:

using System.Speech.Synthesis; 
// *skip* 
SpeechSynthesizer speech = new SpeechSynthesizer(); 
speech.SetOutputToDefaultAudioDevice(); 
speech.Speak("Hello world"); 

InvalidOperationException發生在行有消息沒有發言權安裝在系統上或者沒有可用的當前安全設置。

speech.GetInstalledVoices()表明,沒有安裝微軟安娜和它的Enabled也設置爲true

我試過用Microsoft.Speech.Synthesis(dll在C:\ Program Files(x86)\ Microsoft Speech Platform SDK \ Assembly \ Microsoft.Speech.dll)中找到System.Speech.Synthesis,但發生同樣的事情。

導航控制面板>語音>文本到語音,然後單擊「預覽聲音」也失敗,提示信息這個聲音無法播放。請嘗試選擇另一個語音或選擇不同的音頻輸出設備。微軟安娜 - 英語(美國),發現那裏唯一的選擇。

(Windows的語音識別的工作不過,如果有任何幫助。)

一些解決建議導航到註冊表編輯器,HKEY_LOCAL_MACHINE> SOFTWARE>微軟>語音>聲音>令牌和修復一個破碎的語言鍵。令牌下是MS-Anna-1033-20-DSK> Attributes,語言鍵是409。

另一種解決方案建議將Visual Studio的配置管理器更改爲Active解決方案平臺,但我已經使用Any CPU,x86和x64測試了該程序,但均無效。

這有什麼錯我的文本到語音? :(

編輯:

安裝了Visual Studio 2012,以防萬一它是與.NET Framework中的一個問題4.0作爲VS2012支持4.5,但它也不能工作

我猜想問題是在我的Windows 7中,因爲即使內置的文本到語音的東西不起作用

+0

可惜我沒有給你一個答案,但感謝你的嘗試最終發佈前的問題多次自行解決一個問題。人們在放棄之前嘗試自我幫助是很少見的。 –

+2

我不明白這些人,因爲您通常在爲您的帖子撰寫標題後從建議的主題中找到答案。在我看來,提出一個關於SO的新問題應該被視爲最後的也是最後的選擇,因爲多數問題在多年前已經得到解決。 – bloodleh

+0

完全同意。 –

回答

1

終於得到了解決。

我的SpeechEngine(或任何在Windows 7上調用的東西)顯然已損壞,正在運行系統文件檢查器(SFC)修復它。

要運行SFC,類型爲CMD(必須跑了作爲管理員)SFC/SCANNOW

0

不知道這是否會幫助你,但我今天早上遇到了類似的情況,原來我的ClickOnce應用我有以下添加到我的app.manifest文件:

<requestedExecutionLevel level="asInvoker" uiAccess="false" /> 

這應該放在assembly/security/requestedPrivileges節點中。

+0

我創建了清單文件,但顯然requestedExecutionLevel的默認級別是「asInvoker」。所以這次沒有運氣。無論如何感謝提出新的東西! – bloodleh

+0

如果您要求更高的執行級別,例如'highestAvailable',會發生什麼情況? – MagicMau

+0

Visual Studio要求以管理員身份運行,但問題仍然存在。 – bloodleh