c# - SpeechSynthesizer 支持什么 SAPI 版本?
问题描述
我查看了SelectVoice()和GetInstalledVoices()以及 SpeechSynthesizer 类。
我看到了一个类似的问题,其中一个答案说
[...] 可能与 SAPI 版本有关 [...]
另一个说
[...] 绝对与 SAPI 版本无关 [...]
如果我编写一个语音合成器应用程序,我应该要求我的客户拥有什么 SAPI 版本?当然,我希望它尽可能低,但我不想因为影响托管 API 不支持的 SAPI 版本的错误报告而遇到麻烦。
解决方案
站点Microsoft Speech API (SAPI) 5.3提到了托管 API,因此它必须在 SAPI 5.3 或更高版本中工作。
此外,由于 SAPI 5 是一个完整的重新设计,SAPI 4 的声音将无法正常工作。
Windows Vista 附带 SAPI 5.3 并且根据 Wikipedia是托管 API,因此 Microsoft 可能没有为旧版本设计它。
Windows Vista 已于 2017 年 4 月结束扩展支持,但当然,客户可能仍拥有为旧 SAPI 版本设计的语音设置。
另请注意:
- 可以隐藏 SAPI 5 语音,因此您的程序可能仍然无法检测到某些语音。
- 您的程序可能只能找到与您的程序位数相匹配的 SAPI 声音。
致谢:这个答案的一部分是在Alasdair King 的博客文章中找到的。
推荐阅读
- r - R-重组表中的数据
- android - 不支持的类型“usb 设备”
- git - 如何从对象或 github 上的提交中删除大文件?
- matlab - 如何解决 MATLAB 中的名称冲突?
- vba - 在 vba excel 上定义代码以简化代码编写过程
- python - 如何在 Python 中录制音频而不提前给出持续时间
- scala - Clojure、Racket、Scala 和 Common Lisp 中 pexpect 的替代品有哪些?
- h2o - h2o.automl 中的 sort_metric 参数没有被使用
- visual-studio - 创建依赖于 NuGet 包的安装文件在 Microsoft Visual Studio 2017 安装程序项目中不起作用
- python - 如何将节俭结构传递给 Python 服务器