SpeechSynthesizer.State 属性

定义

获取 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

属性值

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

适用于