| --  作者:superpch --  发布时间:2007/8/11 23:31:05
 --  用Agent+ASP技术制作语音聊天室
 --------------------以下为程序内容,按文章中出现的顺序分块排序
 <!--定义"AgentControl"--><OBJECT classid=clsid:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F
 codeBase=#VERSION=2,0,0,0 id=Agent>
 </OBJECT>
 <!--定义L&H TruVoice Text-To-Speech American English --><OBJECT classid=clsid:B8F2846E-CE36-11D0-AC83-00C04FD97575
 codeBase=#VERSION=6,0,0,0 id=TruVoice width="14" height="14">
 </OBJECT>
 ______________________________________________________________
 尝试从微软Agent角色目录中装载Set LoadRequestUNC = Agent.Characters.Load ("Peedy", "Peedy.acs")
 If LoadRequestUNC.Status <> 0 Then' 如果失败便尝试从微软服务器下载
 Set LoadRequestURL = Agent.Characters.Load ("Peedy", "http://agent.microsoft.com/agent2/chars/peedy/peedy.acf";)
 Else
 ' 现在产生一个Peedy实例
 Set Peedy = Agent.Characters("Peedy")
 End If
 _____________________________________________________________
 <HTML><BODY>
 <h3 align="center"><font color="#0000FF">Welcome to My Chatroom!</font></h3>
 <FORM method="POST" action="default.asp">
 <p align="center">Your name please:
 <input type="text" name="txtUsername" size="20">
 <input type="submit" value="OK" name="btnOK"></p>
 </FORM>
 <p align="center"><a href="download.htm">Click here to go to download page.</a></p>
 </BODY>
 </HTML>
 _______________________________________________________________________
 <SCRIPT LANGUAGE=VBScript RUNAT=Server>Sub Application_OnStart
 Application("message")="" '发言内容
 Application("expression")="" '表情
 Application("sender")="" '发言者ID
 Application("globalid")=0 '发言总序号
 End Sub
 </SCRIPT>
 _______________________________________________________________________
 <%
 Session("username") = Server.HtmlEncode(Request.Form("txtUsername"))
 Session("personalid")=0
 %>
 <HTML>
 <HEAD>
 <TITLE>Welcome to My Chatroom!</TITLE>
 </HEAD>
 <frameset border=0 frameSpacing=0 cols="98,*" frameBorder=0>
 <frame name="agent" src="agent.asp">
 <frameset rows="196,68,*">
 <frame name="display" src="display.asp">
 <frame name="refresh" src="refresh.asp">
 <frame name="message" src="message.asp">
 </frameset>
 </frameset>
 <frameset>
 </frameset>
 </HTML>
 ________________________________________________________________
 <HTML><BODY BGCOLOR="#006699" TEXT="#FFFFFF">
 <!--定义"AgentControl"-->
 <OBJECT classid=clsid:D45FD31B-5C6E-11D1-9EC1-00C04FD7081F
 codeBase=#VERSION=2,0,0,0 id=Agent>
 </OBJECT>
 <!--定义L&H TruVoice Text-To-Speech American English -->
 <OBJECT classid=clsid:B8F2846E-CE36-11D0-AC83-00C04FD97575
 codeBase=#VERSION=6,0,0,0 id=TruVoice width="14" height="14">
 </OBJECT>
 <SCRIPT language=VBScript>Dim Peedy
 Dim LoadRequestUNC
 Dim LoadRequestURL
 Dim GetShowAnimation
 Sub Window_OnLoadLoadCharacter
 ' 设置Agent的语言代号
 Peedy.LanguageID = &H0409
 ' 让Peedy出现
 Peedy.MoveTo window.event.screenX-100,window.event.screenY-100
 Peedy.Show
 ' 好啦,Peedy可以开口说话了
 Peedy.Speak "Welcome to my chatroom!"
 Peedy.Play "Greet"
 End Sub
 Sub Agent_RequestComplete(ByVal Request)' 如果是从微软服务器装载ACF角色的请求结束
 If Request = LoadRequestURL Then
 ' 如果申请下载失败
 If Request.Status = 1 Then
 Msgbox "无法从服务器下载Peedy,可能服务器太忙。"
 Exit Sub
 ' 如果成功
 ElseIf Request.Status = 0 Then
 ' 产生一个实例
 Set Peedy = Agent.Characters("Peedy")
 ' 预取Peedy的部分动画效果
 Set GetShowAnimation = Peedy.Get ("state", "showing, speaking")
 Peedy.Get "animation", "Blink, Greet, Pleased, Explain, Think, GestureRight,Idle1_1,Idle2_2, Announce, Uncertain", False
 End If
 ' 如果是请求预取动画效果的请求结束
 ElseIf Request = GetShowAnimation Then
 ' 如果失败
 If Request.Status = 1 Then
 Msgbox "下载动画的请求失败,可能服务器太忙。"
 Exit Sub
 End If
 End If
 End Sub
 ' 装载Agent角色Sub LoadCharacter
 On Error Resume Next
 ' 尝试从微软Agent角色目录中装载
 Set LoadRequestUNC = Agent.Characters.Load ("Peedy", "Peedy.acs")
 
 If LoadRequestUNC.Status <> 0 Then
 ' 如果失败便尝试从微软服务器下载
 Set LoadRequestURL = Agent.Characters.Load ("Peedy", "http://agent.microsoft.com/agent2/chars/peedy/peedy.acf";)
 Else
 ' 产生一个Peedy实例
 Set Peedy = Agent.Characters("Peedy")
 End If
 End Sub
 </SCRIPT></BODY>
 </HTML>
 ________________________________________________________________ <HTML><HEAD>
 <META HTTP-EQUIV="REFRESH" CONTENT=3 URL="refresh.asp">
 </HEAD>
 <BODY>
 <SCRIPT language=VBScript>
 Sub Window_OnLoad
 <%
 If Session("personalid") < Application("globalid") Then
 %>
 self.parent.display.document.write("<table width=100% border=0 cellPadding=0 cellSpacing=0><font color=#0000FF>"+"<%=Application("sender")%>"+"</font>: "+"<%=Application("message")%>"+"</table>")
 self.parent.display.scroll 0, 20000000
 self.parent.agent.Peedy.Speak "<%=Application("message")%>"
 self.parent.agent.Peedy.Play "<%=Application("expression")%>"
 <%
 Session("personalid") = Application("globalid")
 End If
 %>
 End Sub
 </SCRIPT>
 </BODY>
 </HTML>
 ____________________________________________________________________
 <%Application.Lock
 If Request.Form("txtMessage") <> "" Then
 Application("message") = Server.HtmlEncode(Request.Form("txtMessage"))
 Application("sender") = Session("username")
 Application("expression") = Request.Form("rdoExpression")
 Application("globalid") = Application("globalid") + 1
 End If
 Application.UnLock
 %>
 <HTML>
 <HEAD>
 <STYLE type=text/css>
 .smalltext {font-size: 9pt}
 </STYLE></HEAD>
 <BODY BGCOLOR="#006699" TEXT="#FFFFFF" onload="document.frmMessage.txtMessage.focus();">
 <FORM METHOD="POST" ACTION="message.asp" name=frmMessage>
 <p class="smalltext">
 You are welcome,<%=Session("username")%>
 
 </p>
 <p class="smalltext">
 Choose an expression:<br>
 <input type="radio" value="Idle1_1" checked name="rdoExpression">Normal
 <input type="radio" value="Explain" name="rdoExpression">Explain
 <input type="radio" value="Greet" name="rdoExpression">Greet
 <input type="radio" value="Congratulate" name="rdoExpression">Congratulate
 <input type="radio" value="Decline" name="rdoExpression">Decline
 <input type="radio" value="Pleased" name="rdoExpression">Pleased
 <input type="radio" value="Think" name="rdoExpression">Think
 <input type="radio" value="Announce" name="rdoExpression">Announce
 <input type="radio" value="Uncertain" name="rdoExpression">Uncertain
 <input type="radio" value="GestureRight" name="rdoExpression">Gesture Right
 <input type="radio" value="DontRecognize" name="rdoExpression">Don't Recognize
 <input type="radio" value="GetAttention" name="rdoExpression">Get Attention
 <input type="radio" value="DoMagic2" name="rdoExpression">Do Magic
 </p>
 <p class="smalltext">
 Message:<input name="txtMessage" type="TEXT" size=66>
 <input type="submit" name="Submit" value="Submit">
 </p>
 </FORM>
 </BODY>
 </HTML>
 
 |