SpeechSynthesizer.SpeakAsyncCancelAll 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取消所有已佇列、非同步的語音合成作業。
public:
void SpeakAsyncCancelAll();
public void SpeakAsyncCancelAll ();
member this.SpeakAsyncCancelAll : unit -> unit
Public Sub SpeakAsyncCancelAll ()
範例
下列範例示範 如何使用 SpeakAsyncCancelAll 來取消提示的非同步說話,以便說出新的提示。 請注意,取消 SpeakCompleted 作業時 SpeakAsync ,就會引發事件。
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);
}
}
}