Microsoft Speech SDK
SAPI 5.1
ISpVoice::SpeakStream
ISpVoice::SpeakStream speaks the contents of a stream.
HRESULT SpeakStream(
IStream *pStream,
DWORD dwFlags,
ULONG *pulStreamNumber
);
Parameters
- pStream
- [in] Address of an IStream interface containing the input stream. If the ISpStreamFormat interface is not implemented by the input stream, the format type is assumed to be SPDFID_Text.
- dwFlags
- [in] Flags used to control the rendering process for this call. The flag values are contained in the SPEAKFLAGS enumeration, however the SPF_IS_FILENAME flag is not used for SpeakStream.
- pulStreamNumber
- [out] Pointer to a ULONG which receives the current input stream number associated with this SpeakStream request. Each time a string is spoken, an associated stream number is returned. Events queued back to the application related to this string will contain this number.
Return values
Value | Description |
---|---|
S_OK | Function completed successfully. |
E_INVALIDARG | One or more parameters are invalid. |
E_POINTER | Invalid pointer. |
E_OUTOFMEMORY | Exceeded available memory. |
SPERR_INVALID_FLAGS | Invalid flags specified for this operation. |
SPERR_DEVICE_BUSY | Timeout on synchronous call. |
Remarks
- If the input stream is wave data, it is sent directly to the output object. For more information about connecting an input stream to a voice, see ISpStream::BindToFile.
- If the input stream is text data, it is processed by the text-to-speech engine.
- Normally, pulStreamNumber will just be 1. If, however, several asynchronous SpeakStream (or Speak) calls are received and must be queued, the stream number will be incremented for each call.