1回顶部 当你打开Microsoft Word后,画面上就会出现一个Office 助手,看着孙悟空不但会不停地变换角色,而且还会根据情况,出现相应的提示信息(如图1)。并且都始终显示在最上面,比起菜单、按钮、提示框等大家非常熟悉的人机交互界面来说,不但界面简洁明了,而且交互性更强,更具人性化,这就是Agent角色互动。
2回顶部 2. TTS引擎:TTS引擎将文本转换为声音并输出到音频设备中,Agent将根据该引擎输出的声音控制动画的口型变化 (C:\PROGRAM FILES\ COMMON FILES\SPEECH ENGINES \MICROSOFT\TTS)。 3. Agent角色数据文件:存储有角色信息(提示信息框的格式、命令、图片、声音文件等);用户也可以用角色编辑器(ACE.EXE)编辑自己的角色数据文件(C:\WINNT\MSAgent\ CHARS\MERLIN.ACS;C:\WINNT\ SRCHASST\CHARS\COURTNEY.ACS,\EARL.ACS,\ROVER.ACS)。 4. 语音识别引擎(SPEECH ENGINE):处理用户从音频设备中传入的语音命令,以进行语音输入/输出处理(控制面板→声音、语音和音频设备→语音)。 Agen的基本属性 CHARacters:其类型为IAgentCHARACTEREX,取得角色句柄; CHARacter:CHARACTERS的一个属性,通过CHARACTERID取得角色句柄; CHARacterid:代表特定的角色动画,如MERLIN、GINIE、ROVER等Windows 2000、Office2000以及以上版本所提供的四种角色动画,其扩展名为.ACS或者.ACG; Show:控制角色动画的显示,参数Speed为整形变量,代表显示的速度; Hide:隐藏动画角色,参数CHARacterid,指定隐藏的对象; Moveto:移动动画角色到指定位置,参数(X,Y)为指定的位置; Play:控制角色执行指定的动画,参数Animation表示动画名称,存储于角色数据文件里; Speak:通过TTS引擎和语音识别引擎读指定文本,目前不支持中文。参数为指定的文本内容,同时可以在文本中通过加标记TAG控制文本阅读时的语气、强调字符串、停顿时间、阅读的速度;语气标记‘\CHR=WHISFER(NORMAL\MONOTONE’,强调字符串‘\EMP\强调字符’,停顿时间’\PAU=停顿时间(以毫秒为单位)\’,阅读速度’\SPD=速度\’,另外还有其它是一种标记,可以找Microsoft网站查找,每一分离的字符串都用双引号加以表示; Languageid:指定语言种类,整形变量,0X409代表美式英语,0X804代表中文。 角色动画实例 准备工作已经完成,现在我们就立即来着手在应用成程序中做一个角色动画效果(注:本文为了便于演示,应用程序仅包括一个窗口,编程工具采用VFP7.0)。 3回顶部 1. 安装Agent控件:选择菜单工具“选项”,在ActiveX列表框中选择Microsoft Aent Control 2.0,安装在工具面板上。 2. 新建一应用程序,仅需一个表单,如图2。
4回顶部 播放指定的角色动画 OChar.Play(ThisForm.lbxAnimNames.DisplayValue) 阅读指定文本 oChar.languageid=0x409*指定语言种类,0X409代表美式英语 oChar.Speak(ThisForm.txtSpeak.Value') 由于TTS引擎不支持中文,因此如果要阅读中文,可以按如下方法: 将要阅读的汉语文本通过录音制作成WAV文件,如SNDFILE.WAV oChar.languageid=0x804;//指定语言种类,0X804代表中文 oChar.speak(‘你好!’,’SNDFILE.WAV’);//SNDFILE.WAV及为制作的声音文件 停止循环播放的动画 oChar.Stop 卸载动画角色 With ThisForm .Olecontrol1.Characters.Unload("merlin") .AnimNames.Clear Endwith 加载阅读文本,也可以直接输入内容 Cfile=Getfile() Nhandle=Fopen(Cfile) Hend=Fseek(Nhandle,0,2) If Hend<=0 Messagebox("文件无法打开!",16,"提示窗口") Return Else =Fseek(Nhandle,0,0) Cstring=Fread(Nhandle,Hend) =Fclose(Nhandle) Endif Thisform.Txtspeak.Value=Cstring 5回顶部 综合演示 Ochar.Languageid=0x409 With Ochar .Play("Greet") .Play("Restpose") .Speak("Hello!") .Play("Announce") .Speak("I Am Merlin.") .Play("Pleased") .Speak("It Is Nice To Meet You!") .Moveto(250,500) .Speak("Now,Here Is A Magic Trick.") .Play("Domagic1") .Play("Domagic2") .Play("Pleased") .Play("Restpose") .Speak("Thank You!") .Play("Wave") .Speak("Goodbye") .Play("Hide") Endwith 关闭表单 Thisform.Release 综合演示效果如图3。 |
正在阅读:添加聪明角色 让网页动起来添加聪明角色 让网页动起来
2004-02-14 09:34
出处:中国电脑教育报
责任编辑:linjixiong