【问题标题】:C# SpeechSynthesizer - "No voice installed on the system"C# SpeechSynthesizer - “系统上没有安装语音”
【发布时间】:2016-02-15 17:39:30
【问题描述】:

我试图制作一个简单的控制台程序,它使用来自System.Speech.SynthesisSpeechSynthesizer 将文本转换为语音,但它不起作用。

我使用的是 64 位 Windows 7 和 Visual Studio 2010(我认为是 .NET Framework 4.0?)

程序:

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

InvalidOperationException 出现在speech.Speak(...) 行,并带有消息系统上没有安装语音或当前安全设置没有可用的语音。

speech.GetInstalledVoices() 表示安装了 Microsoft Anna,并且它的Enabled 也设置为true

我尝试将 System.Speech.Synthesis 替换为 Microsoft.Speech.Synthesis(dll 位于 C:\Program Files (x86)\Microsoft Speech Platform SDK\Assembly\Microsoft.Speech.dll),但同样的事情发生了。

导航到控制面板 > 语音 > 文本到语音并单击“预览语音”也失败并显示消息 无法播放此语音。请尝试选择其他声音或选择其他音频输出设备。 Microsoft Anna - 英语(美国)是唯一的选项。

(不过,Windows 的语音识别可以工作,如果有帮助的话。)

一些解决方案建议导航到注册表编辑器,HKEY_LOCAL_MACHINE > SOFTWARE > Microsoft > Speech > Voices > Tokens 并修复损坏的语言键。在令牌下是 MS-Anna-1033-20-DSK > Attributes,Language-key 应该是 409。

另一个解决方案建议从 Visual Studio 的配置管理器更改 Active 解决方案平台,但我已经使用任何 CPU、x86 和 x64 测试了该程序,但没有一个可以工作。

我的文字转语音有什么问题? :(

编辑:

安装 Visual Studio 2012 以防 .NET Framework 4.0 出现问题,因为 VS2012 支持 4.5,但它也不起作用。

我想问题出在我的 Windows 7 中,因为即使是内置的文字转语音功能也不起作用。

【问题讨论】:

  • 很遗憾,我没有为您提供答案,但感谢您在最终发布问题之前多次尝试自己解决问题。如今,人们很少在放弃之前尝试帮助自己。
  • 我不理解那些人,因为您通常会在为帖子写好标题后从建议的主题中找到答案。在我看来,提出一个关于 SO 的新问题应该被视为最后也是最后的选择,因为大多数问题在几年前就已经解决了。

标签: c# .net windows-7 64-bit text-to-speech


【解决方案1】:

不确定这是否会对您有所帮助,但我今天早上遇到了类似的情况。原来,在我的 ClickOnce 应用程序中,我必须将以下内容添加到我的 app.manifest 文件中:

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

这应该放在 assembly/security/requestedPrivileges 节点中。

【讨论】:

  • 我创建了清单文件,但显然 requestedExecutionLevel 的默认级别是“asInvoker”。所以这个没有运气。无论如何,感谢您提出新的建议!
  • 如果您要求更高的执行级别会发生什么,例如highestAvailable
  • Visual Studio 要求以管理员身份运行,但问题仍然存在。
【解决方案2】:

终于解决了。

我的 SpeechEngine(或在 Windows 7 上调用的任何东西)显然已损坏,运行系统文件检查器 (SFC) 已修复它。

要运行 SFC,请输入 cmd(必须以管理员身份运行)sfc /scannow

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2019-01-19
    • 2012-08-27
    • 1970-01-01
    相关资源
    最近更新 更多