17-10-12, 06:59 PM
كاتب الموضوع : egyption-coder
ضع تكست بوكس و زر اضف المصدر (الريفرانس) الخاص بالتحكم فى شخصيات مايكروسوفت
من com اختار microsoft agent control
ثم اعلن المتغيرات الخاصة بالأوبجيكت و الشخصية
كود :
Private agentController As AgentObjects.Agent
Private agentCharacter As AgentObjects.IAgentCtlCharacter
و فى حدث الفورم لود
كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
agentController = New AgentObjects.Agent()
With agentController
.Connected = True
.Characters.Load("merlin", "merlin.acs")
agentCharacter = .Characters("merlin")
End With
With agentCharacter
.MoveTo(CShort(Me.Location.X + 420), CShort(Me.Location.Y + 130))
.Show()
.Play("Announce")
.Speak("Hello, my name is ahmed. " & _
"i hope i can help you to learn english!")
.Play("GestureRight")
.MoveTo(CShort(Me.Location.X + 340), CShort(Me.Location.Y + 250))
.Play("GestureRight")
.Speak("lets start it")
End With
End Sub
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text = "" Then
Exit Sub
End If
agentCharacter.StopAll()
Dim path As String = TextBox1.Text
Dim dilem As Char = " "
Dim parts() As String
parts = path.Split(dilem)
Dim ipart As IEnumerator
ipart = parts.GetEnumerator
While ipart.MoveNext
Dim xx As String = ipart.Current.ToString
Dim A As New SpeechLib.SpVoice
Dim ln As Integer = xx.Length - 1, i
For i = 0 To ln
Dim nn As Char = xx.Chars(i)
If TextBox1.Text = "" Then
Exit Sub
Else
A.AlertBoundary = SpeechLib.SpeechLexiconType.SLTApp
A.AlertBoundary = SpeechLib.SpeechVoiceEvents.SVEPhoneme
A.AlertBoundary = SpeechLib.SpeechVoiceEvents.SVEVoiceChange
agentController = New AgentObjects.Agent()
agentCharacter.StopAll()
With agentController
.Connected = True
.Characters.Load("merlin", "merlin.acs")
agentCharacter = .Characters("merlin")
End With
agentCharacter.Speak(CStr(nn))
A.Rate = -2
A.Speak(nn)
End If
Next i
A.Rate = -3
A.Speak(xx)
agentCharacter.Speak(CStr(xx))
End While
Dim g As New SpeechLib.SpVoice
agentCharacter.Speak(CStr(TextBox1.Text))
g.Rate = -4
g.Speak(TextBox1.Text)
End Sub