Compartilhar via


IAgentCharacterEx::Listen

[O Microsoft Agent foi preterido a partir do Windows 7 e pode estar indisponível nas versões subsequentes do Windows.]

HRESULT Listen(
   long bListen  // listening mode flag
);

Ativa ou desativa o modo de escuta (entrada de reconhecimento de fala).

  • Retorna S_OK para indicar que a operação foi bem-sucedida.

bListen

Sinalizador do modo de escuta. Se esse parâmetro for True, o modo de escuta será ativado; se False, o modo de escuta será desativado.

Definir esse método como True habilita o modo escuta (ativa o reconhecimento de fala) por um período fixo de tempo. Embora não seja possível definir o valor do tempo limite, você pode desativar o modo escuta antes que o tempo limite expire. Além disso, se o modo escuta já estiver ativado porque você (ou outro cliente) definiu com êxito o método como True antes do tempo limite expirar, o método terá êxito e redefinirá o tempo limite. No entanto, se o modo escuta já estiver ativado porque o usuário está pressionando a tecla Listening, o método terá êxito, mas o tempo limite será ignorado e o modo escutando terminará com base na interação do usuário com a tecla Listening.

Esse método terá êxito somente quando chamado pelo cliente ativo de entrada. Portanto, o método falhará se o cliente não for o cliente ativo do caractere mais alto. O método também falhará se você tentar definir o método como False e o usuário estiver pressionando a tecla Listening. Ele também poderá falhar se não houver nenhum mecanismo de fala compatível disponível que corresponda à configuração de ID de idioma do caractere ou se o usuário tiver desabilitado a entrada de fala usando a folha de propriedades do Microsoft Agent. No entanto, o método não falhará se o dispositivo de áudio estiver ocupado.

Quando você define esse método com êxito como True, o servidor dispara o evento IAgentNotifySinkEx::ListeningState . O servidor também envia IAgentNotifySinkEx::ListeningState quando o tempo limite do modo de escuta é concluído ou quando você define IAgentCharacterEx::Listen to False.

Esse método não chama automaticamente IAgentCharacter::StopAll e reproduz uma animação de estado de escuta do caractere, como ocorre quando o usuário pressiona a tecla Listening. Isso permite que você use o evento IAgentNotifySinkEx::ListeningState para determinar se deseja interromper a animação atual e reproduzir sua própria animação apropriada. No entanto, depois que um enunciado de usuário é detectado, o servidor chama automaticamente IAgentCharacter::StopAll e executa uma animação de estado de audição.

Consulte Também

IAgentNotifySinkEx::ListeningState, IAgentSpeechInputProperties::GetEnabled