次の方法で共有


SpeechSynthesizer.SpeakSsml(String) メソッド

定義

同期的に SSML マークアップを含む String を指示します。

public:
 void SpeakSsml(System::String ^ textToSpeak);
public void SpeakSsml (string textToSpeak);
member this.SpeakSsml : string -> unit
Public Sub SpeakSsml (textToSpeak As String)

パラメーター

textToSpeak
String

読み上げる SSML 文字列。

次の例では、日付 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 synchronously.
      synth.SpeakSsml(str);

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

注釈

パラメーターの内容には 要素をtextToSpeakspeak含める必要があり、音声合成マークアップ言語 (SSML) バージョン 1.0 に準拠している必要があります。 詳細については、「 音声合成マークアップ言語リファレンス」を参照してください

SSML マークアップを含む文字列を非同期的に読み上げるには、 メソッドを使用します SpeakSsmlAsync 。 を使用 Speak して、SSML マークアップを含まない文字列の同期読み上げを開始できます。

このメソッドの呼び出し中に、 は SpeechSynthesizer 次のイベントを発生させることができます。

  • StateChanged. シンセサイザーの読み上げ状態が変化したときに発生します。

  • SpeakStarted. シンセサイザーが音声の生成を開始すると発生します。

  • PhonemeReached. シンセサイザーが文字または単語の組み合わせに達するたびに発生し、言語の目立たない音声を構成します。

  • SpeakProgress. シンセサイザーが単語を話すのを完了するたびに発生します。

  • VisemeReached. 音声出力のたびに発生させるには、音声の生成に使用される口または顔の筋肉の位置を変更する必要があります。

  • BookmarkReached. シンセサイザーがプロンプトでブックマークを検出したときに発生します。

  • VoiceChange. シンセサイザーの話し声が変わると発生します。

SpeechSynthesizerでは、 メソッドの処理中に SpeakCompleted イベントがSpeakSsml発生しません。

適用対象