SpeechRecognizer.EmulateRecognizeAsync Metodo

Definizione

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

Overload

EmulateRecognizeAsync(String)

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

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

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

EmulateRecognizeAsync(String, CompareOptions)

Emula l'input di una frase al riconoscimento vocale condiviso, utilizzando il testo anziché l'audio per il riconoscimento vocale asincrono, 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 del sistema. Questo può essere utile quando si esegue il test o il debug di un'applicazione o una grammatica.

Il riconoscimento condiviso genera gli SpeechDetectedeventi , , SpeechRecognitionRejectedSpeechHypothesizede SpeechRecognized come se l'operazione di riconoscimento non sia emulata. Quando il riconoscimento completa l'operazione di riconoscimento asincrona, genera l'evento EmulateRecognizeCompleted . Il riconoscimento ignora nuove righe e spazi vuoti aggiuntivi e tratta la punteggiatura come input letterale.

Nota

Se Il riconoscimento vocale di Windows si trova nello stato di sospensione, il riconoscimento condiviso non elabora l'input e non genera SpeechDetected gli eventi correlati, ma genera comunque l'evento EmulateRecognizeCompleted .

Nota

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

Per emulare il riconoscimento sincrono, usare il EmulateRecognize metodo .

EmulateRecognizeAsync(String)

Origine:
SpeechRecognizer.cs
Origine:
SpeechRecognizer.cs
Origine:
SpeechRecognizer.cs

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

public void EmulateRecognizeAsync (string inputText);

Parametri

inputText
String

Input per l'operazione di riconoscimento.

Esempio

L'esempio seguente fa parte di un'applicazione console che carica una grammatica di riconoscimento vocale e illustra l'input emulato asincrono, i risultati del riconoscimento vocale associati e gli eventi associati generati dal riconoscimento vocale. Se Il riconoscimento vocale di Windows non è in esecuzione, l'avvio dell'applicazione avvierà anche Riconoscimento vocale windows. Se Il riconoscimento vocale di Windows si trova nello stato di sospensione , restituisce EmulateRecognizeAsync sempre 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;  
    }  
  }  
}

Commenti

I riconoscitori che vengono forniti con Vista e Windows 7 ignorano maiuscole e minuscole e larghezza dei caratteri durante l'applicazione delle 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 riconoscimento ignorano anche nuove righe e spazi vuoti aggiuntivi e considerano la punteggiatura come input letterale.

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da EmulateRecognize(String).

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET 6, 7, 8, 9
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Origine:
SpeechRecognizer.cs
Origine:
SpeechRecognizer.cs
Origine:
SpeechRecognizer.cs

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

public void EmulateRecognizeAsync (System.Speech.Recognition.RecognizedWordUnit[] wordUnits, System.Globalization.CompareOptions compareOptions);

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.

Commenti

Questo metodo crea un RecognitionResult oggetto usando le informazioni fornite nel wordUnits parametro.

Il riconoscimento usa quando compareOptions applica regole di grammatica alla frase di input. I riconoscitori che vengono forniti con Vista e Windows 7 ignorano il caso se il OrdinalIgnoreCase valore o IgnoreCase è presente. I riconoscimento ignorano sempre la larghezza del carattere e non ignorano mai il tipo Kana. I riconoscimento ignorano anche nuove righe e spazi vuoti aggiuntivi e trattano la punteggiatura come input letterale. Per altre informazioni sulla larghezza dei caratteri e sul tipo Kana, vedere l'enumerazione CompareOptions .

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da EmulateRecognize(RecognizedWordUnit[], CompareOptions).

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET 6, 7, 8, 9
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0

EmulateRecognizeAsync(String, CompareOptions)

Origine:
SpeechRecognizer.cs
Origine:
SpeechRecognizer.cs
Origine:
SpeechRecognizer.cs

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

public void EmulateRecognizeAsync (string inputText, System.Globalization.CompareOptions compareOptions);

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.

Commenti

Il riconoscimento usa quando compareOptions applica regole di grammatica alla frase di input. I riconoscitori che vengono forniti con Vista e Windows 7 ignorano il caso se il OrdinalIgnoreCase valore o IgnoreCase è presente. I riconoscimento ignorano sempre la larghezza del carattere e non ignorano mai il tipo Kana. I riconoscimento ignorano anche nuove righe e spazi vuoti aggiuntivi e trattano la punteggiatura come input letterale. Per altre informazioni sulla larghezza dei caratteri e sul tipo Kana, vedere l'enumerazione CompareOptions .

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da EmulateRecognize(String, CompareOptions).

Vedi anche

Si applica a

.NET 9 e altre versioni
Prodotto Versioni
.NET 6, 7, 8, 9
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0