SpeechRecognitionEngine.Recognize Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Запускает синхронную операцию распознавания речи.
Перегрузки
Recognize() |
Выполняет синхронную операцию распознавания речи. |
Recognize(TimeSpan) |
Выполняет синхронную операцию распознавания речи с указанным начальным временем ожидания бездействия. |
Комментарии
Эти методы выполняют одну синхронную операцию распознавания. Распознаватель выполняет эту операцию с загруженными и включенными грамматиками распознавания речи.
Во время вызова этого метода распознаватель может вызывать следующие события:
SpeechDetected. Возникает, когда распознаватель обнаруживает входные данные, которые он может идентифицировать как речь.
SpeechHypothesized. Возникает, когда входные данные создают неоднозначное совпадение с одной из активных грамматик.
SpeechRecognitionRejected или SpeechRecognized. Возникает, когда распознаватель завершает операцию распознавания.
Распознаватель не вызывает RecognizeCompleted событие при использовании одного из Recognize методов .
Методы Recognize возвращают RecognitionResult объект или null
, если операция не выполнена успешно или распознаватель не включен.
Синхронная операция распознавания может завершиться ошибкой по следующим причинам:
Речь не обнаруживается до истечения времени ожидания для BabbleTimeout свойств или InitialSilenceTimeout или для
initialSilenceTimeout
параметра Recognize метода .Модуль распознавания обнаруживает речь, но не находит совпадений ни в одном из загруженных и включенных Grammar объектов.
Чтобы изменить способ обработки времени распознавания речи или тишины в отношении распознавания, используйте BabbleTimeoutсвойства , InitialSilenceTimeout, EndSilenceTimeoutи EndSilenceTimeoutAmbiguous .
Перед выполнением SpeechRecognitionEngine распознавания должен быть загружен по крайней мере один Grammar объект . Чтобы загрузить грамматику распознавания речи, используйте LoadGrammar метод или LoadGrammarAsync .
Для выполнения асинхронного распознавания используйте один из RecognizeAsync методов .
Recognize()
- Исходный код:
- SpeechRecognitionEngine.cs
- Исходный код:
- SpeechRecognitionEngine.cs
- Исходный код:
- SpeechRecognitionEngine.cs
Выполняет синхронную операцию распознавания речи.
public:
System::Speech::Recognition::RecognitionResult ^ Recognize();
public System.Speech.Recognition.RecognitionResult Recognize ();
member this.Recognize : unit -> System.Speech.Recognition.RecognitionResult
Public Function Recognize () As RecognitionResult
Возвращаемое значение
Результат распознавания для ввода или null
, если операция завершилась с ошибкой или распознаватель не включен.
Примеры
В следующем примере показана часть консольного приложения, демонстрирующая базовое распознавание речи. В этом примере создается DictationGrammar, загружается во внутрипроцессный распознаватель речи и выполняется одна операция распознавания.
using System;
using System.Speech.Recognition;
namespace SynchronousRecognition
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Modify the initial silence time-out value.
recognizer.InitialSilenceTimeout = TimeSpan.FromSeconds(5);
// Start synchronous speech recognition.
RecognitionResult result = recognizer.Recognize();
if (result != null)
{
Console.WriteLine("Recognized text = {0}", result.Text);
}
else
{
Console.WriteLine("No recognition result available.");
}
}
Console.WriteLine();
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}
}
Комментарии
Этот метод выполняет одну операцию распознавания. Распознаватель выполняет эту операцию с загруженными и включенными грамматиками распознавания речи.
Во время вызова этого метода распознаватель может вызывать следующие события:
SpeechDetected. Возникает, когда распознаватель обнаруживает входные данные, которые он может идентифицировать как речь.
SpeechHypothesized. Возникает, когда входные данные создают неоднозначное совпадение с одной из активных грамматик.
SpeechRecognitionRejected или SpeechRecognized. Возникает, когда распознаватель завершает операцию распознавания.
Распознаватель не вызывает RecognizeCompleted событие при использовании этого метода.
Метод Recognize() возвращает RecognitionResult объект или null
, если операция не выполнена успешно.
Синхронная операция распознавания может завершиться ошибкой по следующим причинам:
Речь не обнаруживается до истечения времени ожидания для BabbleTimeout свойств или InitialSilenceTimeout .
Модуль распознавания обнаруживает речь, но не находит совпадений ни в одном из загруженных и включенных Grammar объектов.
Для выполнения асинхронного распознавания используйте один из RecognizeAsync методов .
См. также раздел
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Применяется к
Recognize(TimeSpan)
- Исходный код:
- SpeechRecognitionEngine.cs
- Исходный код:
- SpeechRecognitionEngine.cs
- Исходный код:
- SpeechRecognitionEngine.cs
Выполняет синхронную операцию распознавания речи с указанным начальным временем ожидания бездействия.
public:
System::Speech::Recognition::RecognitionResult ^ Recognize(TimeSpan initialSilenceTimeout);
public System.Speech.Recognition.RecognitionResult Recognize (TimeSpan initialSilenceTimeout);
member this.Recognize : TimeSpan -> System.Speech.Recognition.RecognitionResult
Public Function Recognize (initialSilenceTimeout As TimeSpan) As RecognitionResult
Параметры
- initialSilenceTimeout
- TimeSpan
Интервал времени, в течение которого распознаватель речи принимает входные данные, содержащие только тишину, перед завершением распознавания.
Возвращаемое значение
Результат распознавания для ввода или null
, если операция завершилась с ошибкой или распознаватель не включен.
Примеры
В следующем примере показана часть консольного приложения, демонстрирующая базовое распознавание речи. В этом примере создается DictationGrammar, загружается во внутрипроцессный распознаватель речи и выполняется одна операция распознавания.
using System;
using System.Speech.Recognition;
namespace SynchronousRecognition
{
class Program
{
static void Main(string[] args)
{
// Create an in-process speech recognizer for the en-US locale.
using (SpeechRecognitionEngine recognizer =
new SpeechRecognitionEngine(
new System.Globalization.CultureInfo("en-US")))
{
// Create and load a dictation grammar.
recognizer.LoadGrammar(new DictationGrammar());
// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();
// Start synchronous speech recognition.
RecognitionResult result = recognizer.Recognize(TimeSpan.FromSeconds(5));
if (result != null)
{
Console.WriteLine("Recognized text = {0}", result.Text);
}
else
{
Console.WriteLine("No recognition result available.");
}
}
Console.WriteLine();
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
}
}
Комментарии
Если модуль распознавания речи обнаруживает речь в течение интервала времени, указанного аргументом initialSilenceTimeout
, Recognize(TimeSpan) выполняет одну операцию распознавания, а затем завершает работу. Параметр initialSilenceTimeout
заменяет свойство распознавателя InitialSilenceTimeout .
Во время вызова этого метода распознаватель может вызывать следующие события:
SpeechDetected. Возникает, когда распознаватель обнаруживает входные данные, которые он может идентифицировать как речь.
SpeechHypothesized. Возникает, когда входные данные создают неоднозначное совпадение с одной из активных грамматик.
SpeechRecognitionRejected или SpeechRecognized. Возникает, когда распознаватель завершает операцию распознавания.
Распознаватель не вызывает RecognizeCompleted событие при использовании этого метода.
Метод Recognize() возвращает RecognitionResult объект или null
, если операция не выполнена успешно.
Синхронная операция распознавания может завершиться ошибкой по следующим причинам:
Речь не обнаруживается до истечения времени ожидания для BabbleTimeout параметра или
initialSilenceTimeout
.Модуль распознавания обнаруживает речь, но не находит совпадений ни в одном из загруженных и включенных Grammar объектов.
Для выполнения асинхронного распознавания используйте один из RecognizeAsync методов .
См. также раздел
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)