Suporte à 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 de dar suporte à interação entre mouse e teclado, o Microsoft Agent inclui suporte direto para entrada de fala. Como o suporte do Microsoft Agent para entrada de fala é baseado no MICROSOFT SAPI (Interface de Programação de Aplicativo de Fala), você pode usar o Microsoft Agent com mecanismos de comando e controle de reconhecimento de fala que incluem o suporte necessário para SAPI. Para obter mais informações sobre os requisitos do mecanismo de fala, consulte requisitos de suporte do mecanismo de fala.
A Microsoft fornece um mecanismo de reconhecimento de fala de comando e controle que você pode usar com o Microsoft Agent. Para obter mais informações, consulte de Seleção do Mecanismo de Fala.
O usuário pode iniciar a entrada de fala pressionando e segurando a tecla de escuta push-to-talk. Nesse modo de escuta, se o mecanismo de fala receber o início da entrada falada, ele mantém o canal de áudio aberto até detectar o fim do enunciado. No entanto, ao não receber entrada, ele não bloqueia a saída de áudio. Isso permite que o usuário emita vários comandos de voz enquanto mantém a tecla pressionada e o caractere pode responder quando o usuário não está falando.
O modo de escuta atinge o tempo limite quando o usuário libera a tecla Listening. O usuário pode ajustar o tempo limite para esse modo usando as Opções avançadas de caractere. Você não pode definir esse tempo limite do código do aplicativo cliente.
Se um caractere tentar falar enquanto o usuário estiver falando, a saída audível do caractere falhará, embora o texto ainda possa ser exibido em seu balão de palavras. Se o caractere tiver o canal de áudio enquanto a tecla Escuta for pressionada, o servidor transferirá automaticamente o controle de volta para o usuário depois de processar o texto no método Speak. Um tom MIDI opcional é reproduzido para permitir que o usuário comece a falar. Isso permite que o usuário forneça entrada mesmo que o aplicativo que conduz o caractere não tenha fornecido pausas lógicas em sua saída.
Você também pode usar o método Listen para iniciar a entrada de fala. Chamar esse método ativa o reconhecimento de fala por um período predefinido de tempo. Se não houver nenhuma entrada durante esse intervalo, o Microsoft Agent desativa automaticamente o mecanismo de reconhecimento de fala e libera o canal de áudio. Isso evita bloquear a entrada ou saída do dispositivo de áudio e minimiza a sobrecarga do processador que o reconhecimento de fala usa quando está ativado. Você também pode usar o método Listen para desativar a entrada de fala. No entanto, lembre-se de que, como o mecanismo de reconhecimento de fala opera de forma assíncrona, o efeito pode não ser imediato. Como resultado, é possível receber um evento Command mesmo depois que seu código chamado Listen para desativar a entrada de fala.
Para dar suporte à entrada de fala, defina um gramatical, um conjunto de palavras que você deseja que o mecanismo de reconhecimento de fala ouça e corresponda como a configuração de Voice para umde Comandoem sua coleçãocomandos. Você pode incluir palavras opcionais e alternativas e sequências repetidas em sua gramática. Observe que o Agente não habilita a tecla de escuta até que um de seus clientes tenha carregado com êxito um mecanismo de fala ou tenha criado um Voice para um de seus objetos de de comando de.
Se o usuário pressiona a tecla de escuta ou o aplicativo cliente chama o método Listen para iniciar a entrada de fala, o mecanismo de reconhecimento de fala tenta corresponder a entrada de um enunciado à gramática para os comandos que foram definidos e passa as informações de volta ao servidor. Em seguida, o servidor notifica o aplicativo cliente usando o evento Command (IAgentNotifySink::Command); retornando o objeto UserInput que inclui a ID de comando da melhor correspondência e as próximas duas correspondências alternativas (se houver), uma pontuação de confiança e o texto correspondente para cada correspondência.
O servidor também notifica seu aplicativo cliente quando ele corresponde à entrada de fala a um de seus comandos fornecidos. Embora a ID de comando esteja NULL, você ainda obterá a pontuação de confiança e o texto correspondentes. Quando estiver no modo escutando, o servidor reproduz automaticamente a animação atribuída ao estado de Escuta do caractere. Em seguida, quando um enunciado é realmente detectado, o servidor reproduz a animação de estado de audição do caractere. O servidor manterá o caractere em um estado atento até que o enunciado seja encerrado. Isso fornece os comentários sociais apropriados para sinalizar o usuário para entrada.
Se o usuário desabilitar a entrada de fala em Opções avançadas de caractere, a tecla de escuta também será desabilitada. Da mesma forma, tentar chamar o método Listen quando a entrada de fala estiver desabilitada fará com que o método falhe.