SpeechSynthesizer.SpeakSsmlAsync(String) 方法

定义

异步使用包含 SSML 标记的 String 的语言。

public:
 System::Speech::Synthesis::Prompt ^ SpeakSsmlAsync(System::String ^ textToSpeak);
public System.Speech.Synthesis.Prompt SpeakSsmlAsync (string textToSpeak);
member this.SpeakSsmlAsync : string -> System.Speech.Synthesis.Prompt
Public Function SpeakSsmlAsync (textToSpeak As String) As Prompt

参数

textToSpeak
String

要朗读的 SMML 标记。

返回

包含要说话的内容的 对象。

例外

textToSpeaknull

示例

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 asynchronously.
      synth.SpeakSsmlAsync(str);

      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}

此方法存储在任务中,它返回该方法的同步对应项可能引发的所有非使用异常。 如果异常存储在返回的任务中,则在等待任务时将引发该异常。 使用异常(如 ArgumentException)仍会同步引发。 有关存储的异常,请参阅 引发的 SpeakSsml(String)异常。

注解

参数的内容 textToSpeak 必须包含 元素 speak ,并且必须符合 语音合成标记语言 (SSML) 版本 1.0。 有关详细信息,请参阅 语音合成标记语言参考

若要同步朗出包含 SSML 标记的字符串,请使用 SpeakSsml 方法。 可以使用 SpeakAsync 启动不包含 SSML 标记的字符串的异步朗讲。

在调用此方法期间, SpeechSynthesizer 可能会引发以下事件:

如果应用程序在说话时不需要执行任务,则可以使用 SpeakSpeakSsml 方法来同步生成语音。

适用于