- 聲望
- 15709 點
- 最後登錄
- 2011-9-30
- D幣
- 7658 枚
- 推廣
- 284 次
- 幸運
- 80 點
- 註冊時間
- 2006-5-9
- 閱讀權限
- 200
- 帖子
- 6563
- 主題
- 4162
- 精華
- 13
- 積分
- 12904
- UID
- 1
  
|
用Agent+ASP技術制作語音聊天室
用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_OnLoad
LoadCharacter
' 設置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
' 如果成功\r
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> |
|