本文為機器翻譯文章。如需檢視英文版,請選取 [原文] 核取方塊。您也可以將滑鼠指標移到文字上,即可在快顯視窗顯示英文原文。
譯文
原文

SpeechSynthesizer.SpeakSsml 方法 (String)

 

以同步方式發表演說 String ,其中包含 SSML 標記。

命名空間:   System.Speech.Synthesis
組件:  System.Speech (於 System.Speech.dll)

public void SpeakSsml(
	string textToSpeak
)

參數

textToSpeak
Type: System.String

要使用的 SSML 字串。

內容 textToSpeak 參數必須包含 speak 項目,必須符合 Speech Synthesis Markup Language (SSML) Version 1.0 如需詳細資訊,請參閱Speech Synthesis Markup Language Reference

若要以非同步方式使用包含 SSML 標記的字串,使用 SpeakSsmlAsync 方法。 您可以使用 Speak 起始同步說不包含 SSML 標記的字串。

在這種方法,呼叫 SpeechSynthesizer 可能會引發下列事件︰

  • StateChanged. 讀出合成器的狀態變更時引發。

  • SpeakStarted. 合成器開始產生語音時引發。

  • PhonemeReached. 合成器到達字母或字母構成個別音效的語音語言組合每次引發。

  • SpeakProgress. 每次引發合成完成談到 word。

  • VisemeReached. 每次引發語音的輸出需要變更用來產生語音臉部 muscles 說話的位置。

  • BookmarkReached. 合成器遇到的提示字元中的書籤時,就會引發。

  • VoiceChange. 讀出聲音的合成器變更時引發。

SpeechSynthesizer 不會引發 SpeakCompleted 事件在處理 SpeakSsml 方法。

下列範例會呈現日期一個日期的月、 日、 年的順序為 1/29/2009年。

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.SpeakSsml(str);

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

.NET Framework
自 3.0 起供應
回到頁首
顯示: