Share via


Note

Please see Azure Cognitive Services for Speech documentation for the latest supported speech solutions.

StateChangedEventArgs Class

Returns data from the StateChanged event.

Inheritance Hierarchy

System.Object
  System.EventArgs
    Microsoft.Speech.Synthesis.StateChangedEventArgs

Namespace:  Microsoft.Speech.Synthesis
Assembly:  Microsoft.Speech (in Microsoft.Speech.dll)

Syntax

'Declaration
Public Class StateChangedEventArgs _
    Inherits EventArgs
'Usage
Dim instance As StateChangedEventArgs
public class StateChangedEventArgs : EventArgs

Remarks

An instance of StateChangedEventArgs is created when the SpeechSynthesizer object raises the StateChanged event. To obtain the values for the new and the previous SynthesizerState, access the State and PreviousState properties in the handler for the event.

Examples

The following example demonstrates the information that is available about the StateChanged event.

using System;
using Microsoft.Speech.Synthesis;

namespace SampleSynthesis
{
  class Program
  {

    static void Main(string[] args)
    {

      // Initialize a new instance of the SpeechSynthesizer.
      using (SpeechSynthesizer synth = new SpeechSynthesizer())
      {

        // Configure the audio output. 
        synth.SetOutputToDefaultAudioDevice();

        // Subscribe to StateChanged event.
        synth.StateChanged += new EventHandler<StateChangedEventArgs>(synth_StateChanged);

        // Subscribe to the SpeakProgress event.
        synth.SpeakProgress += new EventHandler<SpeakProgressEventArgs>(synth_SpeakProgress);

        // Speak the prompt.
        synth.Speak("What is your favorite color?");

        // Pause the SpeechSynthesizer object.
        synth.Pause();

        // Resume the SpeechSynthesizer object.
        synth.Resume();
      }

      Console.WriteLine("\nPress any key to exit...");
      Console.ReadKey();
    }

    // Write the state of the SpeechSynthesizer to the console.
    static void synth_StateChanged(object sender, StateChangedEventArgs e)
    {
      Console.WriteLine("\nState: {0}    Previous State: {1}\n", e.State, e.PreviousState);
    }

    // Write the speak progress of the SpeechSynthesizer to the console.
    static void synth_SpeakProgress(object sender, SpeakProgressEventArgs e)
    {
      Console.WriteLine(e.Text);
    }
  }
}

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

StateChangedEventArgs Members

Microsoft.Speech.Synthesis Namespace