SpeechRecognitionEngine.Recognize Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Inicia una operación de reconocimiento de voz sincrónica.
Sobrecargas
Recognize() |
Realiza una operación de reconocimiento de voz sincrónica. |
Recognize(TimeSpan) |
Realiza una operación de reconocimiento de voz sincrónica con un tiempo de espera de silencio inicial especificado. |
Comentarios
Estos métodos realizan una sola operación de reconocimiento sincrónica. El reconocedor realiza esta operación con sus gramáticas de reconocimiento de voz cargadas y habilitadas.
Durante una llamada a este método, el reconocedor puede generar los siguientes eventos:
SpeechDetected. Se genera cuando el reconocedor detecta la entrada que puede identificar como voz.
SpeechHypothesized. Se genera cuando la entrada crea una coincidencia ambigua con una de las gramáticas activas.
SpeechRecognitionRejected o SpeechRecognized. Se genera cuando el reconocedor finaliza una operación de reconocimiento.
El reconocedor no genera el RecognizeCompleted evento cuando se usa uno de los Recognize métodos .
Los Recognize métodos devuelven un RecognitionResult objeto o null
si la operación no se realiza correctamente o el reconocedor no está habilitado.
Se puede producir un error en una operación de reconocimiento sincrónica por los siguientes motivos:
La voz no se detecta antes de que expiren los intervalos de tiempo de espera para las BabbleTimeout propiedades o InitialSilenceTimeout o para el
initialSilenceTimeout
parámetro del Recognize método .El motor de reconocimiento detecta voz, pero no encuentra ninguna coincidencia en ninguno de sus objetos cargados y habilitados Grammar .
Para modificar cómo controla el reconocedor el tiempo de voz o silencio con respecto al reconocimiento, use las BabbleTimeoutpropiedades , InitialSilenceTimeout, EndSilenceTimeouty EndSilenceTimeoutAmbiguous .
SpeechRecognitionEngine Debe tener al menos un Grammar objeto cargado antes de realizar el reconocimiento. Para cargar una gramática de reconocimiento de voz, use el LoadGrammar método o LoadGrammarAsync .
Para realizar el reconocimiento asincrónico, use uno de los RecognizeAsync métodos .
Recognize()
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
Realiza una operación de reconocimiento de voz sincrónica.
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
Devoluciones
El resultado de reconocimiento para la entrada, o null
si la operación no es correcta o el reconocedor no está habilitado.
Ejemplos
En el ejemplo siguiente se muestra parte de una aplicación de consola que muestra el reconocimiento de voz básico. En el ejemplo se crea un DictationGrammar, se carga en un reconocedor de voz en proceso y se realiza una operación de reconocimiento.
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();
}
}
}
Comentarios
Este método realiza una sola operación de reconocimiento. El reconocedor realiza esta operación con sus gramáticas de reconocimiento de voz cargadas y habilitadas.
Durante una llamada a este método, el reconocedor puede generar los siguientes eventos:
SpeechDetected. Se genera cuando el reconocedor detecta la entrada que puede identificar como voz.
SpeechHypothesized. Se genera cuando la entrada crea una coincidencia ambigua con una de las gramáticas activas.
SpeechRecognitionRejected o SpeechRecognized. Se genera cuando el reconocedor finaliza una operación de reconocimiento.
El reconocedor no genera el RecognizeCompleted evento al usar este método.
El Recognize() método devuelve un RecognitionResult objeto o null
si la operación no es correcta.
Se puede producir un error en una operación de reconocimiento sincrónica por los siguientes motivos:
La voz no se detecta antes de que expiren los intervalos de tiempo de espera de las BabbleTimeout propiedades o InitialSilenceTimeout .
El motor de reconocimiento detecta voz, pero no encuentra ninguna coincidencia en ninguno de sus objetos cargados y habilitados Grammar .
Para realizar el reconocimiento asincrónico, use uno de los RecognizeAsync métodos .
Consulte también
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)
Se aplica a
Recognize(TimeSpan)
- Source:
- SpeechRecognitionEngine.cs
- Source:
- SpeechRecognitionEngine.cs
Realiza una operación de reconocimiento de voz sincrónica con un tiempo de espera de silencio inicial especificado.
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
Parámetros
- initialSilenceTimeout
- TimeSpan
El intervalo de tiempo que un módulo de reconocimiento de voz acepta entrada que solo contiene silencio antes de finalizar el reconocimiento.
Devoluciones
El resultado de reconocimiento para la entrada, o null
si la operación no es correcta o el reconocedor no está habilitado.
Ejemplos
En el ejemplo siguiente se muestra parte de una aplicación de consola que muestra el reconocimiento de voz básico. En el ejemplo se crea un DictationGrammar, se carga en un reconocedor de voz en proceso y se realiza una operación de reconocimiento.
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();
}
}
}
Comentarios
Si el motor de reconocimiento de voz detecta la voz dentro del intervalo de tiempo especificado por initialSilenceTimeout
argumento, realiza una única operación de reconocimiento y, a continuación, Recognize(TimeSpan) finaliza. El initialSilenceTimeout
parámetro reemplaza la propiedad del InitialSilenceTimeout reconocedor.
Durante una llamada a este método, el reconocedor puede generar los siguientes eventos:
SpeechDetected. Se genera cuando el reconocedor detecta la entrada que puede identificar como voz.
SpeechHypothesized. Se genera cuando la entrada crea una coincidencia ambigua con una de las gramáticas activas.
SpeechRecognitionRejected o SpeechRecognized. Se genera cuando el reconocedor finaliza una operación de reconocimiento.
El reconocedor no genera el RecognizeCompleted evento al usar este método.
El Recognize() método devuelve un RecognitionResult objeto o null
si la operación no es correcta.
Se puede producir un error en una operación de reconocimiento sincrónica por los siguientes motivos:
La voz no se detecta antes de que expiren los intervalos de tiempo de espera para el BabbleTimeout parámetro o .
initialSilenceTimeout
El motor de reconocimiento detecta voz, pero no encuentra ninguna coincidencia en ninguno de sus objetos cargados y habilitados Grammar .
Para realizar el reconocimiento asincrónico, use uno de los RecognizeAsync métodos .
Consulte también
- BabbleTimeout
- InitialSilenceTimeout
- EndSilenceTimeout
- EndSilenceTimeoutAmbiguous
- SpeechDetected
- SpeechHypothesized
- SpeechRecognitionRejected
- SpeechRecognized
- RecognizeAsync()
- EmulateRecognize(String)