访问语音服务 (Microsoft 代理控制)
[Microsoft 代理从 Windows 7 开始已弃用,可能在后续版本的 Windows 中不可用。]
尽管 Microsoft 代理的服务包括对语音输入的支持,但必须安装兼容的命令和控制语音识别引擎才能访问代理的语音输入服务。 同样,如果要使用 Microsoft 代理的语音服务来支持字符的合成语音输出,则必须为角色安装兼容的文本转语音 (TTS) 语音引擎。
若要在应用程序中启用语音输入支持,请定义 Command 对象并设置其 Voice 属性。 代理将自动加载语音服务,以便在用户按 Listening 键或调用 Listen 时,将加载语音识别引擎。 默认情况下,字符的 LanguageID 将决定加载哪个引擎。 代理尝试加载 Microsoft 语音 API (SAPI) 返回与此语言匹配的第一个引擎。 如果要加载特定引擎,请使用 SRModeID 。
若要启用文本转语音输出,请使用 Speak 方法。 代理将自动尝试加载与字符 的 LanguageID 匹配的引擎。 如果字符的定义包含特定的 TTS 引擎模式 ID,并且该引擎可用且与字符的 LanguageID 匹配,则代理会为字符加载该引擎。 如果不是,它将加载 SAPI 作为匹配字符的语言设置返回的第一个 TTS 引擎。 还可以使用 TTSModeID 加载特定引擎。
通常,代理在启动侦听模式时加载语音识别,并在首次调用 Speak 时加载文本转语音引擎。 但是,如果要预加载语音引擎,可以查询与语音接口相关的属性。 例如,查询 SRModeID 或 TTSModeID 将尝试加载该类型的引擎。
由于 Microsoft 代理的语音服务基于 Microsoft 语音 API,因此可以使用支持所需语音接口的任何引擎。