IAgentCharacterEx::GetSRStatus

[自 Windows 7 起弃用 Microsoft Agent,在后续版本的 Windows 中可能不可用。]

HRESULT GetSRStatus(
   long * plStatus  // address of the speech input status
);

检索支持语音输入所需条件的状态。

  • 返回 S_OK 表示操作成功。

plStatus

接收下列状态设置值之一的变量地址:

说明
const unsigned long LISTEN_STATUS_CANLISTEN = 0;
支持语音输入的条件。
const unsigned long LISTEN_STATUS_NOAUDIO = 1;
此系统上没有可用的音频输入设备。 (请注意,这不会检测是否已安装麦克风;它只能检测用户是否具有使用工作驱动程序正确安装了启用输入的声卡。)
const unsigned long LISTEN_STATUS_NOTTOPMOST = 2;
另一个客户端是此字符的活动客户端,或者当前字符不是最顶层的。
const unsigned long LISTEN_STATUS_CANTOPENAUDIO = 3;
音频输入或输出通道当前繁忙,其他应用程序正在使用音频。
const unsigned long LISTEN_STATUS_COULDNTINITIALIZESPEECH = 4;
在初始化语音识别子系统的过程中发生了不明错误。 这包括没有与字符的语言设置相匹配的语音引擎的可能性。
const unsigned long LISTEN_STATUS_SPEECHDISABLED = 5;
用户在“高级字符选项”窗口中禁用了语音输入。
const unsigned long LISTEN_STATUS_ERROR = 6;
检查音频状态时出错,但系统未返回错误原因。

此函数可以让您查询当前条件是否支持语音识别输入,包括音频设备的状态。 如果您的应用程序使用 IAgentCharacterEx::Listen 方法,则可以使用此函数更好地确保调用成功。 如果语音引擎尚未加载,调用此方法也会加载语音引擎。 但是,它不会打开Listening模式。

如果在代理属性表(高级字符选项)中启用了语音输入,则查询状态将加载相关引擎(如果尚未加载),并启动语音服务。 也就是说,Listening 键可用,并且 Listening Tip 可显示。 (仅当在高级字符选项中也启用 Listening 键和 Listening Tip 时才启用。)但是,如果在禁用语音时查询属性,服务器不会启动语音服务。

此函数仅返回客户端应用程序使用该字符的设置;此设置不会反映字符的其他客户端或您的客户端应用程序的其他字符。