Partager via


SpeechRecognitionEngine.RequestRecognizerUpdate Méthode

Définition

Demande que le module de reconnaissance soit suspendu pour mettre à jour son état.

Surcharges

RequestRecognizerUpdate(Object, TimeSpan)

Demande que le module de reconnaissance soit suspendu pour mettre à jour son état et fournisse un offset et un jeton utilisateur pour l'événement associé.

RequestRecognizerUpdate(Object)

Demande que le module de reconnaissance soit suspendu pour mettre à jour son état et fournisse un jeton utilisateur pour l'événement associé.

RequestRecognizerUpdate()

Demande que le module de reconnaissance soit suspendu pour mettre à jour son état.

Remarques

Utilisez cette méthode pour synchroniser les modifications apportées au module de reconnaissance. Par exemple, si vous chargez ou déchargez une grammaire de reconnaissance vocale pendant que le module de reconnaissance traite l’entrée, utilisez cette méthode et l’événement pour synchroniser le RecognizerUpdateReached comportement de votre application avec l’état du module de reconnaissance.

Lorsque cette méthode est appelée, le module de reconnaissance interrompt ou termine les opérations asynchrones et génère un RecognizerUpdateReached événement. Un RecognizerUpdateReached gestionnaire d’événements peut ensuite modifier l’état du module de reconnaissance entre les opérations de reconnaissance. Lors de la gestion des RecognizerUpdateReached événements, le module de reconnaissance s’interrompt jusqu’à ce que le gestionnaire d’événements retourne.

Notes

Si l’entrée du module de reconnaissance est modifiée avant que celui-ci déclenche l’événement RecognizerUpdateReached , la demande est ignorée.

Lorsque cette méthode est appelée :

  • Si le module de reconnaissance ne traite pas l’entrée, il génère immédiatement l’événement RecognizerUpdateReached .

  • Si le module de reconnaissance traite une entrée qui se compose d’un silence ou d’un bruit de fond, le module de reconnaissance interrompt l’opération de reconnaissance et génère l’événement RecognizerUpdateReached .

  • Si le module de reconnaissance traite une entrée qui ne se compose pas de silence ou de bruit de fond, le module de reconnaissance termine l’opération de reconnaissance, puis génère l’événement RecognizerUpdateReached .

Pendant que le module de reconnaissance gère l’événement RecognizerUpdateReached :

  • Le module de reconnaissance ne traite pas l’entrée, et la valeur de la RecognizerAudioPosition propriété reste la même.

  • Le module de reconnaissance continue de collecter l’entrée, et la valeur de la AudioPosition propriété peut changer.

RequestRecognizerUpdate(Object, TimeSpan)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Demande que le module de reconnaissance soit suspendu pour mettre à jour son état et fournisse un offset et un jeton utilisateur pour l'événement associé.

public:
 void RequestRecognizerUpdate(System::Object ^ userToken, TimeSpan audioPositionAheadToRaiseUpdate);
public void RequestRecognizerUpdate (object userToken, TimeSpan audioPositionAheadToRaiseUpdate);
member this.RequestRecognizerUpdate : obj * TimeSpan -> unit
Public Sub RequestRecognizerUpdate (userToken As Object, audioPositionAheadToRaiseUpdate As TimeSpan)

Paramètres

userToken
Object

Informations définies par l'utilisateur qui comporte des informations sur l'opération.

audioPositionAheadToRaiseUpdate
TimeSpan

Offset de la AudioPosition actuelle pour différer la demande.

Remarques

Le module de reconnaissance n’initie pas la demande de mise à jour du module de reconnaissance tant que celui du module de reconnaissance n’est RecognizerAudioPosition pas égal au plus audioPositionAheadToRaiseUpdateactuelAudioPosition.

Lorsque l’outil de reconnaissance génère l’événement RecognizerUpdateReached , la UserToken propriété de contient RecognizerUpdateReachedEventArgs la valeur du userToken paramètre.

Voir aussi

S’applique à

RequestRecognizerUpdate(Object)

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Demande que le module de reconnaissance soit suspendu pour mettre à jour son état et fournisse un jeton utilisateur pour l'événement associé.

public:
 void RequestRecognizerUpdate(System::Object ^ userToken);
public void RequestRecognizerUpdate (object userToken);
member this.RequestRecognizerUpdate : obj -> unit
Public Sub RequestRecognizerUpdate (userToken As Object)

Paramètres

userToken
Object

Informations définies par l'utilisateur qui comporte des informations sur l'opération.

Remarques

Lorsque l’outil de reconnaissance génère l’événement RecognizerUpdateReached , la UserToken propriété de contient RecognizerUpdateReachedEventArgs la valeur du userToken paramètre.

Pour spécifier un décalage de position audio, utilisez la RequestRecognizerUpdate méthode .

Voir aussi

S’applique à

RequestRecognizerUpdate()

Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs
Source:
SpeechRecognitionEngine.cs

Demande que le module de reconnaissance soit suspendu pour mettre à jour son état.

public:
 void RequestRecognizerUpdate();
public void RequestRecognizerUpdate ();
member this.RequestRecognizerUpdate : unit -> unit
Public Sub RequestRecognizerUpdate ()

Exemples

L’exemple suivant montre une application console qui charge et décharge des Grammar objets. L’application utilise la RequestRecognizerUpdate méthode pour demander au moteur de reconnaissance vocale de suspendre afin qu’il puisse recevoir une mise à jour. L’application charge ou décharge ensuite un Grammar objet.

À chaque mise à jour, un gestionnaire d’événement RecognizerUpdateReached écrit le nom et la status des objets actuellement chargés Grammar dans la console. À mesure que les grammaires sont chargées et déchargées, l’application reconnaît d’abord les noms des animaux de ferme, puis les noms des animaux de ferme et les noms des fruits, puis uniquement les noms des fruits.

using System;  
using System.Speech.Recognition;  
using System.Collections.Generic;  
using System.Threading;  

namespace SampleRecognition  
{  
  class Program  
  {  
    private static SpeechRecognitionEngine recognizer;  
    public static void Main(string[] args)  
    {  

      // Initialize an in-process speech recognition engine and configure its input.  
      using (recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US")))  
      {  
        recognizer.SetInputToDefaultAudioDevice();  

        // Create the first grammar - Farm.  
        Choices animals = new Choices(new string[] { "cow", "pig", "goat" });  
        GrammarBuilder farm = new GrammarBuilder(animals);  
        Grammar farmAnimals = new Grammar(farm);  
        farmAnimals.Name = "Farm";  

        // Create the second grammar - Fruit.  
        Choices fruit = new Choices(new string[] { "apples", "peaches", "oranges" });  
        GrammarBuilder favorite = new GrammarBuilder(fruit);  
        Grammar favoriteFruit = new Grammar(favorite);  
        favoriteFruit.Name = "Fruit";  

        // Attach event handlers.  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  
        recognizer.RecognizerUpdateReached +=  
          new EventHandler<RecognizerUpdateReachedEventArgs>(recognizer_RecognizerUpdateReached);  
        recognizer.SpeechRecognitionRejected +=  
          new EventHandler<SpeechRecognitionRejectedEventArgs>(recognizer_SpeechRecognitionRejected);  

        // Load the Farm grammar.  
        recognizer.LoadGrammar(farmAnimals);  

        // Start asynchronous, continuous recognition.  
        recognizer.RecognizeAsync(RecognizeMode.Multiple);  
        Console.WriteLine("Starting asynchronous, continuous recognition");  
        Console.WriteLine("  Farm grammar is loaded and enabled.");  

        // Pause to recognize farm animals.  
        Thread.Sleep(7000);  
        Console.WriteLine();  

        // Request an update and load the Fruit grammar.  
        recognizer.RequestRecognizerUpdate();  
        recognizer.LoadGrammarAsync(favoriteFruit);  
        Thread.Sleep(7000);  

        // Request an update and unload the Farm grammar.  
        recognizer.RequestRecognizerUpdate();  
        recognizer.UnloadGrammar(farmAnimals);  
        Thread.Sleep(7000);  
      }  

      // Keep the console window open.  
      Console.WriteLine();  
      Console.WriteLine("Press any key to exit...");  
      Console.ReadKey();  
    }  

    // At the update, get the names and enabled status of the currently loaded grammars.  
    public static void recognizer_RecognizerUpdateReached(  
      object sender, RecognizerUpdateReachedEventArgs e)  
    {  
      Console.WriteLine();  
      Console.WriteLine("Update reached:");  
      Thread.Sleep(1000);  

      string qualifier;  
      List<Grammar> grammars = new List<Grammar>(recognizer.Grammars);  
      foreach (Grammar g in grammars)  
      {  
        qualifier = (g.Enabled) ? "enabled" : "disabled";  
        Console.WriteLine("  {0} grammar is loaded and {1}.",  
        g.Name, qualifier);  
      }  
    }  

    // Write the text of the recognized phrase to the console.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      Console.WriteLine("    Speech recognized: " + e.Result.Text);  
    }  

    // Write a message to the console when recognition fails.  
    static void recognizer_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)  
    {  
      Console.WriteLine("    Recognition attempt failed");  
    }  
  }  
}  

Remarques

Lorsque l’outil de reconnaissance génère l’événement RecognizerUpdateReached , la UserToken propriété de est RecognizerUpdateReachedEventArgsnull.

Pour fournir un jeton utilisateur, utilisez la RequestRecognizerUpdate méthode ou RequestRecognizerUpdate . Pour spécifier un décalage de position audio, utilisez la RequestRecognizerUpdate méthode .

Voir aussi

S’applique à