IAgentCharacterEx ::Listen
[Microsoft Agent est déconseillé à partir de Windows 7 et peut être indisponible 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 est True, le mode d’écoute est activé ; si 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 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’expiration. En outre, si le mode d’écoute est déjà activé, car vous (ou un autre client) définissez correctement la méthode sur True avant l’expiration du délai d’expiration, la méthode réussit et réinitialise le délai d’attente. Toutefois, si le mode d’écoute est déjà activé, car l’utilisateur appuie sur la touche d’é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 actif d’entrée. Par conséquent, la méthode échoue si votre client n’est pas le client actif du caractère le plus haut. La méthode échoue également si vous tentez de définir la méthode sur False et que l’utilisateur appuie sur la touche d’écoute. Il peut également échouer s’il n’existe aucun moteur de reconnaissance vocale compatible disponible 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 de propriétés Microsoft Agent. Toutefois, la méthode ne échoue pas si l’appareil audio est occupé.
Lorsque vous définissez cette méthode sur True, le serveur déclenche l’événement IAgentNotifySinkEx ::ListeningState. Le serveur envoie également IAgentNotifySinkEx ::ListenState lorsque le délai d’attente 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 joue une animation d’état d’écoute du caractère telle qu’elle se produit lorsque l’utilisateur appuie sur la touche d’écoute. 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 d’audition.
Voir aussi
IAgentNotifySinkEx ::ListeningState, IAgentSpeechInputProperties ::GetEnabled