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).
См. также раздел
- EmulateRecognize(String)
- EmulateRecognizeCompleted
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
Применяется к
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).
См. также раздел
- EmulateRecognize(String)
- EmulateRecognizeCompleted
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
Применяется к
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).
См. также раздел
- EmulateRecognize(String)
- EmulateRecognizeCompleted
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized