Blocks the client application until the decode is finished.
Functions
- int WaitForDecode(int VoiceChannel)
Parameters
VoiceChannel
Which voice channel to wait on. Setting VoiceChannel equal to -1 causes a wait on all the voice channels for the port.
Return Values
LV_SUCCESS
No errors. The decode is finished.
LV_INVALID_HPORT
The port is not valid (either CreateClient has not been called or DestroyClient has been called prior to this call).
LV_INVALID_SOUND_CHANNEL
The input VoiceChannel is not a valid one.
LV_TIME_OUT
The timeout value associated with PROP_EX_DECODE_TIMEOUT was exceeded before a result was returned from the Speech Engine. The decode was dropped from the Engine, and the LVSpeechPort may now start a new decode request.
LV_EXCEPTION
An exception occurred while processing the request.
Remarks
Some of the API functions run asynchronously, in particular, Decode. WaitForDecode is primarily useful when Decode is called without LV_DECODE_BLOCK. In this case, Decode returns immediately, but continues processing the voice channel's audio data in a separate thread. Since client applications will eventually need the results, the clients need a way to query the port to see if Decode has finished. WaitForDecode will wait the specified time (determined by set value of PROP_EX_DECODE_TIMEOUT) for the engine to idle; check the return value to ensure the decode interaction is finished before attempting to retrieve answers from the speech port.
To wait upto a specific amount of time less than PROP_EX_DECODE_TIMEOUT use WaitForEngineToIdle where one of the input parameters is the time to wait.
See Also