Partager via


IAgentCharacterEx::Listen

[Microsoft Agent est déconseillé à partir de Windows 7 et peut ne pas être disponible dans les versions ultérieures de Windows.]

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

Active ou désactive le mode d’écoute (entrée de reconnaissance vocale).

  • Retourne S_OK pour indiquer que l’opération a réussi.

bListen

Indicateur de mode d’écoute. Si ce paramètre a la valeur True, le mode d’écoute est activé ; Si la valeur est False, le mode d’écoute est désactivé.

La définition de cette méthode sur True active le mode d’écoute (active la reconnaissance vocale) pendant une période de temps fixe. Bien que vous ne puissiez pas définir la valeur du délai d’attente, vous pouvez désactiver le mode d’écoute avant l’expiration du délai d’attente. En outre, si le mode d’écoute est déjà activé, car vous (ou un autre client) avez correctement défini la méthode sur True avant l’expiration du délai d’attente, la méthode réussit et réinitialise le délai d’attente. Toutefois, si le mode d’écoute est déjà activé parce que l’utilisateur appuie sur la touche Écoute, la méthode réussit, mais le délai d’attente est ignoré et le mode d’écoute se termine en fonction de l’interaction de l’utilisateur avec la clé d’écoute.

Cette méthode réussit uniquement lorsqu’elle est appelée par le client input-active. Par conséquent, la méthode échoue si votre client n’est pas le client actif du caractère supérieur. La méthode échoue également si vous tentez de définir la méthode sur False et que l’utilisateur appuie sur la touche Écoute. Elle peut également échouer s’il n’existe aucun moteur vocal compatible qui correspond au paramètre d’ID de langue du caractère ou si l’utilisateur a désactivé l’entrée vocale à l’aide de la feuille des propriétés de Microsoft Agent. Toutefois, la méthode n’échoue pas si le périphérique audio est occupé.

Lorsque vous définissez correctement cette méthode sur True, le serveur déclenche l’événement IAgentNotifySinkEx::ListeningState . Le serveur envoie également IAgentNotifySinkEx::ListeningState lorsque le délai d’expiration du mode d’écoute est terminé ou lorsque vous définissez IAgentCharacterEx::Listen sur False.

Cette méthode n’appelle pas automatiquement IAgentCharacter::StopAll et diffuse une animation d’état d’écoute du personnage, comme cela se produit lorsque l’utilisateur appuie sur la touche Écouter. Cela vous permet d’utiliser l’événement IAgentNotifySinkEx::ListeningState pour déterminer si vous souhaitez arrêter l’animation actuelle et lire votre propre animation appropriée. Toutefois, une fois qu’un énoncé utilisateur est détecté, le serveur appelle automatiquement IAgentCharacter::StopAll et lit une animation d’état de l’audition.

Voir aussi

IAgentNotifySinkEx::ListeningState, IAgentSpeechInputProperties::GetEnabled