📄 unit1.pas
字号:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, OleCtrls, AgentObjects_TLB, ExtCtrls;
type
TForm1 = class(TForm)
MyAgent: TAgent;
Button10: TButton;
Button11: TButton;
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
ComboBox1: TComboBox;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
OpenDialog1: TOpenDialog;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Peedy:IAgentCtlCharacter;
Request1,Request2: IAgentCtlRequest;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Peedy.Show(0);//动态出现 1为无动态
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Peedy.Hide(0);//隐藏 1为无动画
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Peedy.Show(0);
Peedy.MoveTo((Screen.Width-Peedy.Get_Width) Div 2,(Screen.Height-Peedy.Get_Height) Div 2,2);//移动至屏幕中间
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Peedy.Show(0);
try
case combobox1.ItemIndex of
0:Request1:=Peedy.Play('Acknowledge');
1:Request1:=Peedy.Play('LookDown');
2:Request1:=Peedy.Play('Sad');
3:Request1:=Peedy.Play('Alert');
4:Request1:=Peedy.Play('LookDownBlink');
5:Request1:=Peedy.Play('Search');
6:Request1:=Peedy.Play('Announce');
7:Request1:=Peedy.Play('LookUp');
8:Request1:=Peedy.Play('StartListening');
9:Request1:=Peedy.Play('Blink');
10:Request1:=Peedy.Play('LookUpBlink');
11:Request1:=Peedy.Play('StopListening');
12:Request1:=Peedy.Play('Confused');
13:Request1:=Peedy.Play('LookLeft');
14:Request1:=Peedy.Play('Suggest');
15:Request1:=Peedy.Play('Congratulate');
16:Request1:=Peedy.Play('LookLeftBlink');
17:Request1:=Peedy.Play('Surprised');
18:Request1:=Peedy.Play('Decline');
19:Request1:=Peedy.Play('LookRight');
20:Request1:=Peedy.Play('Think');
21:Request1:=Peedy.Play('DontRecognize');
22:Request1:=Peedy.Play('LookRightBlink');
23:Request1:=Peedy.Play('Wave');
24:Request1:=Peedy.Play('Explain');
25:Request1:=Peedy.Play('MoveDown');
26:Request1:=Peedy.Play('Write');
27:Request1:=Peedy.Play('GestureDown');
28:Request1:=Peedy.Play('MoveUp');
29:Request1:=Peedy.Play('Processing');
30:Request1:=Peedy.Play('GestureUp');
31:Request1:=Peedy.Play('MoveRight');
32:Request1:=Peedy.Play('Reading');
33:Request1:=Peedy.Play('GestureLeft');
34:Request1:=Peedy.Play('MoveLeft');
35:Request1:=Peedy.Play('Searching');
36:Request1:=Peedy.Play('GestureRight');
37:Request1:=Peedy.Play('Pleased');
38:Request1:=Peedy.Play('Writing');
39:Request1:=Peedy.Play('GetAttention');
40:Request1:=Peedy.Play('Read');
41:Request1:=Peedy.Play('Greet');
42:Request1:=Peedy.Play('RestPose');
end;
Except
On E:Exception Do
showmessage('当前代理不支侍该动作,所以无法显示。');
end;
{Acknowledge 承认 LookDown 向下看 Sad 悲伤
Alert 警告 LookDownBlink 向下看眨眼 Search 寻找
Announce 声明 LookUp 向上看 StartListening 开始聆听
Blink 眨眼 LookUpBlink 向下看眨眼 StopListening 停止聆听
Confused 迷惑 LookLeft 向左看 Suggest 建议
Congratulate 祝贺 LookLeftBlink 向左看眨眼 Surprised 吃惊
Decline 拒绝 LookRight 向右看 Think 思考
DontRecognize 不承认 LookRightBlink 向右看眨眼 Wave 挥动
Explain 解释 MoveDown 向下移动 Write 书写
GestureDown 向下姿势 MoveUp 向上移动 Processing 计算……
GestureUp 向上姿势 MoveRight 向右移动 Reading 阅读……
GestureLeft 向左姿势 MoveLeft 向左移动 Searching 寻找……
GestureRight 向右姿势 Pleased 高兴 Writing 书写……
GetAttention 获得注意 Read 阅读 Greet
问候 RestPose 恢复初始状态}
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Peedy.Show(0);
Peedy.StopAll(''); //停止所有动作,单个可以用Peedy.Stop(Request1);
Peedy.Play('RestPose');//恢复初始状态,最好这么做。
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
Button3Click(Sender);
try
Peedy.Play('Greet');
Except
On E:Exception Do
//
end;
Peedy.Speak('您好,谢谢您的使用!',ExtractFilePath(application.ExeName)+'\01.wav');//如果没有声音,后面的文件可以不带
Peedy.Play('RestPose');
end;
procedure TForm1.Button7Click(Sender: TObject);
var AgentHight,AgentWidth:integer;
begin
Button5Click(Sender);//先停止动作,这样就没有停顿了
AgentHight := Peedy.Get_Height;
AgentWidth := Peedy.Get_Width;
Peedy.Set_Height(round(AgentHight div 2));
Peedy.Set_Width(round(AgentWidth div 2));
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Button5Click(Sender);//先停止动作,这样就没有停顿了
Peedy.Set_Height(0);
Peedy.Set_Width(0);
end;
procedure TForm1.Button8Click(Sender: TObject);
var AgentHight,AgentWidth:integer;
begin
Button5Click(Sender);//先停止动作,这样就没有停顿了
AgentHight := Peedy.Get_Height;
AgentWidth := Peedy.Get_Width;
Peedy.Set_Height(round(AgentHight * 2));
Peedy.Set_Width(round(AgentWidth * 2));
end;
procedure TForm1.Button10Click(Sender: TObject);
begin
if opendialog1.Execute then
begin
Request1:=MyAgent.Characters.Load('Peedy',opendialog1.FileName);//读取文件
Peedy:=MyAgent.Characters.Character('Peedy');//调入文件
MyAgent.Connected := True;//是否与Microsoft Agent服务器连接
button10.Enabled:=false;
panel1.Enabled:=true;
button11.Enabled:=true;
end;
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
MyAgent.Characters.Unload('Peedy');//关闭文件
panel1.Enabled:=false;
button10.Enabled:=true;
button11.Enabled:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -