LVSpeechPort::ActivateGrammar

If you wish to use a speech port's loaded 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 ActivateGlobalGrammar

Function

Parameters

gram_name

The identifier for the grammar being activated. This is the same identifier that was given to the grammar when it was loaded.

Return Values

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_EXCEPTION

An exception occured while processing the request.

Remarks

Detailed error and warning messages are sent to the speech port's logging callback function at priorities 0 and 1, respectively.

See Also

© 2012 LumenVox LLC. All rights reserved.