RecognizerUpdateReachedEventArgs Klas

Definitie

Retourneert gegevens van een RecognizerUpdateReached of een RecognizerUpdateReached gebeurtenis.

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

Voorbeelden

In het volgende voorbeeld ziet u een consoletoepassing waarmee objecten worden geladen en verwijderd Grammar . De toepassing gebruikt de RequestRecognizerUpdate methode om de spraakherkenningsengine aan te vragen om te onderbreken, zodat deze een update kan ontvangen. De toepassing laadt of verwijdert vervolgens een Grammar object.

Bij elke update schrijft een handler voor SpeechRecognitionEngine.RecognizerUpdateReached gebeurtenis de naam en status van de momenteel geladen Grammar objecten naar de console. Naarmate grammatica's worden geladen en ontladen, herkent de toepassing eerst de namen van landbouwdieren, vervolgens de namen van landbouwdieren en de namen van fruit, en vervolgens alleen de namen van vruchten.

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

Opmerkingen

RecognizerUpdateReached gebeurtenissen bieden een mechanisme voor het onderbreken van een spraakherkenningsengine om atomische en synchrone wijzigingen toe te passen, zoals het laden en lossen van grammatica's.

Als uw toepassing een SpeechRecognitionEngine exemplaar gebruikt om herkenning te beheren, kan deze een van de SpeechRecognitionEngine.RequestRecognizerUpdate methoden gebruiken om aan te vragen dat de engine wordt onderbroken om een update te ontvangen. Het SpeechRecognitionEngine exemplaar genereert een SpeechRecognitionEngine.RecognizerUpdateReached gebeurtenis wanneer deze gereed is voor de update.

Terwijl een SpeechRecognitionEngine exemplaar is onderbroken, kunt u objecten laden, verwijderen, inschakelen en uitschakelen Grammar , en waarden voor de BabbleTimeout, InitialSilenceTimeouten EndSilenceTimeout eigenschappen wijzigen.

Als uw toepassing een SpeechRecognizer exemplaar gebruikt om herkenning te beheren, kan deze een van de SpeechRecognizer.RequestRecognizerUpdate methoden gebruiken om aan te vragen dat de engine wordt onderbroken om een update te ontvangen. Het SpeechRecognizer exemplaar genereert een SpeechRecognizer.RecognizerUpdateReached gebeurtenis wanneer deze gereed is voor de update.

Terwijl een SpeechRecognizer exemplaar is onderbroken, kunt u objecten laden, verwijderen, inschakelen en uitschakelen Grammar .

Bij het verwerken SpeechRecognitionEngine.RecognizerUpdateReached en SpeechRecognizer.RecognizerUpdateReached gebeurtenissen wordt een herkenningsengine onderbroken totdat de gebeurtenis-handler terugkeert.

RecognizerUpdateReachedEventArgs is afgeleid van EventArgs.

Eigenschappen

Name Description
AudioPosition

Hiermee haalt u de audiopositie op die aan de gebeurtenis is gekoppeld.

UserToken

Hiermee wordt het UserToken doorgegeven aan het systeem wanneer een toepassing aanroept RequestRecognizerUpdate of RequestRecognizerUpdate.

Methoden

Name Description
Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook