SpeechSynthesizer.SpeakSsml(String) 方法   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
同步包含 SSML 标记的 String 的语言。
public:
 void SpeakSsml(System::String ^ textToSpeak);public void SpeakSsml(string textToSpeak);member this.SpeakSsml : string -> unitPublic Sub SpeakSsml (textToSpeak As String)参数
- textToSpeak
- String
要朗读的 SSML。
示例
以下示例将日期 2009/1/29 呈现为日期(按月、日、年的顺序)。
using System;
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();
      // Build an SSML prompt in a string.
      string str = "<speak version=\"1.0\"";
      str += " xmlns=\"http://www.w3.org/2001/10/synthesis\"";
      str += " xml:lang=\"en-US\">";
      str += "<say-as type=\"date:mdy\"> 1/29/2009 </say-as>";
      str += "</speak>";
      // Speak the contents of the prompt synchronously.
      synth.SpeakSsml(str);
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}
注解
参数的内容 textToSpeak 必须包含 speak 元素,并且必须符合 SSML) 版本 1.0 (语音合成标记语言。 有关详细信息,请参阅 语音合成标记语言参考。
若要异步朗说包含 SSML 标记的字符串,请使用 SpeakSsmlAsync 方法。 可以使用 Speak 启动不包含 SSML 标记的字符串的同步朗讲。
在调用此方法期间, SpeechSynthesizer 可能会引发以下事件:
- StateChanged. 在合成器说话状态更改时引发。 
- SpeakStarted. 当合成器开始生成语音时引发。 
- PhonemeReached. 每当合成器到达构成语言中谨慎语音的字母或字母组合时引发。 
- SpeakProgress. 每次合成器说完单词时引发。 
- VisemeReached. 每次说话输出都需要改变用于生成语音的嘴部或面部肌肉的位置。 
- BookmarkReached. 当合成器在提示符中遇到书签时引发。 
- VoiceChange. 在合成器语音更改时引发。 
处理 SpeechSynthesizerSpeakSsml 方法时, 不会引发 SpeakCompleted 事件。