
Introduction
Bienvenue dans le monde des Microsoft Agents, Eh oui les petits personnages
que vous pouvez voir dans Office, ça vous dirait de pouvoir en mettre
dans vos applications. En plus, vous pourrez donner à votre agent la
possibilité de parler et d'utiliser la reconnaissance vocale. N'est-ce
pas formidable ?. Seul petit hic les composants sont peut-être un peu
gros à télécharger. Mais cet obstacle va probablement disparaître
par l'arrivée en masse du haut débit plus accessible.
Installation
Pour pouvoir utiliser les composants agents, vous devez télécharger
pas mal de composants :
- Un personnage : dans ce tutoriel, nous allons utiliser Claude .
Cliquez ici pour le
télécharger (2,4 Mo)
- Microsoft
Agent 2.0 (392 Ko)
- Text
to speech fr : voix du personnage
- SpeechApi
Une fois que tous les composants sont installés, il nous reste plus
qu'à installer Microsoft Agent dans Delphi.
- Composants (components) / Importer un contrôle ActiveX ( import an
ActiveX control).
- Sélectionner dans la liste : Microsoft Agent 2.0 puis cliquer sur
installer
- Un nouveau composant nommé TAgent se trouve maintenant dans la palette
ActiveX
1- Afficher le personnage
- Premièrement, déposer un composant TAgent sur la form
- Déclarer une variable :
Var
Form1: TForm1;
Claude:IAgentCtlCharacterEX;
- Maintenant, il faut tout simplement insérer un code dans l'événement
OnShow (ou OnCreate) de votre form :
Agent1.Connected:=True;
Agent1.Characters.Load('Claude', 'Claude.acs');// on charge Claude
Claude:=IAgentCtlCharacterEX(Agent1.Characters.Character('Claude'));//Claude
est désigné comme agent de l'application
Claude.Show(False); // Pour le faire apparaître.
Claude.LanguageID:=$40C;//Pour indiquer que Claude doit parler en français
- Enregistrer votre projet puis exécutez-le. Normalement, Le personnage
apparaît en haut à gauche de votre écran
Si cela ne fonctionne pas, vous avez peut-être mal installé les
composant ou copié le code.
2.0 Animation
A- Demander au personnage de s'animer
Faire apparaître un personnage, c'est bien beau, l'animer c'est encore
mieux
- D'abord voici la liste des action que peuvent réaliser les agents
'Acknowledge'
'Alert'
'Announce'
'Blink'
'Confused'
'Congratulate'
'Decline'
'DoMagic1'
'DoMagic2'
'DontRecognize'
Caption = 'Explain'
'GestureDown'
'GestureLeft'
'GestureRight'
'GestureUp'
'GetAttention'
'GetAttentionContinued'
'GetAttentionReturn'
'Greet'
'Hearing_1'
'Hearing_2'
'Hearing_3' |
'Hide'
'Idle1_1'
'Idle2_1'
'Idle1_4'
'Idle1_3'
'Idle1_2'
'Idle2_2'
'Idle3_1'
'Idle3_2'
'LookDown'
'LookDownBlink'
'LookDownReturn'
'LookDownLeft'
'LookDownLeftBlink'
'LookDownLeftReturn'
'LookRight'
'LookRightBlink'
'LookRightReturn'
'LookUp'
'LookUpBlink'
'LookUpReturn'
'LookUpLeft' |
'LookUpLeftBlink'
'LookUpReturn'
'LookUpRight'
'LookUpRightBlink'
'LookUpRightReturn'
'MoveDown'
'MoveLeft'
'MoveRight'
'MoveUp'
'Pleased'
'Process'
'Processing'
'ReadContinued'
'Read'
'ReadReturn'
'Reading'
'RestPose'
'Sad'
'Search'
'Show'
'Searching'
'StartListening' |
'StopListening'
'Surprised'
'Suggest'
'Think'
Thinking'
'Uncertain'
'Wave'
'Write'
'WriteReturn'
'WriteContinued'
'Writing' |
- Tout d'abord, placez un composant TButton sur la form et mettez son Caption
à Bonjour
- Par exemple, pour que Claude vous salut, mettez le code suivant dans l'évènement
OnClick de Button1 :
Claude.Play('Wave');// la structure de base est NomduPerso.play('nomdel'action')
- Enregistrez puis testez votre application, vous verrez que Claude vous fait
un signe de la main
B- Demander au personnage de se déplacer
- Placez un autre bouton sur la form et mettez son Caption sur Bouge
Nous allons maintenant demander à Claude de se déplacer avec
une commande presque aussi simple que pour l'animation.
Claude.MoveTo(24,68,1000);//24 68 sont des valeurs en pixels , 1000 désigne
la vitesse de déplacement de l'agent

Voilà, maintenant vous savez animer et déplacer un agent, c'est
déjà pas mal, maintenant, nous allons ordonnerà l'agent
de parler :
3-0 Faire parler votre agent
A- L'utilisateur écoute seulement
- Posez un 4-ème bouton sur votre fiche en mettant son Caption à
Parle
Puis collez le code suivant dans son événement OnClick
Claude.Speak('Bonjour, je m''appelle Claude, et vous ?','');//structure
de base = NomduPerso.Speak('texte','');
- Enregistrez puis testez votre projet et admirez le résultat, moi je
trouve ça cool
B- L'utilisateur peut choisir le texte à écouter
- Placez un Edit sur votre form
- Placez un Bouton sur votre form avec son Caption sur Parle 2
- Ensuite insérez le code suivant dans l'événement Onclick
de ce bouton :
Claude.Speak(Edit1.Text,'');//voilà c'est encore plus simple
Maintenant, nous allons faire la même chose mais avec un RichEdit
- Placez un composants RichEdit sur votre form
- Placez un autre bouton avec pour Caption Parle 3
- Mettez dans l'avènement OnClick de ce bouton le code suivant :
procedure TForm1.Button5Click(Sender: TObject);
var i:integer;
S:string;
begin
for i:=0 to RichEdit1.Lines.Count-1 do
begin
S:=RichEdit1.Lines[i];
if S<>'' then Claude.Speak(S,'');
end;
end;
- Voilà, vous savez faire parler Claude et utiliser ses fonctionnalités.
Je vous souhaites une bonne continuation avec les agents Microsoft
Source du programme
Benoit Vermersch, Math sup lycée Ste Geneviève (Versailles), vermerschb@mailup.net,
http://www.phidelagents.fr.st
|