Eventos de entrada de fala
[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]
Além disso, para a notificação do evento Command , o Agente também notifica o cliente ativo de entrada quando o servidor ativa ou desativa o modo de escuta, usando os eventos ListenStart e ListenComplete (IAgentNotifySinkEx::ListeningState). No entanto, se o usuário pressionar a tecla de modo escuta e não houver nenhum mecanismo de reconhecimento de fala correspondente disponível para o caractere mais alto do cliente ativo de entrada, o servidor iniciará o tempo limite do modo de tecla de escuta, mas não gerará um evento ListenStart para o cliente ativo do caractere. Se, antes do tempo limite ser concluído, o usuário ativar outro caractere com suporte ao mecanismo de reconhecimento de fala, o servidor tentará ativar a entrada de fala e gerará o evento ListenStart .
Da mesma forma, se um cliente tentar ativar o modo escuta usando o método Listen e não houver nenhum mecanismo de reconhecimento de fala correspondente disponível, a chamada falhará e o servidor não gerará um ListenStartevent. No controle do Microsoft Agent, o método Listen retorna False, mas a chamada não gera um erro.
Quando o modo de chave de escuta está ativado e o usuário alterna para um caractere que usa um mecanismo de reconhecimento de fala diferente, o servidor alterna para e ativa esse mecanismo e dispara um ListenComplete e, em seguida, um evento ListenStart . Se o caractere ativado não tiver um mecanismo de reconhecimento de fala disponível (porque um não está instalado ou nenhum corresponde à configuração de ID de idioma do caractere ativado), o servidor disparará o evento ListenComplete para o caractere ativado anteriormente e retornará um valor no parâmetro Causa . No entanto, o servidor não gera eventos ListenStart ou ListenComplete para os clientes que não têm suporte para reconhecimento de fala.
Se um cliente chamar com êxito o método Listen e um caractere sem suporte ao mecanismo de reconhecimento de fala se tornar ativo de entrada antes da conclusão do tempo limite do modo de escuta e, em seguida, o usuário alternar de volta para o caractere do cliente original, o servidor gerará um evento ListenStart para esse cliente.
Se o cliente ativo de entrada alternar mecanismos de reconhecimento de fala alterando SRModeID no modo de escuta, o servidor alternará para e ativará esse mecanismo sem disparar novamente o evento ListenStart . No entanto, se o mecanismo especificado não estiver disponível, a chamada falhará (gerará um erro no controle) e o servidor também chamará o evento ListenComplete .