Dernière mise à jour le : dimanche 26 août 2001
Utilisation de Microsoft Agent
On peut associer une commande à un ou plusieurs mots.
Lorsqu'un de ces mots est prononcé, un événement OnCommand est déclenché.
La commande pourra également être déclenchée par l'utilisateur en cliquant avec le bouton droit de la souris sur le personnage puis en choisissant la commande dans le menu déroulant.
A l'intérieur de l'implémentation de OnCommand, on teste le nom de la commande qui a déclenché cet événement et on déclenche une action en fonction de ce nom.
Peedy.Commands.Add('calcul','&lancer la calculatrice','(calculatrice)',True,True);La commande est ainsi repérée par son nom 'calcul'. Si vous cliquez avec le bouton droit sur le personnage, vous voyez apparaître 'Lancer la calculatrice' dans le menu. Si vous prononcez 'calculatrice' devant votre microphone, cela déclenche la commande 'calcul'.
Peedy.Commands.Add('Bonjour','&Bonjour','(Hello | Bonsoir)',True,True);Cette commande sera déclenchée pour le mot 'Hello' ou pour le mot 'bonsoir'
Il suffit d'implémenter l'événement OnCommand :
procedure TForm1.Agent1Command(Sender: TObject; const UserInput: IDispatch); var CommandeVocale:String; begin CommandeVocale:=IAgentCtlUserInput(UserInput).Name;// contient la commande qu'il a interprétée if CommandeVocale='calcul' then // si cette commande correspond à calcul alors... // Attention aux majuscules : Calcul <> calcul begin //....mon action end end;
La fonction Listen() permet de mettre le personnage en position écoute : Listen(true) ou non : Listen(false). Voir les commentaires dans les sources à télécharger pour en connaître plus sur cette gestion.
Attention, à ce jour, il n'y a pas de Speech recognition engines en Français disponible gratuitement sur le site de Microsoft il faut donc changer le LanguageID pour choisir l'Anglais US :
Peedy.LanguageID:=$409; // Choix du langage
Pour le télécharger, cliquez ici.