Бөлісу құралы:


LoadGrammarCompletedEventArgs Класс

Определение

Предоставляет данные для LoadGrammarCompleted события SpeechRecognizer или SpeechRecognitionEngine объекта.

public ref class LoadGrammarCompletedEventArgs : System::ComponentModel::AsyncCompletedEventArgs
public class LoadGrammarCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
type LoadGrammarCompletedEventArgs = class
    inherit AsyncCompletedEventArgs
Public Class LoadGrammarCompletedEventArgs
Inherits AsyncCompletedEventArgs
Наследование
LoadGrammarCompletedEventArgs

Примеры

В следующем примере создается общий распознаватель речи, а затем создается два типа грамматики для распознавания определенных слов и принятия свободного диктовки. Пример асинхронно загружает все созданные грамматики распознавателя. Обработчики для распознавателя LoadGrammarCompleted и SpeechRecognized событий сообщают результаты распознавания и какие грамматики использовались для выполнения распознавания.

using System;
using System.Speech.Recognition;

namespace SampleRecognition
{
  class Program
  {
    private static SpeechRecognizer recognizer;
    public static void Main(string[] args)
    {

      // Initialize a shared speech recognition engine.
      recognizer = new SpeechRecognizer();

        // Add a handler for the LoadGrammarCompleted event.
        recognizer.LoadGrammarCompleted +=
          new EventHandler<LoadGrammarCompletedEventArgs>(recognizer_LoadGrammarCompleted);

        // Add a handler for the SpeechRecognized event.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

        // Add a handler for the StateChanged event.
        recognizer.StateChanged +=
          new EventHandler<StateChangedEventArgs>(recognizer_StateChanged);

        // Create the "yesno" grammar and build it into a Grammar object.
        Choices yesChoices = new Choices(new string[] { "yes", "yup", "yah}" });
        SemanticResultValue yesValue =
            new SemanticResultValue(yesChoices, (bool)true);
        Choices noChoices = new Choices(new string[] { "no", "nope", "nah" });
        SemanticResultValue noValue =
            new SemanticResultValue(noChoices, (bool)false);
        SemanticResultKey yesNoKey =
            new SemanticResultKey("yesno", new Choices(new GrammarBuilder[] { yesValue, noValue }));
        Grammar yesnoGrammar = new Grammar(yesNoKey);
        yesnoGrammar.Name = "yesNo";

        // Create the "done" grammar within the constructor of a Grammar object.
        Grammar doneGrammar =
        new Grammar(new GrammarBuilder(new Choices(new string[] { "done", "exit", "quit", "stop" })));
        doneGrammar.Name = "Done";

        // Create a dictation grammar.
        Grammar dictation = new DictationGrammar();
        dictation.Name = "Dictation";

        // Load grammars to the recognizer.
        recognizer.LoadGrammarAsync(yesnoGrammar);
        recognizer.LoadGrammarAsync(doneGrammar);
        recognizer.LoadGrammarAsync(dictation);

        // Keep the console window open.
        Console.ReadLine();
      }

    // Handle the SpeechRecognized event.
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      Console.WriteLine("Grammar({0}): {1}", e.Result.Grammar.Name, e.Result.Text);

      // Add event handler code here.
    }

    // Handle the LoadGrammarCompleted event.
    static void recognizer_LoadGrammarCompleted(object sender, LoadGrammarCompletedEventArgs e)
    {
      string grammarName = e.Grammar.Name;
      bool grammarLoaded = e.Grammar.Loaded;

      if (e.Error != null)
      {

        Console.WriteLine("LoadGrammar for {0} failed with a {1}.",
        grammarName, e.Error.GetType().Name);

        // Add exception handling code here.
      }

      Console.WriteLine("Grammar {0} {1} loaded.",
      grammarName, (grammarLoaded) ? "is" : "is not");
    }

    // Put the shared speech recognizer into "listening" mode.
    static void recognizer_StateChanged(object sender, StateChangedEventArgs e)
    {
      if (e.RecognizerState != RecognizerState.Stopped)
      {
        recognizer.EmulateRecognizeAsync("Start listening");
      }
    }
  }
}

Комментарии

Экземпляр LoadGrammarCompletedEventArgs создается, когда SpeechRecognitionEngine объект вызывает его SpeechRecognitionEngine.LoadGrammarCompleted или SpeechRecognizer объект вызывает его LoadGrammarCompleted событие. События возникают при завершении вызовов LoadGrammarAsync методов.

Чтобы получить сведения о Grammar загруженном объекте, получите доступ к Grammar свойству в обработчике события.

Если распознаватель сталкивается с исключением во время операции, свойство задается в качестве исключения, Error а Loaded свойство связанного Grammar может быть false.

Свойства

Имя Описание
Cancelled

Возвращает значение, указывающее, была ли отменена асинхронная операция.

(Унаследовано от AsyncCompletedEventArgs)
Error

Возвращает значение, указывающее, какая ошибка произошла во время асинхронной операции.

(Унаследовано от AsyncCompletedEventArgs)
Grammar

Объект Grammar , который завершил загрузку.

UserState

Возвращает уникальный идентификатор асинхронной задачи.

(Унаследовано от AsyncCompletedEventArgs)

Методы

Имя Описание
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
RaiseExceptionIfNecessary()

Вызывает исключение, предоставленное пользователем, если не удалось выполнить асинхронную операцию.

(Унаследовано от AsyncCompletedEventArgs)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел