Partager via


ISpeechVoiceStatus LastStreamNumberQueued Property (SAPI 5.3)

Microsoft Speech API 5.3

Interface: ISpeechVoiceStatus

LastStreamNumberQueued Property

The LastStreamNumberQueued property retrieves the number of the last audio stream enqueued by the voice.

Syntax

Set: (This property is read-only)
Get: Long = ISpeechVoiceStatus.LastStreamNumberQueued

Parts

  • ISpeechVoiceStatus
    The owning object.
  • Long
    Set: (This property is read-only)
    Get: A Long variable returning the stream number of the last audio stream spoken.

Example

The following code snippet demonstrates the use of the LastStreamNumberQueued property. To run this code, create a form with the following control:

  • A command button called Command1

Paste this code into the Declarations section of the form.

The Form_Load procedure creates a voice object. The Command1_Click procedure speaks three streams asynchronously, creates an ISpeechVoiceStatus object and prints the LastStreamNumberQueued property value. The WaitUntilDone method then blocks execution until the voice finishes speaking the three streams, and the LastStreamNumberQueued property value is printed again. The value of the LastStreamNumberQueued property in both cases is 3.

  
Option Explicit

Private V As SpeechLib.SpVoice
Private S As SpeechLib.ISpeechVoiceStatus

Private Sub Command1_Click()
    On Error GoTo EH

    'Enqueue three streams

    V.Speak "this is stream number one.", SVSFlagsAsync
    V.Speak "a second stream, now.", SVSFlagsAsync
    V.Speak "the third stream is next", SVSFlagsAsync

    'Get status while voice is speaking

    Set S = V.Status  'Get status thru ISpeechVoiceStatus object

    Print "Voice is speaking and LastStreamNumberQueued is " _
            & S.LastStreamNumberQueued
    DoEvents  'Let Print results be seen immediately


    V.WaitUntilDone (99999)     'Wait until voice finishes

    'Get status thru "Voice.Status.Property" syntax

    Print "Voice is finished and LastStreamNumberQueued is " _
            & V.Status.LastStreamNumberQueued

EH:
    If Err.Number Then ShowErrMsg
End Sub

Private Sub Form_Load()

    Set V = New SpVoice

End Sub

Private Sub ShowErrMsg()

    ' Declare identifiers:
    Dim T As String

    T = "Desc: " & Err.Description & vbNewLine
    T = T & "Err #: " & Err.Number
    MsgBox T, vbExclamation, "Run-Time Error"
    End

End Sub