SpCustomStream BaseStream Property (SAPI 5.3)
The BaseStream property gets and sets the base stream object in a custom stream.
|Set:||SpCustomStream.BaseStream = IUnknown|
|Get:||IUnknown = SpCustomStream.BaseStream|
- The owning object.
Set: An Unknown variable that sets the base stream.
Get: An Unknown variable that gets the base stream.
The following Visual Basic form code demonstrates the use of the BaseStream property. To run this code, create a form with following control:
- A command button called Command1
Paste this code into the Declarations section of the form.
The From_Load procedure creates two voice objects. The Command1 procedure creates a new custom stream, uses the CreateStreamOnHGlobal API to create a new genetic Istream object, and sets the Istream as the custom stream's BaseStream property. Finally, it uses the first voice to speak a phrase into the custom stream, and then plays back the custom stream audio with the second voice.
Option Explicit Dim V1 As SpeechLib.SpVoice Dim V2 As SpeechLib.SpVoice Dim C As SpeechLib.SpCustomStream Private Declare Function CreateStreamOnHGlobal Lib "Ole32.dll" ( _ ByVal hGlobal As Any, ByVal fDeleteOnRelease As Boolean, _ ByRef ppStream As IStream) As Long Private Sub Command1_Click() Dim GeneticIstream As SpeechLib.IStream On Error GoTo EH 'Create a genetic Istream object, 'Use as custom stream's base stream CreateStreamOnHGlobal 0&;, True, GeneticIstream Set C = New SpCustomStream Set C.BaseStream = GeneticIstream 'Set custom stream as voice's output stream 'Make voice speak into the stream Set V1.AudioOutputStream = C V1.Speak "hello world" 'Seek to beginning of stream, and speak stream C.Seek 0, SSSPTRelativeToStart V2.SpeakStream C EH: If Err.Number Then ShowErrMsg End Sub Private Sub Form_Load() Set V1 = New SpVoice 'Creates a custom stream Set V2 = New SpVoice 'Speaks the custom stream 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