SpeechSynthesizer.State 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取 SpeechSynthesizer 对象的当前语速。
public:
property System::Speech::Synthesis::SynthesizerState State { System::Speech::Synthesis::SynthesizerState get(); };
public System.Speech.Synthesis.SynthesizerState State { get; }
member this.State : System.Speech.Synthesis.SynthesizerState
Public ReadOnly Property State As SynthesizerState
属性值
返回 SpeechSynthesizer 对象的当前语速。
示例
下面的示例演示了在 SpeechSynthesizer 出现提示之前、期间和之后的状态。
using System;
using System.Threading;
using System.Speech.Synthesis;
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 SpeakProgress event.
synth.SpeakProgress += new EventHandler<SpeakProgressEventArgs>(synth_SpeakProgress);
// Write the state of the SpeechSynthesizer to the console.
Console.WriteLine("Current Synthesizer state: " + synth.State + "\n");
// Speak a string asynchronously.
synth.SpeakAsync("What is your favorite color?");
// Write the state of the SpeechSynthesizer to the console while it is speaking.
Thread.Sleep(1000);
Console.WriteLine("\n - Current Synthesizer state: " + synth.State + " - \n");
// Write the state of the SpeechSynthesizer to the console after it is done speaking.
Thread.Sleep(2000);
Console.WriteLine("\nCurrent Synthesizer state: " + synth.State);
Console.WriteLine();
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
static void synth_SpeakProgress(object sender, SpeakProgressEventArgs e)
{
Console.WriteLine(e.Text);
}
}
}
注解
若要在更改后获取的新状态 SpeechSynthesizer ,请使用 State 类的属性 StateChangedEventArgs 。