Teilen über


SpeechRecognizer.EmulateRecognizeAsync Methode

Definition

Emuliert die Eingabe für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet.

Überlädt

EmulateRecognizeAsync(String)

Emuliert die Eingabe eines Ausdrucks für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Emuliert die Eingabe bestimmter Wörter für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen den Wörtern und den geladenen Spracherkennungsgrammatiken behandelt.

EmulateRecognizeAsync(String, CompareOptions)

Emuliert die Eingabe eines Ausdrucks für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen dem Ausdruck und den geladenen Spracherkennungsgrammatiken behandelt.

Hinweise

Diese Methoden umgehen die Systemaudioeingabe. Dies kann hilfreich sein, wenn Sie eine Anwendung oder Grammatik testen oder debuggen.

Die freigegebene Erkennung löst die SpeechDetectedEreignisse , SpeechHypothesized, SpeechRecognitionRejectedund SpeechRecognized aus, als ob der Erkennungsvorgang nicht emuliert wurde. Wenn die Erkennung den asynchronen Erkennungsvorgang abgeschlossen hat, löst sie das EmulateRecognizeCompleted -Ereignis aus. Die Erkennung ignoriert neue Zeilen und zusätzliche Leerzeichen und behandelt interpunktion als Literaleingabe.

Hinweis

Wenn sich die Windows-Spracherkennung im Ruhezustand befindet, verarbeitet die freigegebene Erkennung keine Eingaben und löst die SpeechDetected zugehörigen Ereignisse und nicht aus, löst aber weiterhin das EmulateRecognizeCompleted Ereignis aus.

Hinweis

Das RecognitionResult -Objekt, das von der freigegebenen Erkennung als Reaktion auf emulierte Eingabe generiert wird, hat den Wert für null seine Audio -Eigenschaft.

Verwenden Sie die -Methode, um die EmulateRecognize synchrone Erkennung zu emulieren.

EmulateRecognizeAsync(String)

Quelle:
SpeechRecognizer.cs
Quelle:
SpeechRecognizer.cs
Quelle:
SpeechRecognizer.cs

Emuliert die Eingabe eines Ausdrucks für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet.

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

Parameter

inputText
String

Die Eingabe für den Erkennungsvorgang.

Beispiele

Das folgende Beispiel ist Teil einer Konsolenanwendung, die eine Spracherkennungsgrammatik lädt und asynchron emulierte Eingaben, die zugeordneten Erkennungsergebnisse und die zugehörigen Ereignisse veranschaulicht, die von der Spracherkennung ausgelöst werden. Wenn die Windows-Spracherkennung nicht ausgeführt wird, wird beim Starten dieser Anwendung auch die Windows-Spracherkennung gestartet. Wenn sich die Windows-Spracherkennung im Ruhezustand befindet, EmulateRecognizeAsync gibt immer NULL zurück.

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;  
    }  
  }  
}

Hinweise

Die Erkennungen, die mit Vista und Windows 7 ausgeliefert werden, ignorieren die Groß- und Kleinschreibung und Die Zeichenbreite, wenn Grammatikregeln auf den Eingabebegriff angewendet werden. Weitere Informationen zu diesem Vergleichstyp finden Sie unter Enumerationswerte CompareOptionsOrdinalIgnoreCase und IgnoreWidth. Die Erkennungen ignorieren auch neue Zeilen und zusätzliche Leerzeichen und behandeln Interpunktion als Literaleingabe.

Diese Methode speichert in der Aufgabe, die alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen wie ArgumentExceptionwerden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter ausnahmen, die von ausgelöst werden EmulateRecognize(String).

Weitere Informationen

Gilt für:

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Quelle:
SpeechRecognizer.cs
Quelle:
SpeechRecognizer.cs
Quelle:
SpeechRecognizer.cs

Emuliert die Eingabe bestimmter Wörter für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen den Wörtern und den geladenen Spracherkennungsgrammatiken behandelt.

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)

Parameter

wordUnits
RecognizedWordUnit[]

Ein Array von Worteinheiten, das die Eingabe für den Erkennungsvorgang enthält.

compareOptions
CompareOptions

Eine bitweise Kombination der Enumerationswerte, die den Typ des Vergleichs beschreiben, der für den emulierten Erkennungsvorgang verwendet wird.

Hinweise

Diese Methode erstellt ein RecognitionResult -Objekt unter Verwendung der im -Parameter bereitgestellten wordUnits Informationen.

Die Erkennung verwendet, compareOptions wenn Grammatikregeln auf den Eingabebegriff angewendet werden. Die Erkennungen, die mit Vista und Windows 7 ausgeliefert werden, ignorieren die Groß-/Kleinschreibung, wenn der OrdinalIgnoreCase Wert oder IgnoreCase vorhanden ist. Die Erkennungen ignorieren immer die Zeichenbreite und niemals den Kana-Typ. Die Erkennungen ignorieren auch neue Zeilen und zusätzliche Leerzeichen und behandeln Interpunktion als Literaleingabe. Weitere Informationen zur Zeichenbreite und zum Kana-Typ finden Sie in der CompareOptions Enumeration.

Diese Methode speichert in der Aufgabe, die alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen wie ArgumentExceptionwerden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter ausnahmen, die von ausgelöst werden EmulateRecognize(RecognizedWordUnit[], CompareOptions).

Weitere Informationen

Gilt für:

EmulateRecognizeAsync(String, CompareOptions)

Quelle:
SpeechRecognizer.cs
Quelle:
SpeechRecognizer.cs
Quelle:
SpeechRecognizer.cs

Emuliert die Eingabe eines Ausdrucks für die freigegebene Spracherkennung. Dabei wird Text statt Audio für die asynchrone Spracherkennung verwendet und festgelegt, wie die Erkennung Unicode-Vergleich zwischen dem Ausdruck und den geladenen Spracherkennungsgrammatiken behandelt.

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)

Parameter

inputText
String

Der Eingabebegriff für den Erkennungsvorgang.

compareOptions
CompareOptions

Eine bitweise Kombination der Enumerationswerte, die den Typ des Vergleichs beschreiben, der für den emulierten Erkennungsvorgang verwendet wird.

Hinweise

Die Erkennung verwendet, compareOptions wenn Grammatikregeln auf den Eingabebegriff angewendet werden. Die Erkennungen, die mit Vista und Windows 7 ausgeliefert werden, ignorieren die Groß-/Kleinschreibung, wenn der OrdinalIgnoreCase Wert oder IgnoreCase vorhanden ist. Die Erkennungen ignorieren immer die Zeichenbreite und niemals den Kana-Typ. Die Erkennungen ignorieren auch neue Zeilen und zusätzliche Leerzeichen und behandeln Interpunktion als Literaleingabe. Weitere Informationen zur Zeichenbreite und zum Kana-Typ finden Sie in der CompareOptions Enumeration.

Diese Methode speichert in der Aufgabe, die alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Verwendungsausnahmen wie ArgumentExceptionwerden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter ausnahmen, die von ausgelöst werden EmulateRecognize(String, CompareOptions).

Weitere Informationen

Gilt für: