RecognizerUpdateReachedEventArgs Classe

Definizione

Restituisce dati da un evento RecognizerUpdateReached o RecognizerUpdateReached.

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

Esempio

Nell'esempio seguente viene illustrata un'applicazione console che carica e scarica Grammar oggetti. L'applicazione usa il RequestRecognizerUpdate metodo per richiedere al motore di riconoscimento vocale di sospendere in modo che possa ricevere un aggiornamento. L'applicazione carica o scarica un Grammar oggetto.

In ogni aggiornamento, un gestore per SpeechRecognitionEngine.RecognizerUpdateReached l'evento scrive il nome e lo stato degli oggetti attualmente caricati Grammar nella console. Quando le grammatica vengono caricate e scaricate, l'applicazione riconosce prima i nomi degli animali della fattoria, quindi i nomi degli animali della fattoria e i nomi dei frutti, quindi solo i nomi dei frutti.

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

Commenti

RecognizerUpdateReached gli eventi forniscono un meccanismo per sospendere un motore di riconoscimento vocale per applicare modifiche atomiche e sincrone, ad esempio caricamento e scaricamento di grammatica.

Se l'applicazione usa un'istanza SpeechRecognitionEngine per gestire il riconoscimento, può usare uno dei SpeechRecognitionEngine.RequestRecognizerUpdate metodi per richiedere che il motore venga sospeso per ricevere un aggiornamento. L'istanza SpeechRecognitionEngine genera un SpeechRecognitionEngine.RecognizerUpdateReached evento quando è pronto per l'aggiornamento.

Mentre un'istanza SpeechRecognitionEngine viene sospesa, è possibile caricare, scaricare, abilitare e disabilitare Grammar gli oggetti e modificare i valori per le BabbleTimeoutproprietà , InitialSilenceTimeoute EndSilenceTimeout .

Se l'applicazione usa un'istanza SpeechRecognizer per gestire il riconoscimento, può usare uno dei SpeechRecognizer.RequestRecognizerUpdate metodi per richiedere che il motore venga sospeso per ricevere un aggiornamento. L'istanza SpeechRecognizer genera un SpeechRecognizer.RecognizerUpdateReached evento quando è pronto per l'aggiornamento.

Mentre un'istanza SpeechRecognizer viene sospesa, è possibile caricare, scaricare, abilitare e disabilitare Grammar gli oggetti.

Quando si gestiscono SpeechRecognitionEngine.RecognizerUpdateReached e SpeechRecognizer.RecognizerUpdateReached si verificano eventi, un motore di riconoscimento viene sospeso fino a quando il gestore eventi non restituisce.

RecognizerUpdateReachedEventArgs deriva da EventArgs.

Proprietà

AudioPosition

Ottiene la posizione dell'audio associata all'evento.

UserToken

Ottiene il UserToken passato al sistema quando un'applicazione chiama RequestRecognizerUpdate o RequestRecognizerUpdate.

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche