Share via


SpeechRecognitionEngine.LoadGrammarAsync(Grammar) Method

Definition

Asynchronously loads a speech recognition grammar.

public:
 void LoadGrammarAsync(System::Speech::Recognition::Grammar ^ grammar);
public void LoadGrammarAsync (System.Speech.Recognition.Grammar grammar);
member this.LoadGrammarAsync : System.Speech.Recognition.Grammar -> unit
Public Sub LoadGrammarAsync (grammar As Grammar)

Parameters

grammar
Grammar

The speech recognition grammar to load.

Exceptions

Grammar is null.

Grammar is not in a valid state.

The asynchronous operation was canceled.

Remarks

When the recognizer completes loading a Grammar object, it raises a LoadGrammarCompleted event. The recognizer throws an exception if the Grammar object is already loaded, is being asynchronously loaded, or has failed to load into any recognizer. You cannot load the same Grammar object into multiple instances of SpeechRecognitionEngine. Instead, create a new Grammar object for each SpeechRecognitionEngine instance.

If the recognizer is running, applications must use RequestRecognizerUpdate to pause the speech recognition engine before loading, unloading, enabling, or disabling a grammar.

When you load a grammar, it is enabled by default. To disable a loaded grammar, use the Enabled property.

To load a speech recognition grammar synchronously, use the LoadGrammar method.

This method stores in the task it returns all non-usage exceptions that the method's synchronous counterpart can throw. If an exception is stored into the returned task, that exception will be thrown when the task is awaited. Usage exceptions, such as ArgumentException, are still thrown synchronously. For the stored exceptions, see the exceptions thrown by LoadGrammar(Grammar).

Applies to

See also