SpeechRecognizer.EmulateRecognizeAsync Méthode

Définition

Émule l'entrée dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone.

Surcharges

EmulateRecognizeAsync(String)

Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone.

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

Émule l'entrée de mots spécifiques dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre les mots et les grammaires de la reconnaissance vocale chargées.

EmulateRecognizeAsync(String, CompareOptions)

Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre l'expression et les grammaires de la reconnaissance vocale chargées.

Remarques

Ces méthodes contournent l’entrée audio système. Cela peut être utile lorsque vous testez ou déboguez une application ou une grammaire.

Le module de reconnaissance partagé déclenche les SpeechDetectedévénements , SpeechHypothesized, SpeechRecognitionRejectedet SpeechRecognized comme si l’opération de reconnaissance n’était pas émulée. Lorsque le module de reconnaissance termine l’opération de reconnaissance asynchrone, il déclenche l’événement EmulateRecognizeCompleted . Le module de reconnaissance ignore les nouvelles lignes et les espaces blancs supplémentaires et traite la ponctuation comme une entrée littérale.

Notes

Si la reconnaissance vocale Windows est à l’état veille , le module de reconnaissance partagé ne traite pas l’entrée et ne déclenche pas les SpeechDetected événements et associés, mais déclenche toujours l’événement EmulateRecognizeCompleted .

Notes

L’objet RecognitionResult généré par le module de reconnaissance partagé en réponse à une entrée émulée a la valeur null pour sa Audio propriété .

Pour émuler la reconnaissance synchrone, utilisez la EmulateRecognize méthode .

EmulateRecognizeAsync(String)

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

Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone.

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

Paramètres

inputText
String

Entrée de l'opération de reconnaissance.

Exemples

L’exemple suivant fait partie d’une application console qui charge une grammaire de reconnaissance vocale et illustre l’entrée émulée asynchrone, les résultats de la reconnaissance associée et les événements associés déclenchés par le module de reconnaissance vocale. Si la reconnaissance vocale Windows n’est pas en cours d’exécution, le démarrage de cette application démarre également la reconnaissance vocale Windows. Si la reconnaissance vocale Windows est à l’état en veille , EmulateRecognizeAsync retourne toujours la valeur 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;  
    }  
  }  
}

Remarques

Les modules de reconnaissance fournis avec Vista et Windows 7 ignorent la casse et la largeur des caractères lors de l’application de règles de grammaire à l’expression d’entrée. Pour plus d’informations sur ce type de comparaison, consultez les valeurs OrdinalIgnoreCase d’énumération CompareOptions et IgnoreWidth. Les modules de reconnaissance ignorent également les nouvelles lignes et les espaces blancs supplémentaires et traitent la ponctuation comme une entrée littérale.

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par EmulateRecognize(String).

Voir aussi

S’applique à

EmulateRecognizeAsync(RecognizedWordUnit[], CompareOptions)

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

Émule l'entrée de mots spécifiques dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre les mots et les grammaires de la reconnaissance vocale chargées.

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)

Paramètres

wordUnits
RecognizedWordUnit[]

Un tableau d'unités de mot qui contient l'entrée pour l'opération de reconnaissance.

compareOptions
CompareOptions

Combinaison d'opérations de bits des valeurs d'énumération qui décrivent le type de comparaison à utiliser pour la reconnaissance émulée.

Remarques

Cette méthode crée un RecognitionResult objet à l’aide des informations fournies dans le wordUnits paramètre .

Le module de reconnaissance utilise quand il applique des compareOptions règles de grammaire à l’expression d’entrée. Les modules de reconnaissance fournis avec Vista et Windows 7 ignorent la casse si la OrdinalIgnoreCase valeur ou IgnoreCase est présente. Les modules de reconnaissance ignorent toujours la largeur du caractère et n’ignorent jamais le type Kana. Les modules de reconnaissance ignorent également les nouvelles lignes et les espaces blancs supplémentaires et traitent la ponctuation comme une entrée littérale. Pour plus d’informations sur la largeur des caractères et le type Kana, consultez l’énumération CompareOptions .

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par EmulateRecognize(RecognizedWordUnit[], CompareOptions).

Voir aussi

S’applique à

EmulateRecognizeAsync(String, CompareOptions)

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

Émule l'entrée d'une expression dans le module de reconnaissance vocale partagé, en utilisant le texte au lieu de l'audio pour la reconnaissance vocale asynchrone, et spécifie comment le module de reconnaissance gère la comparaison Unicode entre l'expression et les grammaires de la reconnaissance vocale chargées.

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)

Paramètres

inputText
String

Expression d'entrée de l'opération de reconnaissance.

compareOptions
CompareOptions

Combinaison d'opérations de bits des valeurs d'énumération qui décrivent le type de comparaison à utiliser pour la reconnaissance émulée.

Remarques

Le module de reconnaissance utilise quand il applique des compareOptions règles de grammaire à l’expression d’entrée. Les modules de reconnaissance fournis avec Vista et Windows 7 ignorent la casse si la OrdinalIgnoreCase valeur ou IgnoreCase est présente. Les modules de reconnaissance ignorent toujours la largeur du caractère et n’ignorent jamais le type Kana. Les modules de reconnaissance ignorent également les nouvelles lignes et les espaces blancs supplémentaires et traitent la ponctuation comme une entrée littérale. Pour plus d’informations sur la largeur des caractères et le type Kana, consultez l’énumération CompareOptions .

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que le équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception est levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour les exceptions stockées, consultez les exceptions levées par EmulateRecognize(String, CompareOptions).

Voir aussi

S’applique à