网页上面的小精灵,150分马上就给!!

1<object classid="CLSID:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F" codebase="MSagent2.exe#VERSION=2,0,0,0" height="0" id="AgentControl" width="0"></object>
  1<script>   
  2// * Character Objects   
  3var Merlin;   
  4  
  5// * Merlin   
  6var MerlinID = "Merlin";   
  7var MerlinACS = "merlin.acs";   
  8var MerlinReq;   
  9var MerlinStatesReq;   
 10var MerlinAnimationsReq;   
 11var MerlinURL = "merlin.acf";   
 12var MerlinStates = "Showing, Hiding, Speaking, Moving";   
 13var MerlinAnimations = "Blink, Greet, Hide";   
 14var MerlinLoaded = false;   
 15var LoadReq;   
 16var HideReq;   
 17  
 18// * Initialize   
 19UsedChars = "Merlin";   
 20  
 21Window_OnLoad();   
 22  
 23function Window_OnLoad() {   
 24// Purpose: Runs automatically when page is loaded   
 25  
 26// * INSERT ANY NON-AGENT RELATED SCRIPTING HERE   
 27  
 28AgentControl.Connected = true;   
 29  
 30MerlinLoaded = LoadLocalAgent(MerlinID, MerlinACS);   
 31  
 32if (MerlinLoaded) {   
 33SetCharObj();   
 34}   
 35CheckLoadStatus();   
 36}   
 37  
 38function LoadLocalAgent(CharID, CharACS) {   
 39// Purpose: Attempts to load the specified character   
 40// Returns: true if successful, false if not   
 41  
 42AgentControl.RaiseRequestErrors = false;   
 43LoadReq = AgentControl.Characters.Load(CharID, CharACS);   
 44AgentControl.RaiseRequestErrors = true;   
 45  
 46if (LoadReq.Status != 1) {   
 47return(true);   
 48}   
 49return(false);   
 50}   
 51  
 52function SetCharObj() {   
 53// Purpose: Sets the character reference and TTS Language ID   
 54  
 55var lang = "0x409";   
 56if (navigator.appName == 'Netscape')   
 57var language = navigator.language;   
 58else   
 59var language = navigator.browserLanguage;   
 60if (language.indexOf('zh') > -1) lang = "0x804";   
 61Merlin = AgentControl.Characters.Character(MerlinID);   
 62eval("Merlin.LanguageID = "+lang);   
 63}   
 64  
 65function CheckLoadStatus() {   
 66// Purpose: Determines if required characters have been loaded.   
 67// If not, issue request to load next character   
 68// else run the AgentIntro routine   
 69  
 70if (!MerlinLoaded) {   
 71window.status = "正在载入NET-OA小精灵,请等待……";   
 72MerlinReq = AgentControl.Characters.Load(MerlinID, MerlinURL);   
 73return(false);   
 74}   
 75  
 76window.status = "";   
 77AgentIntro();   
 78return(true);   
 79}   
 80  
 81function LoadError() {   
 82var strMsg;   
 83window.status = "";   
 84strMsg = "载入小精灵失败\n";   
 85strMsg = strMsg + "您可能暂时无法使用小精灵\n";   
 86strMsg = strMsg;   
 87alert(strMsg);   
 88}   
 89  
 90function AgentIntro() {   
 91  
 92// *** BEGIN MASH USER SCRIPT ***   
 93  
 94Merlin.Show();   
 95Merlin.Balloon.FontName = "宋体";   
 96Merlin.Balloon.FontSize = 10;   
 97Merlin.Moveto(230,240);   
 98Merlin.Speak("您好!");   
 99Merlin.Play("Blink");   
100Merlin.Speak("我是NET-OA小精灵。");   
101Merlin.Play("Blink");   
102Merlin.Speak("欢迎测试NET-OA自动化办公系统!");   
103Merlin.Play("Blink");   
104Merlin.Speak("程序设计者:江南行客");   
105Merlin.Play("Blink");   
106Merlin.Play("Blink");   
107Merlin.Hide();   
108Merlin.Show();   
109Merlin.Speak("忘了告诉您,");   
110Merlin.Play("Blink");   
111Merlin.Speak("您可用以下方式联系他:");   
112Merlin.Play("Blink");   
113Merlin.Speak("QQ:2503086");   
114Merlin.Play("Blink");   
115Merlin.Speak("Email:[email protected]");   
116Merlin.Play("Greet");   
117Merlin.Speak("我要走了,Bye-bye!");   
118Merlin.Moveto(600,70);   
119Merlin.Speak("欢迎再来,I Love You.Bye-bye!");   
120Merlin.Play("Blink");   
121Merlin.Play("Blink");   
122Merlin.Play("Blink");   
123Merlin.Hide();   
124  
125// *** END MASH USER SCRIPT ***   
126}   
127</script>
 1<script event="RequestComplete(RequestObject)" for="AgentControl" language="JavaScript">   
 2<!--//   
 3// Purpose: Take action on completion or failure of requests   
 4  
 5{   
 6switch (RequestObject) {   
 7case MerlinReq :   
 8if (RequestObject.Status == 0) {   
 9SetCharObj();   
10  
11if (MerlinStates != "") {   
12window.status = "正在载入NET-OA小精灵,请等待……";   
13MerlinStatesReq = AgentControl.Characters(MerlinID).Get("State", MerlinStates, true);   
14}   
15else if (MerlinAnimations != "") {   
16window.status = "正在载入NET-OA小精灵,请等待……";   
17MerlinAnimationsReq = AgentControl.Characters(MerlinID).Get("Animation", MerlinAnimations, true);   
18}   
19else {   
20MerlinLoaded = true;   
21CheckLoadStatus();   
22}   
23}   
24else {   
25LoadError();   
26}   
27break;   
28case MerlinStatesReq :   
29if (RequestObject.Status == 0) {   
30if (MerlinAnimations != "") {   
31window.status = "正在载入NET-OA小精灵,请等待……";   
32MerlinAnimationsReq = AgentControl.Characters(MerlinID).Get("Animation", MerlinAnimations, true);   
33}   
34else {   
35MerlinLoaded = true;   
36CheckLoadStatus();   
37}   
38}   
39else   
40{   
41LoadError();   
42}   
43break;   
44case MerlinAnimationsReq :   
45if (RequestObject.Status == 0)   
46{   
47MerlinLoaded = true;   
48CheckLoadStatus();   
49}   
50else   
51{   
52LoadError();   
53}   
54break;   
55case HideReq :   
56AgentControl.Characters.Unload(MerlinID);   
57break;   
58} // end switch   
59}   
60//-->   
61</script>

---------------------------------------------------------------

MS 的AGENG技术内容
- Microsoft Agent是微软公司于1997年9月发布的一项代理软件开发技术,而后被集成到Internet Explorer 4.0 Plus及更高版本中,目前版本为2.0,支持简体中文。作为一种软件代理工具,Agent以其强大的交互功能、鲜明的人性特点、优美的操作界面和简便统一的编程方法,对由菜单、按钮、提示框等组成的传统人机交互方式产生了很大影响,在多媒体创作、Web应用、教育软件、软件帮助系统和辅助工具制作等方面,具有广阔的应用前景。

一、 Microsoft Agent技术简介

---- Agent一词的中文意思是“代理”,故名思意,这类代理软件的主要作用是提供一种易于理解和使用的操作界面,接受用户的指令、代替用户完成某些复杂繁琐的工作、或为用户提供帮助。科学研究表明:从人机工程的角度考虑,赋予电脑或程序更多人性化色彩,如支持语音合成输出信息、语音识别输入指令、智能提示、动画等,能够充分提高人机交互的有效性和易用性。

---- 我们知道,在Office 97帮助系统中有一种叫作Office助手的代理软件,其中幽默风趣的动画人物,如“大眼夹”,能够根据用户的操作步骤“智能化”地提出一些建议或帮助信息。与Office助手相比,Agent功能更加丰富强大,表现在:

Office助手沿用传统的不透明矩形窗口,窗口后面的背景被完全挡住;Agent动画人物本身是一个“AlwaysOnTop”窗口,只有人物身体部分挡住背景,其余部分透明。

Office助手只允许Office 97的各个组件调用,Agent动画人物可由任何Windows程序调用;

Agent支持文字气球和输入提示条,在输出语音的同时把文字输出至一个卡通式文字气球中。如果电脑系统中安装有Agent语音识别引擎,当用户按住输入键,如Scroll Lock键,在Agent人物下方出现一个输入命令窗口,表示它正在“聆听”用户的语音命令。

Agent提供Genie、Merlin、Bobby和Peedy等动画人物,不仅具有优美诙谐的动作,而且可以通过声卡、麦克风与用户交谈。
二、 Microsoft Agent安装方法
---- Agent是一种ActiveX控件,其服务器程序(C:\WINDOWS\MSAGENT\Agentsvr.exe)运行在Win95/98/NT操作平台上,为其它调用Agent的客户程序提供服务。客户程序可以是利用VB、C++、Delphi、VFP、PB等开发的应用软件,也可以是HTML文件中的Visual Script、Java Script脚本语言代码。

安装Agent核心组件Msagent.exe。

安装Lernout & Hauspie TruVoice Text-to-Speech Engine(完成从文字合成语音的工作,目前版本只支持英语)Cgram.exe。

安装Microsoft Command and Control Speech Engine(提供语音识别功能,目前版本只支持英语)Actcnc.exe。

Agent动画人物人物数据文件。Agent支持单结构角色文件(.acs,角色数据与动画数据存于同一个文件),也支持分离结构角色文件(.acf,角色数据存于.acf中,动画数据存于.aca中)。基于本地硬盘和网络的应用程序可采用.acs文件,基于Web页面的HTML文件在浏览器中访问时会自动调用,习惯上多使用.acs文件。
---- 上述文件可从 http://www.microsoft.com//workshop/imedia/agent/default.asp下载。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus