Sets a new value for a stream property.
- int StreamSetParameter(const char* StreamParameter, unsigned int StreamParameterValue)
Stream parameter to change. See available Stream Properties.
Note that in version 10.5, this parameter changed from an int to a const char *, which was to optimize the code internally. This should have minimal effect on users, except to require a recompilation of any code linking to the API when making this transition. Specifically, the defines that can be used in this parameter value were changed in the definition to accommodate this.
New stream parameter value.
No errors; parameter changed correctly.
The port is not valid (either CreateClient has not been called or DestroyClient has been called prior to this call).
The operation failed because the port was shutting down.
The specified parameter does not exist.
An exception occurred while processing the request.
The streaming parameters set by this function are very important for the Engine to correctly determine when speech begins and ends, which in turn is important for getting accurate recognition. A common problem in speech applications is that the Engine may cut off the start or end of an utterance if these settings are incorrect.
See our recommended Engine settings for some ideas of how to alter these settings for different types of applications.
// Below is an example of a subroutine that loads and activates a grammar.
void LoadGrammar(char *grammar_name, char *grammar_file)
printf("Loading the grammar and activating it.\n");
error code = port.LoadGrammar(grammar_name, grammar_file);
error code = port.ActivateGrammar(grammar_name);
// If the grammarset is not turned to the active grammar, this grammar
// will not be used automatically for the decode.
error code = port.StreamSetParameter(STREAM_PARM_GRAMMAR_SET,