SpVoice Skip method (SAPI 5.3)
Microsoft Speech API 5.3
Object: SpVoice
Skip Method
The Skip method skips the voice forward or backward by the specified number of items within the current input text stream.
SpVoice.Skip(
Type As String,
NumItems As Long
) As Long
Parameters
- Type
The type of items to be skipped. Currently, Sentence is the only type supported. - NumItems
The number of items to be skipped forward in the voice input stream. A negative value specifies skipping backward.
Return Value
A Long variable containing the number of items skipped.
Example
The following Visual Basic form code demonstrates the use of the Skip method. To run this code, create a form with the following controls:
- A text box called Text1
- Two command buttons called Command1 and Command2
- An HScrollbar control called HScroll1
Paste this code into the Declarations section of the form.
The Form_Load procedure creates a voice, sets up the HScrollbar with a value of -2 in a range from -5 to 5, and puts a string of numbers in the textbox. Because the numbers are followed by periods and separated by spaces, SAPI considers each number to be a sentence. The scrollbar specifies the number of sentences that the voice object will skip.
Click Command1 to start the voice speaking the sentences in the textbox. Click Command2 to skip the voice forward or backward, depending on the value of the scrollbar control. Click the left side or the right side of the scrollbar to increase or decrease the number of sentences to be skipped by the Command2 button.
Option Explicit
Private WithEvents V As SpeechLib.SpVoice
Private Sub Command1_Click()
V.Speak Text1.Text, SVSFlagsAsync
End Sub
Private Sub Command2_Click()
V.Skip "Sentence", HScroll1.Value
End Sub
Private Sub Form_Load()
Set V = New SpVoice
HScroll1.Min = -5
HScroll1.Max = 5
HScroll1.Value = -2
Text1.Text = "1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20."
End Sub
Private Sub HScroll1_Change()
If HScroll1.Value > 0 Then
Command2.Caption = " Skip forward " & HScroll1.Value & " sentences"
Else
Command2.Caption = " Skip backward " & Abs(HScroll1.Value) & " sentences"
End If
End Sub
Private Sub V_Word(ByVal StreamNumber As Long, ByVal StreamPosition As Variant, _
ByVal CharacterPosition As Long, ByVal Length As Long)
Text1.SetFocus
Text1.SelStart = CharacterPosition
Text1.SelLength = Length
End Sub