SpeechRecognitionEngine.Recognize Método

Definición

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:

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:

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

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:

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

Se aplica a