RecognizerUpdateReachedEventArgs Klasse

Definition

Gibt Daten von einem RecognizerUpdateReached oder von einem RecognizerUpdateReached-Ereignis zurück.

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

Beispiele

Das folgende Beispiel zeigt eine Konsolenanwendung, die Objekte lädt und entlädt Grammar . Die Anwendung verwendet die- RequestRecognizerUpdate Methode, um die sprach Erkennungs-Engine anzufordern, damit Sie ein Update empfangen kann. Die Anwendung lädt oder entlädt ein- Grammar Objekt.

Bei jedem Update schreibt ein Handler für das SpeechRecognitionEngine.RecognizerUpdateReached Ereignis den Namen und den Status der aktuell geladenen Grammar Objekte in die Konsole. Wenn Grammatiken geladen und entladen werden, erkennt die Anwendung zuerst die Namen von Farm-animals, dann die Namen der Farm-und die Namen der Früchte und dann nur die Namen der Früchte.

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

Hinweise

RecognizerUpdateReached Ereignisse bieten einen Mechanismus zum Anhalten einer Spracherkennungs-Engine, um atomarische und synchrone Änderungen wie das Laden und Entladen von Grammatiken anzuwenden.

Wenn Ihre Anwendung eine- SpeechRecognitionEngine Instanz zum Verwalten der Erkennung verwendet, kann Sie eine der- SpeechRecognitionEngine.RequestRecognizerUpdate Methoden verwenden, um anzufordern, dass die Engine angehalten wird, um ein Update zu erhalten. Die- SpeechRecognitionEngine Instanz löst ein- SpeechRecognitionEngine.RecognizerUpdateReached Ereignis aus, wenn Sie für das Update bereit ist.

Wenn eine- SpeechRecognitionEngine Instanz angehalten ist, können Sie Objekte laden, entladen, aktivieren und deaktivieren Grammar sowie Werte für die BabbleTimeout InitialSilenceTimeout Eigenschaften, und ändern EndSilenceTimeout .

Wenn Ihre Anwendung eine- SpeechRecognizer Instanz zum Verwalten der Erkennung verwendet, kann Sie eine der- SpeechRecognizer.RequestRecognizerUpdate Methoden verwenden, um anzufordern, dass die Engine angehalten wird, um ein Update zu erhalten. Die- SpeechRecognizer Instanz löst ein- SpeechRecognizer.RecognizerUpdateReached Ereignis aus, wenn Sie für das Update bereit ist.

Wenn eine- SpeechRecognizer Instanz angehalten ist, können Sie Objekte laden, entladen, aktivieren und deaktivieren Grammar .

Bei der Behandlung von SpeechRecognitionEngine.RecognizerUpdateReached -und- SpeechRecognizer.RecognizerUpdateReached Ereignissen wird eine Erkennungs-Engine angehalten, bis der Ereignishandler zurückgibt.

RecognizerUpdateReachedEventArgs wird von EventArgs abgeleitet.

Eigenschaften

AudioPosition

Ruft die dem Ereignis zugeordnete Audioposition ab.

UserToken

Ruft das UserToken ab, das dem System übergeben wird, wenn eine Anwendung RequestRecognizerUpdate oder RequestRecognizerUpdate aufruft.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Siehe auch