RecognizerUpdateReachedEventArgs Klasa

Definicja

Zwraca dane z RecognizerUpdateReached zdarzenia lub RecognizerUpdateReached .

public ref class RecognizerUpdateReachedEventArgs : EventArgs
public class RecognizerUpdateReachedEventArgs : EventArgs
type RecognizerUpdateReachedEventArgs = class
    inherit EventArgs
Public Class RecognizerUpdateReachedEventArgs
Inherits EventArgs
Dziedziczenie
RecognizerUpdateReachedEventArgs

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ń SpeechRecognitionEngine.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

RecognizerUpdateReached zdarzenia zapewniają mechanizm wstrzymywania aparatu rozpoznawania mowy w celu zastosowania niepodzielnych i synchronicznych modyfikacji, takich jak ładowanie i zwalnianie gramatyki.

Jeśli aplikacja używa wystąpienia do zarządzania rozpoznawaniem SpeechRecognitionEngine , może użyć jednej z SpeechRecognitionEngine.RequestRecognizerUpdate metod, aby zażądać wstrzymania aparatu w celu otrzymania aktualizacji. Wystąpienie SpeechRecognitionEngine zgłasza SpeechRecognitionEngine.RecognizerUpdateReached zdarzenie, gdy jest gotowe do aktualizacji.

Podczas wstrzymania SpeechRecognitionEngine wystąpienia można ładować, zwalniać, włączać i wyłączać Grammar obiekty oraz modyfikować wartości właściwości BabbleTimeout, InitialSilenceTimeouti EndSilenceTimeout .

Jeśli aplikacja używa wystąpienia do zarządzania rozpoznawaniem SpeechRecognizer , może użyć jednej z SpeechRecognizer.RequestRecognizerUpdate metod, aby zażądać wstrzymania aparatu w celu otrzymania aktualizacji. Wystąpienie SpeechRecognizer zgłasza SpeechRecognizer.RecognizerUpdateReached zdarzenie, gdy jest gotowe do aktualizacji.

Podczas wstrzymania SpeechRecognizer wystąpienia można ładować, zwalniać, włączać i wyłączać Grammar obiekty.

Podczas obsługi zdarzeń SpeechRecognitionEngine.RecognizerUpdateReachedSpeechRecognizer.RecognizerUpdateReached aparat rozpoznawania zostanie wstrzymany do momentu powrotu programu obsługi zdarzeń.

RecognizerUpdateReachedEventArgs pochodzi z EventArgs.

Właściwości

AudioPosition

Pobiera położenie audio skojarzone ze zdarzeniem.

UserToken

UserToken Pobiera przekazywane do systemu dane, gdy aplikacja wywołuje RequestRecognizerUpdate metodę lub RequestRecognizerUpdate.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też