RecognizerUpdateReachedEventArgs Třída

Definice

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

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čítá a uvolní objekty Grammar . Aplikace používá metodu RequestRecognizerUpdate k vyžádání pozastavení modulu rozpoznávání řeči, aby mohl obdržet aktualizaci. Aplikace pak objekt načte nebo uvolní Grammar .

Při každé aktualizaci obslužná rutina události SpeechRecognitionEngine.RecognizerUpdateReached zapíše název a stav aktuálně načtených Grammar objektů do konzoly. Při načítání a vyložení gramatiky aplikace nejprve rozpozná názvy hospodářských zvířat, pak názvy hospodářský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 pro pozastavení modulu 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 některou z SpeechRecognitionEngine.RequestRecognizerUpdate metod k vyžádání pozastavení modulu a přijetí aktualizace. Instance SpeechRecognitionEngine vyvolá SpeechRecognitionEngine.RecognizerUpdateReached událost, jakmile je připravena na aktualizaci.

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

Pokud vaše aplikace používá SpeechRecognizer instanci ke správě rozpoznávání, může použít některou z SpeechRecognizer.RequestRecognizerUpdate metod k vyžádání pozastavení modulu a přijetí aktualizace. Instance SpeechRecognizer vyvolá SpeechRecognizer.RecognizerUpdateReached událost, jakmile je připravena na aktualizaci.

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

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

RecognizerUpdateReachedEventArgs je odvozeno z EventArgs.

Vlastnosti

AudioPosition

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

UserToken

Získá předaný UserToken do systému při volání RequestRecognizerUpdate aplikace nebo RequestRecognizerUpdate.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

Type Získá z aktuální instance.

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

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

(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é