SpeechRecognizer.AudioStateChanged Событие

Определение

Происходит при изменении состояния аудио, получаемого распознавателем.Occurs when the state changes in the audio being received by the recognizer.

public:
 event EventHandler<System::Speech::Recognition::AudioStateChangedEventArgs ^> ^ AudioStateChanged;
public event EventHandler<System.Speech.Recognition.AudioStateChangedEventArgs> AudioStateChanged;
member this.AudioStateChanged : EventHandler<System.Speech.Recognition.AudioStateChangedEventArgs> 
Public Custom Event AudioStateChanged As EventHandler(Of AudioStateChangedEventArgs) 

Тип события

EventHandler<AudioStateChangedEventArgs>

Примеры

В следующем примере обработчик события используется для AudioStateChanged записи нового распознавателя AudioState в консоль при каждом его изменении с помощью члена AudioState перечисления.The following example uses a handler for the AudioStateChanged event to write the recognizer's new AudioState to the console each time it changes using a member of the AudioState enumeration.

using System;  
using System.Speech.Recognition;  

namespace SampleRecognition  
{  
  class Program  
  {  
    private static SpeechRecognizer recognizer;  
    public static void Main(string[] args)  
    {  

      // Initialize a shared speech recognition engine.  
      recognizer = new SpeechRecognizer();  

        // Create and load a grammar.  
        Grammar dictation = new DictationGrammar();  
        dictation.Name = "Dictation Grammar";  
        recognizer.LoadGrammar(dictation);  

        // Attach event handlers.  
        recognizer.AudioStateChanged +=  
          new EventHandler<AudioStateChangedEventArgs>(recognizer_AudioStateChanged);  
        recognizer.SpeechRecognized +=  
          new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);  
        recognizer.StateChanged +=  
          new EventHandler<StateChangedEventArgs>(recognizer_StateChanged);  

        // Keep the console window open.  
        Console.ReadLine();  
      }  

    // Handle the AudioStateChanged event.  
    static void recognizer_AudioStateChanged(object sender, AudioStateChangedEventArgs e)  
    {  
      Console.WriteLine("The new audio state is: " + e.AudioState);  
    }  

    // Handle the SpeechRecognized event.  
    static void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)  
    {  
      if (e.Result != null && e.Result.Text != null)  
      {  
        Console.WriteLine();  
        Console.WriteLine("  Recognized text =  {0}", e.Result.Text);  
        Console.WriteLine();  
      }  
      else  
      {  
        Console.WriteLine("  Recognized text not available.");  
      }  

      Console.WriteLine();  
      Console.WriteLine("Done.");  
      Console.WriteLine();  
      Console.WriteLine("Press any key to exit...");  
      Console.ReadKey();  
    }  

    // Put the recognizer into Listening mode.  
    static void recognizer_StateChanged(object sender, StateChangedEventArgs e)  
    {  
      if (e.RecognizerState != RecognizerState.Stopped)  
      {  
        Console.WriteLine();  
        recognizer.EmulateRecognizeAsync("Start listening");  
      }  
    }  
  }  
}  

Комментарии

Чтобы получить состояние звука во время события, используйте AudioState свойство связанного объекта AudioStateChangedEventArgs .To get the audio state at the time of the event, use the AudioState property of the associated AudioStateChangedEventArgs. Чтобы получить текущее звуковое состояние входных данных распознавателя, используйте свойство распознавателя AudioState .To get the current audio state of the input to the recognizer, use the recognizer's AudioState property. Дополнительные сведения о звуковом состоянии см. в описании AudioState перечисления.For more information about audio state, see the AudioState enumeration.

При создании делегата для AudioStateChanged события определяется метод, который будет выполнять обработку события.When you create a delegate for an AudioStateChanged event, you identify the method that will handle the event. Чтобы связать событие с обработчиком событий, нужно добавить в событие экземпляр делегата.To associate the event with your event handler, add an instance of the delegate to the event. Обработчик событий вызывается всякий раз, когда происходит событие, если делегат не удален.The event handler is called whenever the event occurs, unless you remove the delegate. Дополнительные сведения о делегатах обработчиков событий см. в разделе события и делегаты.For more information about event-handler delegates, see Events and Delegates.

Применяется к

См. также раздел