SpeechRecognizer.RequestRecognizerUpdate Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Demande que le module de reconnaissance partagée suspende et met à jour son état.
Surcharges
| Nom | Description |
|---|---|
| RequestRecognizerUpdate(Object, TimeSpan) |
Demande que le module de reconnaissance partagée suspende et met à jour son état et fournit un décalage et un jeton utilisateur pour l’événement associé. |
| RequestRecognizerUpdate(Object) |
Demande que le module de reconnaissance partagé suspende et met à jour son état et fournit un jeton utilisateur pour l’événement associé. |
| RequestRecognizerUpdate() |
Demande que le module de reconnaissance partagée suspende et met à jour son état. |
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 s’interrompre afin qu’elle puisse recevoir une mise à jour. L’application charge ou décharge ensuite un Grammar objet.
À chaque mise à jour, un gestionnaire d’événements RecognizerUpdateReached écrit le nom et l’état 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 SpeechRecognizer recognizer;
public static void Main(string[] args)
{
// Initialize an in-process speech recognition engine and configure its input.
recognizer = new SpeechRecognizer();
// 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);
// Check to see if recognizer is loaded, wait if it is not loaded.
if (recognizer.State != RecognizerState.Listening)
{
Thread.Sleep(5000);
// Put recognizer in listening state.
recognizer.EmulateRecognizeAsync("Start listening");
}
// Load the Farm grammar.
recognizer.LoadGrammar(farmAnimals);
Console.WriteLine("Grammar Farm is loaded");
// 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(5000);
// Request an update and unload the Farm grammar.
recognizer.RequestRecognizerUpdate();
recognizer.UnloadGrammar(farmAnimals);
Thread.Sleep(5000);
// Keep the console window open.
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
public static void recognizer_RecognizerUpdateReached(object sender, RecognizerUpdateReachedEventArgs e)
{
// At the update, get the names and enabled status of the currently loaded grammars.
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(" Grammar {0} is loaded and is {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);
}
}
}
Remarques
Utilisez cette méthode pour synchroniser les modifications apportées au module de reconnaissance partagée. Par exemple, si vous chargez ou déchargez une grammaire de reconnaissance vocale pendant que le module de reconnaissance vocale traite l’entrée, utilisez cette méthode et l’événement RecognizerUpdateReached pour synchroniser le comportement de votre application avec l’état du module de reconnaissance vocale.
Lorsque cette méthode est appelée, le module de reconnaissance suspend ou termine les opérations asynchrones et génère un RecognizerUpdateReached événement. Un gestionnaire d’événements RecognizerUpdateReached peut ensuite modifier l’état du module de reconnaissance entre les opérations de reconnaissance.
Lorsque cette méthode est appelée :
Si le module de reconnaissance ne traite pas l’entrée, le module de reconnaissance génère immédiatement l’événement RecognizerUpdateReached .
Si le module de reconnaissance traite l’entrée qui se compose de silence ou de bruit d’arrière-plan, le module de reconnaissance interrompt l’opération de reconnaissance et génère l’événement RecognizerUpdateReached .
Si le module de reconnaissance traite l’entrée qui ne se compose pas de silence ou de bruit d’arrière-plan, 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 des entrées et la valeur de la AudioPosition propriété peut changer.
Pour déterminer si le module de reconnaissance partagée interrompt les opérations de reconnaissance pendant qu’une application gère un SpeechRecognized événement, utilisez la PauseRecognizerOnRecognition propriété.
RequestRecognizerUpdate(Object, TimeSpan)
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
Demande que le module de reconnaissance partagée suspende et met à jour son état et fournit un décalage 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 contiennent des informations pour l’opération.
- audioPositionAheadToRaiseUpdate
- TimeSpan
Décalage du courant AudioPosition pour retarder la requête.
Remarques
Le module de reconnaissance n’initie pas la demande de mise à jour du module de reconnaissance tant que le module de reconnaissance n’est pas égal à l’actuel RecognizerAudioPositionAudioPosition plus la valeur du audioPositionAheadToRaiseUpdate paramètre.
Lorsque le module de reconnaissance génère l’événement RecognizerUpdateReached , la UserToken propriété du RecognizerUpdateReachedEventArgs paramètre contient la valeur du userToken paramètre.
Voir aussi
S’applique à
RequestRecognizerUpdate(Object)
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
Demande que le module de reconnaissance partagé suspende et met à jour son état et fournit 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 contiennent des informations pour l’opération.
Remarques
Lorsque le module de reconnaissance génère l’événement RecognizerUpdateReached , la UserToken propriété du RecognizerUpdateReachedEventArgs paramètre contient 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:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
- Source:
- SpeechRecognizer.cs
Demande que le module de reconnaissance partagée suspende et met à jour son état.
public:
void RequestRecognizerUpdate();
public void RequestRecognizerUpdate();
member this.RequestRecognizerUpdate : unit -> unit
Public Sub RequestRecognizerUpdate ()
Remarques
Lorsque le module de reconnaissance génère l’événement RecognizerUpdateReached , la UserToken propriété de l’objet RecognizerUpdateReachedEventArgs est null.
Pour fournir un jeton utilisateur, utilisez la ou RequestRecognizerUpdate la RequestRecognizerUpdate méthode. Pour spécifier un décalage de position audio, utilisez la RequestRecognizerUpdate méthode.