RecognizerUpdateReachedEventArgs Třída

Definice

Vrátí data z RecognizerUpdateReached události nebo RecognizerUpdateReached události.

public ref class RecognizerUpdateReachedEventArgs : EventArgs
public class RecognizerUpdateReachedEventArgs : EventArgs
type RecognizerUpdateReachedEventArgs = class
    inherit EventArgs
Public Class RecognizerUpdateReachedEventArgs
Inherits EventArgs
Dědičnost
RecognizerUpdateReachedEventArgs

Příklady

Následující příklad ukazuje konzolovou aplikaci, která načte a uvolní objekty Grammar . Aplikace používá metodu RequestRecognizerUpdate k vyžádání modulu pro rozpoznávání řeči, aby se pozastavil, aby mohl obdržet aktualizaci. Aplikace pak načte nebo uvolní Grammar objekt.

V každé aktualizaci zapíše obslužná rutina události SpeechRecognitionEngine.RecognizerUpdateReached název a stav aktuálně načtených Grammar objektů do konzoly. Jak se načítají a odkládají gramatiky, aplikace nejprve rozpozná názvy farmových zvířat, pak názvy farmových zvířat a názvy ovoce, pak pouze názvy ovoce.

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

Poznámky

RecognizerUpdateReached události poskytují mechanismus pozastavení modulu pro rozpoznávání řeči pro použití atomických a synchronních úprav, jako je načítání a uvolňování gramatiky.

Pokud vaše aplikace používá SpeechRecognitionEngine instanci ke správě rozpoznávání, může použít jednu z SpeechRecognitionEngine.RequestRecognizerUpdate metod k vyžádání, aby modul pozastavil příjem aktualizace. Instance SpeechRecognitionEngine vyvolá SpeechRecognitionEngine.RecognizerUpdateReached událost, když je připravená k aktualizaci.

SpeechRecognitionEngine Když je instance pozastavená, můžete načíst, uvolnit, povolit a zakázat Grammar objekty a upravit hodnoty pro objekty BabbleTimeout, InitialSilenceTimeouta EndSilenceTimeout vlastnosti.

Pokud vaše aplikace používá SpeechRecognizer instanci ke správě rozpoznávání, může použít jednu z SpeechRecognizer.RequestRecognizerUpdate metod k vyžádání, aby modul pozastavil příjem aktualizace. Instance SpeechRecognizer vyvolá SpeechRecognizer.RecognizerUpdateReached událost, když je připravená k aktualizaci.

SpeechRecognizer Když je instance pozastavená, můžete načíst, uvolnit, povolit a zakázat Grammar objekty.

Při zpracování SpeechRecognitionEngine.RecognizerUpdateReached a SpeechRecognizer.RecognizerUpdateReached událostech se modul pro rozpoznávání pozastaví, dokud obslužná rutina události nevrátí.

RecognizerUpdateReachedEventArgs je odvozeno z EventArgs.

Vlastnosti

Name Description
AudioPosition

Získá pozici zvuku přidruženou k události.

UserToken

UserToken Získá předán do systému, když aplikace volá RequestRecognizerUpdate nebo RequestRecognizerUpdate.

Metody

Name Description
Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také