Compartir a través de


SpeechRecognizer.EmulateRecognizeAsync Método

Definición

Emula la entrada para el reconocimiento de voz compartido, usando el texto en lugar de audio para el reconocimiento de voz asincrónico.

Sobrecargas

EmulateRecognizeAsync(String)

Emula la entrada de una frase al módulo de reconocimiento de voz compartido, usando el texto en lugar de audio para el reconocimiento de voz asincrónico.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emula la entrada de palabras específicas al módulo de reconocimiento de voz compartido, usando texto en lugar de audio para el reconocimiento de voz asincrónico, y especifica cómo el reconocedor controla la comparación Unicode entre las palabras y las gramáticas reconocimiento de voz cargadas.

EmulateRecognizeAsync(String, CompareOptions)

Emula la entrada de una frase al módulo de reconocimiento de voz compartido, usando texto en lugar de audio para el reconocimiento de voz asincrónico, y especifica cómo el reconocedor controla la comparación Unicode entre la frase y las gramáticas reconocimiento de voz cargadas.

Comentarios

Estos métodos omiten la entrada de audio del sistema. Esto puede resultar útil al probar o depurar una aplicación o gramática.

El reconocedor compartido genera los SpeechDetectedeventos , SpeechHypothesized, SpeechRecognitionRejectedy SpeechRecognized como si la operación de reconocimiento no se emulara. Cuando el reconocedor completa la operación de reconocimiento asincrónica, genera el EmulateRecognizeCompleted evento . El reconocedor omite las nuevas líneas y el espacio en blanco adicional y trata la puntuación como entrada literal.

Nota

Si el reconocimiento de voz de Windows está en estado inactivo , el reconocedor compartido no procesa la entrada y no genera los SpeechDetected eventos relacionados y , pero sigue provocando el EmulateRecognizeCompleted evento.

Nota

El RecognitionResult objeto generado por el reconocedor compartido en respuesta a la entrada emulada tiene un valor de null para su Audio propiedad .

Para emular el reconocimiento sincrónico, use el EmulateRecognize método .

EmulateRecognizeAsync(String)

Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs

Emula la entrada de una frase al módulo de reconocimiento de voz compartido, usando el texto en lugar de audio para el reconocimiento de voz asincrónico.

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

Parámetros

inputText
String

La entrada de la operación de reconocimiento.

Ejemplos

El ejemplo siguiente forma parte de una aplicación de consola que carga una gramática de reconocimiento de voz y muestra la entrada emulada asincrónica, los resultados de reconocimiento asociados y los eventos asociados generados por el reconocedor de voz. Si el reconocimiento de voz de Windows no se está ejecutando, el inicio de esta aplicación también iniciará el reconocimiento de voz de Windows. Si el reconocimiento de voz de Windows está en estado inactivo , EmulateRecognizeAsync siempre devuelve 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;  
    }  
  }  
}

Comentarios

Los reconocedores que se incluyen con Vista y Windows 7 omiten el ancho de mayúsculas y minúsculas al aplicar reglas de gramática a la frase de entrada. Para obtener más información sobre este tipo de comparación, vea los CompareOptions valores OrdinalIgnoreCase de enumeración y IgnoreWidth. Los reconocedores también omiten nuevas líneas y espacios en blanco adicionales y tratan la puntuación como entrada literal.

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por EmulateRecognize(String).

Consulte también

Se aplica a

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs

Emula la entrada de palabras específicas al módulo de reconocimiento de voz compartido, usando texto en lugar de audio para el reconocimiento de voz asincrónico, y especifica cómo el reconocedor controla la comparación Unicode entre las palabras y las gramáticas reconocimiento de voz cargadas.

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)

Parámetros

wordUnits
RecognizedWordUnit[]

Matriz de unidades de palabra que contiene la entrada de la operación de reconocimiento.

compareOptions
CompareOptions

Combinación bit a bit de los valores de enumeración que describen el tipo de comparación que se va a usar para la operación emulada de reconocimiento.

Comentarios

Este método crea un RecognitionResult objeto utilizando la información proporcionada en el wordUnits parámetro .

El reconocedor usa cuando compareOptions aplica reglas gramaticales a la frase de entrada. Los reconocedores que se incluyen con Vista y Windows 7 omiten mayúsculas y minúsculas si el OrdinalIgnoreCase valor o IgnoreCase está presente. Los reconocedores siempre omiten el ancho del carácter y nunca omiten el tipo Kana. Los reconocedores también omiten nuevas líneas y espacios en blanco adicionales y tratan la puntuación como entrada literal. Para obtener más información sobre el ancho de caracteres y el tipo Kana, vea la CompareOptions enumeración .

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por EmulateRecognize(RecognizedWordUnit[], CompareOptions).

Consulte también

Se aplica a

EmulateRecognizeAsync(String, CompareOptions)

Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs
Source:
SpeechRecognizer.cs

Emula la entrada de una frase al módulo de reconocimiento de voz compartido, usando texto en lugar de audio para el reconocimiento de voz asincrónico, y especifica cómo el reconocedor controla la comparación Unicode entre la frase y las gramáticas reconocimiento de voz cargadas.

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)

Parámetros

inputText
String

La frase de entrada de la operación de reconocimiento.

compareOptions
CompareOptions

Combinación bit a bit de los valores de enumeración que describen el tipo de comparación que se va a usar para la operación emulada de reconocimiento.

Comentarios

El reconocedor usa cuando compareOptions aplica reglas gramaticales a la frase de entrada. Los reconocedores que se incluyen con Vista y Windows 7 omiten mayúsculas y minúsculas si el OrdinalIgnoreCase valor o IgnoreCase está presente. Los reconocedores siempre omiten el ancho del carácter y nunca omiten el tipo Kana. Los reconocedores también omiten nuevas líneas y espacios en blanco adicionales y tratan la puntuación como entrada literal. Para obtener más información sobre el ancho de caracteres y el tipo Kana, vea la CompareOptions enumeración .

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por EmulateRecognize(String, CompareOptions).

Consulte también

Se aplica a