Freigeben über


SpeechSynthesizer.SpeakAsyncCancelAll Methode

Definition

Bricht alle in der Warteschlange stehenden, asynchronen Sprachesynthesevorgänge ab.

public:
 void SpeakAsyncCancelAll();
public void SpeakAsyncCancelAll ();
member this.SpeakAsyncCancelAll : unit -> unit
Public Sub SpeakAsyncCancelAll ()

Beispiele

Das folgende Beispiel zeigt eine Verwendung von, SpeakAsyncCancelAll um das asynchrone Sprechen einer Eingabeaufforderung abzubrechen, sodass eine neue Eingabeaufforderung gesprochen werden kann. Beachten Sie, dass das SpeakCompleted Ereignis ausgelöst wird, wenn ein SpeakAsync Vorgang abgebrochen wird.

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

Gilt für: