You are reading help file online using chmlib.com
|
Interface: ISpeechVoiceStatus
The InputSentencePosition property retrieves the position one character prior to the beginning of the sentence currently being spoken by the text-to-speech (TTS) engine.
The InputSentencePosition property of an ISpeechVoiceStatus object is valid only when its RunningState property is SRSEIsSpeaking.
Set: | (This property is read-only) |
Get: | Long = ISpeechVoiceStatus.InputSentencePosition |
The following Visual Basic form code demonstrates the use of the InputSentenceLength and InputSentencePosition properties of an ISpeechVoiceStatus object. To run this code, create a form with the following controls:
Paste this code into the Declarations section of the form.
The Form_Load procedure creates a voice object and places a few sentences in the text box. The Command1_Click procedure speaks the contents of the text box asynchronously and loops until the voice finishes speaking. In this loop, the code uses InputSentencePosition and InputSentenceLength properties to highlight each sentence in the text box as it is spoken by the TTS engine. A RunningState property of SRSEDone indicates that the voice has finished speaking.
Option Explicit
Dim V As SpeechLib.SpVoice
Private Sub Command1_Click()
Dim ii As Integer
Dim S As SpeechLib.ISpeechVoiceStatus
V.Speak Text1.Text, SVSFlagsAsync 'Speak the user-editable text
'Check status periodically
Do
For ii = 0 To 5000
DoEvents
Next ii
Set S = V.Status 'Get status in an ISpeechVoiceStatus object
'Text1.HideSelection must be False for this selection to be seen!
Text1.SelStart = S.InputSentencePosition
Text1.SelLength = S.InputSentenceLength
Loop Until V.Status.RunningState = SRSEDone 'Exit when voice stops
Text1.SelLength = 0
End Sub
Private Sub Form_Load()
Set V = New SpVoice
Text1.Text = "One sentence. Another sentence. Still one more sentence."
End Sub
You are reading help file online using chmlib.com
|