You are reading help file online using chmlib.com
|
Object: SpVoice (Events)
The VoiceChange event occurs when the text-to-speech (TTS) engine detects a change of voice while speaking a stream for the SpVoice object.
SpVoice.VoiceChange(
StreamNumber As Long,
StreamPosition As Variant,
VoiceObjectToken As SpObjectToken
)
The following Visual Basic form code demonstrates the use of the VoiceChange event. To run this code, create a form with the following controls:
Paste this code into the Declarations section of the form.
The Form_Load code creates an SpVoice object. The Command1_Click procedure sets the object's Voice property to three different voices, and enqueues a short sentence in each voice. Each time the TTS engine speaks with a new Voice property, a VoiceChange event is raised. The VoiceChange event code displays the name of the new voice in Text1.
Option Explicit
Public WithEvents vox As SpeechLib.SpVoice
Const cstrText = "my voice just changed."
Private Sub Command1_Click()
Set vox.voice = vox.GetVoices("name = microsoft mary").Item(0)
vox.Speak cstrText, SVSFlagsAsync
Set vox.voice = vox.GetVoices("name = microsoft mike").Item(0)
vox.Speak cstrText, SVSFlagsAsync
Set vox.voice = vox.GetVoices("name = microsoft sam").Item(0)
vox.Speak cstrText, SVSFlagsAsync
End Sub
Private Sub Form_Load()
Set vox = New SpVoice
End Sub
Private Sub vox_VoiceChange(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, _
ByVal VoiceObjectToken As SpeechLib.ISpeechObjectToken)
Text1.Text = VoiceObjectToken.GetDescription
End Sub
You are reading help file online using chmlib.com
|