Freigeben über


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 Spracherkennungs-Engine anzufordern, anzuhalten, damit sie ein Update erhalten kann. Anschließend lädt oder entlädt die Anwendung ein Grammar Objekt.

Bei jedem Update schreibt ein Handler für SpeechRecognitionEngine.RecognizerUpdateReached das Ereignis den Namen und status der aktuell geladenen Grammar Objekte in die Konsole. Wenn Grammatiken geladen und entladen werden, erkennt die Anwendung zuerst die Namen der Nutztiere, dann die Namen der Nutztiere und die Namen der Früchte, 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 eines Spracherkennungsmoduls, um atomare und synchrone Änderungen anzuwenden, z. B. das Laden und Entladen von Grammatiken.

Wenn Ihre Anwendung eine SpeechRecognitionEngine instance verwendet, um die Erkennung zu verwalten, kann sie eine der SpeechRecognitionEngine.RequestRecognizerUpdate Methoden verwenden, um anzufordern, dass die Engine anhält, um ein Update zu erhalten. Die SpeechRecognitionEngine instance löst ein Ereignis ausSpeechRecognitionEngine.RecognizerUpdateReached, wenn sie für das Update bereit ist.

Während ein SpeechRecognitionEngine instance angehalten wird, können Sie Objekte laden, entladen, aktivieren und deaktivieren Grammar und Werte für die BabbleTimeoutEigenschaften , InitialSilenceTimeoutund EndSilenceTimeout ändern.

Wenn Ihre Anwendung eine SpeechRecognizer instance verwendet, um die Erkennung zu verwalten, kann sie eine der SpeechRecognizer.RequestRecognizerUpdate Methoden verwenden, um anzufordern, dass die Engine anhält, um ein Update zu erhalten. Die SpeechRecognizer instance löst ein Ereignis ausSpeechRecognizer.RecognizerUpdateReached, wenn sie für das Update bereit ist.

Während ein SpeechRecognizer instance angehalten wird, können Sie Objekte laden, entladen, aktivieren und deaktivierenGrammar.

Beim Behandeln von SpeechRecognitionEngine.RecognizerUpdateReached Ereignissen und SpeechRecognizer.RecognizerUpdateReached Ereignissen wird eine Erkennungs-Engine angehalten, bis der Ereignishandler zurückgegeben wird.

RecognizerUpdateReachedEventArgs wird von EventArgs abgeleitet.

Eigenschaften

AudioPosition

Ruft die dem Ereignis zugeordnete Audioposition ab.

UserToken

Ruft die ab, die UserToken an das System übergeben wird, wenn eine Anwendung oder RequestRecognizerUpdateaufruftRequestRecognizerUpdate.

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:

Weitere Informationen