- Installation
- Administration
- Programmer's Guide
- Grammars
- MRCP Server
- FAQs
If you wish to use an SRGS grammar for decode, you need to activate it. Activating a grammar puts it in the multi-grammar grammarset called LV_ACTIVE_GRAMMAR_SET. The grammars that were activated can then be used for a decode by specifying LV_ACTIVE_GRAMMAR_SET as the grammarset parameter in a call to Decode, or by setting the STREAM_PARM_GRAMMAR_SET equal to the LV_ACTIVE_GRAMMAR_SET before calling StreamStart. The reason for this mechanism is to maintain backward compatibility with previous APIs.
When ActivateGrammar is called, first the grammar is searched for among the grammars in the speech port's loaded grammars. If it can not be found there, the collection of application level grammars is searched. If you wish to explicitly activate an application level grammar, use LV_SRE_ActivateGlobalGrammar.
hport
The handle of the speech port for which you are activating the grammar.
gram_name
The identifier for the grammar being activated. This is the same identifier that was given to the grammar when it was loaded.
LV_SUCCESS
No errors; this grammar is now active.
LV_FAILURE, LV_INVALID_GRAMMAR_LABEL
This grammar could not be activated, because it was not found in the speech port's set of loaded grammars.
LV_INVALID_HPORT
The input hport is not a valid one.
LV_EXCEPTION
An exception occured while processing the request.
Detailed error and warning messages are sent to the speech port's logging callback function at priorities 0 and 1, respectively.