SpeechSynthesizer.SpeakAsyncCancelAll Method

Definition

Cancels all queued, asynchronous, speech synthesis operations.

public void SpeakAsyncCancelAll ();

Examples

The following example show a use of SpeakAsyncCancelAll to cancel the asynchronous speaking of a prompt, so that a new prompt can be spoken. Note that the SpeakCompleted event fires when a SpeakAsync operation is cancelled.

using System;
using System.Speech.Synthesis;
using System.Threading;

namespace SampleSynthesis
{
  class Program
  {

    static void Main(string[] args)
    {

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

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

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

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

      // Subscribe to the SpeakCompleted event.
      synth.SpeakCompleted += new EventHandler<SpeakCompletedEventArgs>(synth_SpeakCompleted);

      // Begin speaking a text string asynchronously.
      synth.SpeakAsync("Speech is an effective and natural way for people to interact with applications, " +
        "complementing or even replacing the use of mice, keyboards, controllers, and gestures.");

      // Speak for four seconds.
      Thread.Sleep(4000);

      // Cancel the SpeakAsync operation and wait one second.
      synth.SpeakAsyncCancelAll();
      Thread.Sleep(1000);

      // Speak a new text string.
      synth.Speak("An urgent email message has arrived. Do you want to hear it?");

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

    // Write to the console when the SpeakAsync operation has been cancelled.
    static void synth_SpeakCompleted(object sender, SpeakCompletedEventArgs e)
    {
      Console.WriteLine("\nThe SpeakAsync operation was cancelled!!");
    }

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

    // Write the text being spoken by the SpeechSynthesizer to the console.
    static void synth_SpeakProgress(object sender, SpeakProgressEventArgs e)
    {
      Console.WriteLine(e.Text);
    }
  }
}

Applies to

Product Versions
.NET 8 (package-provided), 9 (package-provided)
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7 (package-provided), 4.7, 4.7.1 (package-provided), 4.7.1, 4.7.2 (package-provided), 4.7.2, 4.8 (package-provided), 4.8, 4.8.1
.NET Standard 2.0 (package-provided)