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


SpeechRecognizer.EmulateRecognizeAsync Метод

Определение

Эмулирует входные данные в распознаватель общей речи, используя текст вместо звука для асинхронного распознавания речи.

Перегрузки

Имя Описание
EmulateRecognizeAsync(String)

Эмулирует входные данные фразы в распознаватель общей речи, используя текст вместо звука для асинхронного распознавания речи.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Эмулирует входные данные определенных слов в распознаватель общей речи, используя текст вместо звука для асинхронного распознавания речи, и указывает, как распознаватель обрабатывает сравнение Юникода между словами и загруженными грамматиками распознавания речи.

EmulateRecognizeAsync(String, CompareOptions)

Эмулирует входные данные фразы в распознаватель общей речи, используя текст вместо звука для асинхронного распознавания речи, и указывает, как распознаватель обрабатывает сравнение Юникода между фразой и загруженными грамматиками распознавания речи.

Комментарии

Эти методы обходят системный звуковой ввод. Это может быть полезно при тестировании или отладке приложения или грамматики.

Общий распознаватель вызывает SpeechDetectedи события, SpeechRecognitionRejectedSpeechHypothesizedSpeechRecognized как если бы операция распознавания не эмулировалась. После завершения асинхронной операции распознавания распознаватель вызывает EmulateRecognizeCompleted событие. Распознаватель игнорирует новые строки и дополнительное пробелы и обрабатывает знак препинания как литеральные входные данные.

Замечание

Если распознавание речи Windows находится в спящем состоянии, общий распознаватель не обрабатывает входные данные и не вызывает SpeechDetected и связанные события, но по-прежнему вызывает EmulateRecognizeCompleted событие.

Замечание

Объект RecognitionResult , созданный общим распознавательом в ответ на эмулированные входные данные, имеет значение null для его Audio свойства.

Чтобы эмулировать синхронное распознавание EmulateRecognize , используйте этот метод.

EmulateRecognizeAsync(String)

Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs

Эмулирует входные данные фразы в распознаватель общей речи, используя текст вместо звука для асинхронного распознавания речи.

public:
 void EmulateRecognizeAsync(System::String ^ inputText);
public void EmulateRecognizeAsync(string inputText);
member this.EmulateRecognizeAsync : string -> unit
Public Sub EmulateRecognizeAsync (inputText As String)

Параметры

inputText
String

Входные данные для операции распознавания.

Примеры

Следующий пример является частью консольного приложения, которое загружает грамматику распознавания речи и демонстрирует асинхронные эмулированные входные данные, связанные результаты распознавания и связанные события, вызванные распознавательом речи. Если распознавание речи Windows не запущено, запуск этого приложения также запустит распознавание речи Windows. Если распознавание речи Windows находится в спящем состоянии, EmulateRecognizeAsync всегда возвращает значение NULL.

using System;
using System.Speech.Recognition;
using System.Threading;

namespace SharedRecognizer
{
  class Program
  {
    static bool completed;

    static void Main(string[] args)
    {
      // Initialize an instance of the shared recognizer.
      using (SpeechRecognizer recognizer = new SpeechRecognizer())
      {
        // Create and load a sample grammar.
        Grammar testGrammar =
          new Grammar(new GrammarBuilder("testing testing"));
        testGrammar.Name = "Test Grammar";

        recognizer.LoadGrammar(testGrammar);

        // Attach event handlers for recognition events.
        recognizer.SpeechRecognized +=
          new EventHandler<SpeechRecognizedEventArgs>(
            SpeechRecognizedHandler);
        recognizer.EmulateRecognizeCompleted +=
          new EventHandler<EmulateRecognizeCompletedEventArgs>(
            EmulateRecognizeCompletedHandler);

        completed = false;

        // This EmulateRecognizeAsync call generates a SpeechRecognized event.
        recognizer.EmulateRecognizeAsync("testing testing");

        // Wait for the asynchronous operation to complete.
        while (!completed)
        {
          Thread.Sleep(333);
        }

        completed = false;

        // This EmulateRecognizeAsync call does not match the grammar
        // or generate a SpeechRecognized event.
        recognizer.EmulateRecognizeAsync("testing one two three");

        // Wait for the asynchronous operation to complete.
        while (!completed)
        {
          Thread.Sleep(333);
        }
      }

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }

    // Handle the SpeechRecognized event.
    static void SpeechRecognizedHandler(
      object sender, SpeechRecognizedEventArgs e)
    {
      if (e.Result != null)
      {
        Console.WriteLine("Recognition result = {0}",
          e.Result.Text ?? "<no text>");
      }
      else
      {
        Console.WriteLine("No recognition result");
      }
    }

    // Handle the EmulateRecognizeCompleted event.
    static void EmulateRecognizeCompletedHandler(
      object sender, EmulateRecognizeCompletedEventArgs e)
    {
      if (e.Result == null)
      {
        Console.WriteLine("No result generated.");
      }

      completed = true;
    }
  }
}

Комментарии

Распознаватели, которые приставляются с Vista и Windows 7, игнорируют регистр и ширину символов при применении правил грамматики к входной фразе. Дополнительные сведения об этом типе сравнения см. в CompareOptions значениях OrdinalIgnoreCase перечисления и IgnoreWidth. Распознаватели также игнорируют новые строки и дополнительные пробелы и обрабатывают знаки препинания как литеральные входные данные.

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых EmulateRecognize(String).

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

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

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs

Эмулирует входные данные определенных слов в распознаватель общей речи, используя текст вместо звука для асинхронного распознавания речи, и указывает, как распознаватель обрабатывает сравнение Юникода между словами и загруженными грамматиками распознавания речи.

public:
 void EmulateRecognizeAsync(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync(System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> unit
Public Sub EmulateRecognizeAsync (wordUnits As RecognizedWordUnit(), compareOptions As CompareOptions)

Параметры

wordUnits
RecognizedWordUnit[]

Массив единиц слов, содержащих входные данные для операции распознавания.

compareOptions
CompareOptions

Побитовое сочетание значений перечисления, описывающих тип сравнения, используемый для эмулированной операции распознавания.

Комментарии

Этот метод создает RecognitionResult объект, используя сведения, предоставленные в параметре wordUnits .

Распознаватель использует compareOptions правила грамматики к входной фразе. Распознаватели, которые приставляются с Vista и Windows 7, игнорируют регистр, если OrdinalIgnoreCase присутствует или IgnoreCase значение. Распознаватели всегда игнорируют ширину символов и никогда не игнорируют тип Kana. Распознаватели также игнорируют новые строки и дополнительные пробелы и обрабатывают знаки препинания как литеральные входные данные. Дополнительные сведения о ширине символов и типе Kana см. в CompareOptions перечислении.

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых EmulateRecognize(RecognizedWordUnit[], CompareOptions).

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

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

EmulateRecognizeAsync(String, CompareOptions)

Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs
Исходный код:
SpeechRecognizer.cs

Эмулирует входные данные фразы в распознаватель общей речи, используя текст вместо звука для асинхронного распознавания речи, и указывает, как распознаватель обрабатывает сравнение Юникода между фразой и загруженными грамматиками распознавания речи.

public:
 void EmulateRecognizeAsync(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public void EmulateRecognizeAsync(string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognizeAsync : string * System.Globalization.CompareOptions -> unit
Public Sub EmulateRecognizeAsync (inputText As String, compareOptions As CompareOptions)

Параметры

inputText
String

Входная фраза для операции распознавания.

compareOptions
CompareOptions

Побитовое сочетание значений перечисления, описывающих тип сравнения, используемый для эмулированной операции распознавания.

Комментарии

Распознаватель использует compareOptions правила грамматики к входной фразе. Распознаватели, которые приставляются с Vista и Windows 7, игнорируют регистр, если OrdinalIgnoreCase присутствует или IgnoreCase значение. Распознаватели всегда игнорируют ширину символов и никогда не игнорируют тип Kana. Распознаватели также игнорируют новые строки и дополнительные пробелы и обрабатывают знаки препинания как литеральные входные данные. Дополнительные сведения о ширине символов и типе Kana см. в CompareOptions перечислении.

Этот метод сохраняет в задаче все исключения без использования, которые может вызывать синхронный аналог метода. Если исключение хранится в возвращаемой задаче, это исключение будет создано при ожидании задачи. Исключения использования, такие как ArgumentException, по-прежнему выбрасываются синхронно. Сведения о сохраненных исключениях см. в исключениях, создаваемых EmulateRecognize(String, CompareOptions).

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

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