Windows Vista 中的 Microsoft 代理更改
[从 Windows 7 开始,Microsoft 代理已弃用,可能在后续版本的 Windows 中不可用。]
Windows Vista 引入了语音和语音识别与 Windows Vista 交互方式的一些更改。
Microsoft 代理现在支持 SAPI 5 文本转语音和语音识别组件。 Agent 对象的 TTSModeID 和 SRModeID 属性仍用于确定为代理选择了哪个语音或识别器并更改此选择。 SAPI 4 模式显示为 GUID 字符串,例如“{ca141fd0-ac7f-11d1-97a3-006008273000}”,而 SAPI 5 标记 (等效于模式) 显示为常规名称,如“Microsoft Anna”。 与早期版本一样,代理将默认选择 TTS 和 SR 引擎。 如果安装了 SAPI 5 引擎,则这些引擎始终优先于可能安装的任何 SAPI 4 引擎。 如果用户的默认文本转语音引擎(如控制面板中指定)使用,前提是其性别与字符的性别匹配,否则选择具有相同性别的 SAPI 5 引擎(如果可用)。 如果存在 SAPI 5 引擎,则忽略直接在字符上指定的模式 ID。 可以通过在脚本开头读取 TTSModeID 和 SRModeID 属性来验证默认选择。
与以前一样,如果文本转语音或语音识别功能不存在,TTSModeID 和 SRModeID 将返回空白字符串。 通过将这些属性设置为相应的 SAPI 4 模式字符串或 SAPI 5 令牌名称,可以选择特定的语音或识别器。 设置特定模式或令牌后,还可以再次读回属性以验证其值是否已采用,这表示新模式或令牌确实可用,并且已成功选择。 对于通过 Web 部署代理的开发人员,请注意,许多 Vista 用户已安装一个或多个 SAPI 5 语音,因此你可能希望避免自动下载 SAPI 4 语音,除非脚本专门请求它们,因为下载的语音最终不会被使用。
SAPI 5 文本转语音引擎使用与 SAPI 4 不同的一组标准来批注带有标记的语音,例如更改语音的音调或速率。 在 SAPI 4 中,使用“斜杠”命令,例如 /pit=170/。 在 SAPI 5 中,使用 XML 标记,例如 <PITCH MIDDLE=“5”/>。 在 Vista 中,代理将在 Speak 方法字符串“斜杠”命令中接受这两种类型的注释,SAPI 5 引擎将忽略 XML 标记,SAPI 4 引擎将忽略 XML 标记。 与斜杠标记一样,对 SAPI 5 XML 标记的支持因供应商而异,某些供应商可能支持其他标记。 有关 SAPI 5 XML 标记的详细信息,请参阅 SAPI 5 规范。
代理不再支持多种语言。 代理使用的语言始终假定为在操作系统中注册的用户当前语言。 Agent 对象的 LanguageID 属性仍可写,但 Vista 上的代理会忽略其值。 例如,如果用户的语言设置为美国英语 (&H0409) ,并且他或她使用将 LanguageID 设置为法语 (&H040C) 的程序,则语音提示文本和高级字符选项对话框仍将以英语显示。