SpeechRecognitionEngine.RequestRecognizerUpdate Metoda

Definicja

Żądania wstrzymania rozpoznawania w celu zaktualizowania stanu.

Przeciążenia

RequestRecognizerUpdate(Object, TimeSpan)

Żądania wstrzymania rozpoznawania w celu zaktualizowania stanu i zapewnienia przesunięcia i tokenu użytkownika dla skojarzonego zdarzenia.

RequestRecognizerUpdate(Object)

Żądania wstrzymania rozpoznawania w celu zaktualizowania stanu i podanie tokenu użytkownika dla skojarzonego zdarzenia.

RequestRecognizerUpdate()

Żądania wstrzymania rozpoznawania w celu zaktualizowania stanu.

Uwagi

Użyj tej metody, aby zsynchronizować zmiany w rozpoznawaniu. Jeśli na przykład załadujesz lub zwolnisz gramatykę rozpoznawania mowy podczas przetwarzania danych wejściowych przez rozpoznawanie mowy, użyj tej metody i RecognizerUpdateReached zdarzenia, aby zsynchronizować zachowanie aplikacji ze stanem rozpoznawania.

Po wywołaniu tej metody funkcja rozpoznawania wstrzymuje lub kończy operacje asynchroniczne i generuje RecognizerUpdateReached zdarzenie. Program RecognizerUpdateReached obsługi zdarzeń może następnie zmodyfikować stan rozpoznawania między operacjami rozpoznawania. Podczas obsługi RecognizerUpdateReached zdarzeń funkcja rozpoznawania wstrzymuje się do momentu powrotu programu obsługi zdarzeń.

Uwaga

Jeśli dane wejściowe do rozpoznawania zostaną zmienione przed zgłoszeniem RecognizerUpdateReached zdarzenia przez rozpoznawanie, żądanie zostanie odrzucone.

Po wywołaniu tej metody:

  • Jeśli rozpoznawanie nie przetwarza danych wejściowych, rozpoznawanie natychmiast generuje RecognizerUpdateReached zdarzenie.

  • Jeśli rozpoznawanie przetwarza dane wejściowe składające się z ciszy lub szumu w tle, funkcja rozpoznawania wstrzymuje operację rozpoznawania i generuje RecognizerUpdateReached zdarzenie.

  • Jeśli rozpoznawanie przetwarza dane wejściowe, które nie składają się z ciszy lub szumu w tle, rozpoznawanie kończy operację rozpoznawania, a następnie generuje RecognizerUpdateReached zdarzenie.

Podczas gdy rozpoznawanie obsługuje RecognizerUpdateReached zdarzenie:

  • Rozpoznawanie nie przetwarza danych wejściowych RecognizerAudioPosition , a wartość właściwości pozostaje taka sama.

  • Rozpoznawanie nadal zbiera dane wejściowe, a wartość AudioPosition właściwości może ulec zmianie.

RequestRecognizerUpdate(Object, TimeSpan)

Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs

Żądania wstrzymania rozpoznawania w celu zaktualizowania stanu i zapewnienia przesunięcia i tokenu użytkownika dla skojarzonego zdarzenia.

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)

Parametry

userToken
Object

Informacje zdefiniowane przez użytkownika, które zawierają informacje dotyczące operacji.

audioPositionAheadToRaiseUpdate
TimeSpan

Przesunięcie z bieżącego AudioPosition w celu opóźnienia żądania.

Uwagi

Rozpoznawanie nie inicjuje żądania aktualizacji programu rozpoznawczego do momentu, gdy rozpoznawanie RecognizerAudioPosition jest równe bieżącemu AudioPosition plusowi audioPositionAheadToRaiseUpdate.

Gdy rozpoznawanie RecognizerUpdateReached generuje zdarzenie, UserToken właściwość RecognizerUpdateReachedEventArgs parametru zawiera wartość parametru userToken .

Zobacz też

Dotyczy

RequestRecognizerUpdate(Object)

Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs

Żądania wstrzymania rozpoznawania w celu zaktualizowania stanu i podanie tokenu użytkownika dla skojarzonego zdarzenia.

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

Parametry

userToken
Object

Informacje zdefiniowane przez użytkownika, które zawierają informacje dotyczące operacji.

Uwagi

Gdy rozpoznawanie RecognizerUpdateReached generuje zdarzenie, UserToken właściwość RecognizerUpdateReachedEventArgs parametru zawiera wartość parametru userToken .

Aby określić przesunięcie położenia dźwięku RequestRecognizerUpdate , użyj metody .

Zobacz też

Dotyczy

RequestRecognizerUpdate()

Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs
Źródło:
SpeechRecognitionEngine.cs

Żądania wstrzymania rozpoznawania w celu zaktualizowania stanu.

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

Przykłady

W poniższym przykładzie przedstawiono aplikację konsolową, która ładuje i zwalnia Grammar obiekty. Aplikacja używa RequestRecognizerUpdate metody , aby zażądać wstrzymania aparatu rozpoznawania mowy, aby mógł otrzymać aktualizację. Następnie aplikacja ładuje Grammar lub zwalnia obiekt.

W każdej aktualizacji program obsługi zdarzeń RecognizerUpdateReached zapisuje nazwę i stan aktualnie załadowanych Grammar obiektów do konsoli. Ponieważ gramatyki są ładowane i zwalniane, aplikacja najpierw rozpoznaje nazwy zwierząt gospodarskich, a następnie nazwy zwierząt gospodarskich i nazw owoców, a następnie tylko nazwy owoców.

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

Uwagi

Gdy rozpoznawanie RecognizerUpdateReached generuje zdarzenie, UserToken właściwość RecognizerUpdateReachedEventArgs obiektu to null.

Aby podać token użytkownika, użyj RequestRecognizerUpdate metody or RequestRecognizerUpdate . Aby określić przesunięcie położenia dźwięku RequestRecognizerUpdate , użyj metody .

Zobacz też

Dotyczy