Condividi tramite


SpeechRecognitionEngine.EmulateRecognize Metodo

Definizione

Emula l'input al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono.

Overload

EmulateRecognize(String)

Emula l'input di una frase al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono.

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Emula l'input di parole specifiche al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra le parole e le grammatiche di riconoscimento vocale caricate.

EmulateRecognize(String, CompareOptions)

Emula l'input di una frase al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra la frase e le grammatiche di riconoscimento vocale caricate.

Commenti

Questi metodi ignorano l'input audio di sistema e forniscono testo al riconoscitore come String oggetti o come matrice di RecognizedWordUnit oggetti. Ciò può essere utile quando si esegue il test o il debug di un'applicazione o di una grammatica. Ad esempio, è possibile usare l'emulazione per determinare se una parola si trova in una grammatica e quale semantica viene restituita quando la parola viene riconosciuta. Usare il metodo per disabilitare l'input SetInputToNull audio al motore di riconoscimento vocale durante le operazioni di emulazione.

Il riconoscimento vocale genera gli SpeechDetectedeventi , SpeechHypothesized, SpeechRecognitionRejectede SpeechRecognized come se l'operazione di riconoscimento non sia emulata. Il riconoscitore ignora nuove righe e spazi vuoti aggiuntivi e considera la punteggiatura come input letterale.

Nota

L'oggetto RecognitionResult generato dal riconoscimento vocale in risposta all'input emulato ha un valore per null la relativa Audio proprietà.

Per emulare il riconoscimento asincrono, usare il EmulateRecognizeAsync metodo .

EmulateRecognize(String)

Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs

Emula l'input di una frase al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (string inputText);
member this.EmulateRecognize : string -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String) As RecognitionResult

Parametri

inputText
String

Input per l'operazione di riconoscimento.

Restituisce

Il risultato dell'operazione di riconoscimento o null se l'operazione non riesce o il riconoscimento non è abilitato.

Eccezioni

Nel riconoscimento non sono caricate grammatiche di riconoscimento vocale.

inputText è null.

inputText è la stringa vuota ("").

Esempio

L'esempio di codice seguente fa parte di un'applicazione console che illustra l'input emulato, i risultati di riconoscimento associati e gli eventi associati generati dal riconoscimento vocale. L'esempio genera l'output seguente.

TestRecognize("Smith")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Smith; Text = Smith  
...Recognition result text = Smith  

TestRecognize("Jones")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Jones; Text = Jones  
...Recognition result text = Jones  

TestRecognize("Mister")...  
 SpeechDetected event raised.  
 SpeechHypothesized event raised.  
  Grammar = Smith; Text = mister  
 SpeechRecognitionRejected event raised.  
  Grammar = <not available>; Text =  
...No recognition result.  

TestRecognize("Mister Smith")...  
 SpeechDetected event raised.  
 SpeechRecognized event raised.  
  Grammar = Smith; Text = mister Smith  
...Recognition result text = mister Smith  

press any key to exit...  
using System;  
using System.Globalization;  
using System.Speech.Recognition;  

namespace Sre_EmulateRecognize  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Create an in-process speech recognizer for the en-US locale.  
      using (SpeechRecognitionEngine recognizer =  
        new SpeechRecognitionEngine(new CultureInfo("en-US")))  
      {  

        // Load grammars.  
        recognizer.LoadGrammar(CreateNameGrammar("Smith"));  
        recognizer.LoadGrammar(CreateNameGrammar("Jones"));  

        // Disable audio input to the recognizer.  
        recognizer.SetInputToNull();  

        // Add handlers for events raised by the EmulateRecognize method.  
        recognizer.SpeechDetected +=  
          new EventHandler<SpeechDetectedEventArgs>(  
            SpeechDetectedHandler);  
        recognizer.SpeechHypothesized +=  
          new EventHandler<SpeechHypothesizedEventArgs>(  
            SpeechHypothesizedHandler);  
        recognizer.SpeechRecognitionRejected +=  
          new EventHandler<SpeechRecognitionRejectedEventArgs>(  
            SpeechRecognitionRejectedHandler);  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(  
            SpeechRecognizedHandler);  

        // Start four synchronous emulated recognition operations.  
        TestRecognize(recognizer, "Smith");  
        TestRecognize(recognizer, "Jones");  
        TestRecognize(recognizer, "Mister");  
        TestRecognize(recognizer, "Mister Smith");  
      }  

      Console.WriteLine("press any key to exit...");  
      Console.ReadKey(true);  
    }  

    // Create a simple name grammar.  
    // Set the grammar name to the surname.  
    private static Grammar CreateNameGrammar(string surname)  
    {  
      GrammarBuilder builder = new GrammarBuilder("mister", 0, 1);  
      builder.Append(surname);  

      Grammar nameGrammar = new Grammar(builder);  
      nameGrammar.Name = surname;  

      return nameGrammar;  
    }  

    // Send emulated input to the recognizer for synchronous recognition.  
    private static void TestRecognize(  
      SpeechRecognitionEngine recognizer, string input)  
    {  
      Console.WriteLine("TestRecognize(\"{0}\")...", input);  
      RecognitionResult result =  
        recognizer.EmulateRecognize(input,CompareOptions.IgnoreCase);  
      if (result != null)  
      {  
        Console.WriteLine("...Recognition result text = {0}",  
          result.Text ?? "<null>");  
      }  
      else  
      {  
        Console.WriteLine("...No recognition result.");  
      }  
      Console.WriteLine();  
    }  

    static void SpeechDetectedHandler(  
      object sender, SpeechDetectedEventArgs e)  
    {  
      Console.WriteLine(" SpeechDetected event raised.");  
    }  

    // Handle events.  
    static void SpeechHypothesizedHandler(  
      object sender, SpeechHypothesizedEventArgs e)  
    {  
      Console.WriteLine(" SpeechHypothesized event raised.");  
      if (e.Result != null)  
      {  
        Console.WriteLine("  Grammar = {0}; Text = {1}",  
          e.Result.Grammar.Name ?? "<none>", e.Result.Text);  
      }  
      else  
      {  
        Console.WriteLine("  No recognition result available.");  
      }  
    }  

    static void SpeechRecognitionRejectedHandler(  
      object sender, SpeechRecognitionRejectedEventArgs e)  
    {  
      Console.WriteLine(" SpeechRecognitionRejected event raised.");  
      if (e.Result != null)  
      {  
        string grammarName;  
        if (e.Result.Grammar != null)  
        {  
          grammarName = e.Result.Grammar.Name ?? "<none>";  
        }  
        else  
        {  
          grammarName = "<not available>";  
        }  
        Console.WriteLine("  Grammar = {0}; Text = {1}",  
          grammarName, e.Result.Text);  
      }  
      else  
      {  
        Console.WriteLine("  No recognition result available.");  
      }  
    }  

    static void SpeechRecognizedHandler(  
      object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine(" SpeechRecognized event raised.");  
      if (e.Result != null)  
      {  
        Console.WriteLine("  Grammar = {0}; Text = {1}",  
          e.Result.Grammar.Name ?? "<none>", e.Result.Text);  
      }  
      else  
      {  
        Console.WriteLine("  No recognition result available.");  
      }  
    }  
  }  
}  

Commenti

Il riconoscimento vocale genera gli SpeechDetectedeventi , SpeechHypothesized, SpeechRecognitionRejectede SpeechRecognized come se l'operazione di riconoscimento non sia emulata.

I riconoscitori forniti con Vista e Windows 7 ignorano la larghezza di maiuscole e minuscole e caratteri quando si applicano regole di grammatica alla frase di input. Per altre informazioni su questo tipo di confronto, vedere i CompareOptions valori OrdinalIgnoreCase di enumerazione e IgnoreWidth. I riconoscitori ignorano anche nuove righe e spazi vuoti aggiuntivi e considerano la punteggiatura come input letterale.

Vedi anche

Si applica a

EmulateRecognize(RecognizedWordUnit[], CompareOptions)

Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs

Emula l'input di parole specifiche al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra le parole e le grammatiche di riconoscimento vocale caricate.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(cli::array <System::Speech::Recognition::RecognizedWordUnit ^> ^ wordUnits, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : System.Speech.Recognition.RecognizedWordUnit[] * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (wordUnits As RecognizedWordUnit(), compareOptions As CompareOptions) As RecognitionResult

Parametri

wordUnits
RecognizedWordUnit[]

Matrice di unità di parole che contiene l'input per l'operazione di riconoscimento.

compareOptions
CompareOptions

Combinazione bit per bit dei valori di enumerazione che descrivono il tipo di confronto da utilizzare per l'operazione di riconoscimento emulato.

Restituisce

Il risultato dell'operazione di riconoscimento o null se l'operazione non riesce o il riconoscimento non è abilitato.

Eccezioni

Nel riconoscimento non sono caricate grammatiche di riconoscimento vocale.

wordUnits è null.

wordUnits contiene uno o più elementi null.

compareOptions contiene il flag IgnoreNonSpace, IgnoreSymbols o StringSort.

Commenti

Il riconoscimento vocale genera gli SpeechDetectedeventi , SpeechHypothesized, SpeechRecognitionRejectede SpeechRecognized come se l'operazione di riconoscimento non sia emulata.

Il riconoscitore usa compareOptions quando applica le regole grammaticali alla frase di input. I riconoscitori forniti con Vista e Windows 7 ignorano la distinzione tra maiuscole e minuscole se il OrdinalIgnoreCase valore o IgnoreCase è presente. Il riconoscitore ignora sempre la larghezza del carattere e non ignora mai il tipo Kana. Il riconoscitore ignora anche nuove righe e spazi vuoti aggiuntivi e considera la punteggiatura come input letterale. Per altre informazioni sulla larghezza dei caratteri e sul tipo Kana, vedere l'enumerazione CompareOptions .

Vedi anche

Si applica a

EmulateRecognize(String, CompareOptions)

Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs
Origine:
SpeechRecognitionEngine.cs

Emula l'input di una frase al riconoscimento vocale, utilizzando il testo anziché l'audio per il riconoscimento vocale sincrono, e specifica come il riconoscimento gestisce il confronto Unicode tra la frase e le grammatiche di riconoscimento vocale caricate.

public:
 System::Speech::Recognition::RecognitionResult ^ EmulateRecognize(System::String ^ inputText, System::Globalization::CompareOptions compareOptions);
public System.Speech.Recognition.RecognitionResult EmulateRecognize (string inputText, System.Globalization.CompareOptions compareOptions);
member this.EmulateRecognize : string * System.Globalization.CompareOptions -> System.Speech.Recognition.RecognitionResult
Public Function EmulateRecognize (inputText As String, compareOptions As CompareOptions) As RecognitionResult

Parametri

inputText
String

Frase di Input per l'operazione di riconoscimento.

compareOptions
CompareOptions

Combinazione bit per bit dei valori di enumerazione che descrivono il tipo di confronto da utilizzare per l'operazione di riconoscimento emulato.

Restituisce

Il risultato dell'operazione di riconoscimento o null se l'operazione non riesce o il riconoscimento non è abilitato.

Eccezioni

Nel riconoscimento non sono caricate grammatiche di riconoscimento vocale.

inputText è null.

inputText è la stringa vuota ("").

compareOptions contiene il flag IgnoreNonSpace, IgnoreSymbols o StringSort.

Commenti

Il riconoscimento vocale genera gli SpeechDetectedeventi , SpeechHypothesized, SpeechRecognitionRejectede SpeechRecognized come se l'operazione di riconoscimento non sia emulata.

Il riconoscitore usa compareOptions quando applica le regole grammaticali alla frase di input. I riconoscitori forniti con Vista e Windows 7 ignorano la distinzione tra maiuscole e minuscole se il OrdinalIgnoreCase valore o IgnoreCase è presente. Il riconoscitore ignora sempre la larghezza del carattere e non ignora mai il tipo Kana. Il riconoscitore ignora anche nuove righe e spazi vuoti aggiuntivi e considera la punteggiatura come input letterale. Per altre informazioni sulla larghezza dei caratteri e sul tipo Kana, vedere l'enumerazione CompareOptions .

Vedi anche

Si applica a