SpeechSynthesizer 支持哪个 SAPI 版本?

What SAPI version is supported by SpeechSynthesizer?

我查看了 SelectVoice() and GetInstalledVoices() 以及 SpeechSynthesizer class。

我看到 a similar question,其中一个答案是

[...] likely to be related to the SAPI version [...]

另一个说

[...] definitely not related to SAPI version [...]

如果我编写语音合成器应用程序,我应该要求我的客户拥有哪个 SAPI 版本?当然,我希望它尽可能低,但我不想因为影响 SAPI 托管 API 不支持的版本的错误报告而遇到麻烦。

站点 Microsoft Speech API (SAPI) 5.3 提到托管 API,因此它必须在 SAPI 5.3 或更高版本中工作。

此外,由于SAPI 5 是完全重新设计的,因此SAPI 4 的声音将不起作用。

Windows Vista 附带 SAPI 5.3 和 according to Wikipedia 托管 API,因此 Microsoft 可能没有为旧版本设计它。

Windows Vista 于 2017 年 4 月终止了扩展支持,但当然,客户可能仍会使用专为旧版 SAPI 设计的语音进行设置。

另请注意:

  • 可以隐藏 SAPI 5 种语音,因此您的程序可能仍未检测到某些语音。
  • 您的程序可能只会找到与您程序的位数相匹配的 SAPI 种声音。

致谢:此答案的部分内容是在 Alasdair King's blog post.

上找到的