0

我们如何在我们的应用程序中更改要使用的语音?我似乎无法弄清楚 Windows 8 的默认声音是什么或在哪里。

我在网上读过文章说 Microsoft David 是 MS Windows 8 的最新和最伟大的声音,但我有一个新的 Windows 8 Pro 系统,我的系统上不存在这样的声音(只有 Zira 和其他一些人)。

我对Select Voice很陌生,它可以让您使用字符串作为声音的名称,但是在尝试了大约 30 个不同的名称后,包括 David(和 Dave),它会抛出一个异常,说声音不存在。

我已经尝试过InstalledVoice- 但不确定如何使用它。

我们如何/在哪里可以下载不同的声音以用于 Windows 语音识别,以及我们如何从我们的代码中选择不同的声音来使用?

此外,SelectVoicebyHints()完全没有做任何事情。我不知道为什么。

4

1 回答 1

1

SpeechSynthesizer 有一个 GetInstalledVoices 方法,它返回系统中安装的语音的 ReadOnlyCollection(InstalledVoice 类型),为了更改合成器语音,您应该调用需要语音名称(字符串类型)的 SelectVoice 方法

SpeechSynthesizer synt = new SpeechSynthesizer();
IReadOnlyCollection<InstalledVoice> InstalledVoices = synt.GetInstalledVoices();
InstalledVoice InstalledVoice = InstalledVoices.First();
synt.SelectVoice(InstalledVoice.VoiceInfo.Name);
synt.Speak("This is how you select an installed voice");

要查看计算机中安装了哪些语音,您可以在以下位置查看它们:控制面板 -> 语音识别 -> 文本到语音 您可以在此处指定更多信息以及语音速度

如果您想在计算机上添加更多声音,您应该搜索一些公司,例如

不确定,但 SelectVoicebyHints 应该尝试从安装的声音中选择与您通过该方法传递的规范更相似的声音

于 2014-12-02T21:47:42.273 回答