SpeechSynthesizer.Speak SpeechSynthesizer.Speak SpeechSynthesizer.Speak SpeechSynthesizer.Speak Method

定義

文字列、Prompt オブジェクト、または PromptBuilder オブジェクトから同期で出力される音声を生成します。Generates speech output synchronously from a string, a Prompt object, or a PromptBuilder object.

オーバーロード

Speak(Prompt) Speak(Prompt) Speak(Prompt)

非同期的に Prompt オブジェクトのコンテンツを指示します。Synchronously speaks the contents of a Prompt object.

Speak(PromptBuilder) Speak(PromptBuilder) Speak(PromptBuilder)

非同期的に PromptBuilder オブジェクトのコンテンツを指示します。Synchronously speaks the contents of a PromptBuilder object.

Speak(String) Speak(String) Speak(String) Speak(String)

同期的に文字列のコンテンツを指示します。Synchronously speaks the contents of a string.

注釈

メソッドSpeakは、音声を同期的に生成します。The Speak methods generate speech synchronously. メソッドは、 Speakインスタンスの内容が完全に話されるまでは戻りません。The methods do not return until the content of the Speak instance has been completely spoken. これは、音声を生成する最も簡単な方法です。This is the simplest way to generate speech. ただし、アプリケーションで読み上げ中にタスクを実行する必要がある場合は (テキストの強調表示、アニメーションの表示、コントロールの監視SpeakAsyncなどのタスクSpeakSsmlAsync )、メソッドまたはメソッドを使用して、音声を非同期に生成します。However, if your application needs to perform tasks while speaking, for example highlight text, paint animation, monitor controls, or other tasks, use the SpeakAsync methods or the SpeakSsmlAsync method to generate speech asynchronously.

このメソッドの呼び出し中に、はSpeechSynthesizer次のイベントを発生させることができます。During a call to this method, the SpeechSynthesizer can raise the following events:

  • StateChangedStateChanged. シンセサイザーの読み上げの状態が変化したときに発生します。Raised when the speaking state of the synthesizer changes.

  • SpeakStartedSpeakStarted. シンセサイザーが音声の生成を開始するときに発生します。Raised when the synthesizer begins generating speech.

  • PhonemeReachedPhonemeReached. シンセサイザーが1つの文字または文字の組み合わせに到達するたびに発生し、言語の音声を個別に発音します。Raised each time the synthesizer reaches a letter or combination of letters that constitute a discreet sound of speech in a language.

  • SpeakProgressSpeakProgress. シンセサイザーが単語の読み上げを完了するたびに発生します。Raised each time the synthesizer completes speaking a word.

  • VisemeReachedVisemeReached. 音声の生成に使用される口の位置または顔の筋肉を変更する必要があるたびに発生します。Raised each time spoken output requires a change in the position of the mouth or the facial muscles used to produce speech.

  • BookmarkReachedBookmarkReached. シンセサイザーがプロンプトでブックマークを検出したときに発生します。Raised when the synthesizer encounters a bookmark in a prompt.

  • VoiceChangeVoiceChange. シンセサイザーの読み上げ音声が変化したときに発生します。Raised when the speaking voice for the synthesizer changes.

は、 Speakメソッドの処理SpeakCompleted中にイベントを発生させません。 SpeechSynthesizerThe SpeechSynthesizer does not raise the SpeakCompleted event while processing any of the Speak methods.

Speak(Prompt) Speak(Prompt) Speak(Prompt)

非同期的に Prompt オブジェクトのコンテンツを指示します。Synchronously speaks the contents of a Prompt object.

public:
 void Speak(System::Speech::Synthesis::Prompt ^ prompt);
public void Speak (System.Speech.Synthesis.Prompt prompt);
member this.Speak : System.Speech.Synthesis.Prompt -> unit

パラメーター

prompt
Prompt Prompt Prompt Prompt

話すコンテンツ。The content to speak.

次の例ではPrompt 、文字列からオブジェクトを作成し、そのオブジェクトを引数とSpeakしてメソッドに渡します。The following example creates a Prompt object from a string and passes the object as an argument to the Speak method.

using System;  
using System.Speech.Synthesis;  

namespace SampleSynthesis  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Initialize a new instance of the SpeechSynthesizer.  
      using (SpeechSynthesizer synth = new SpeechSynthesizer())  
      {  

        // Configure the audio output.   
        synth.SetOutputToDefaultAudioDevice();  

        // Create a prompt from a string.  
        Prompt color = new Prompt("What is your favorite color?");  

        // Speak the contents of the prompt synchronously.  
        synth.Speak(color);  
      }  

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

注釈

Promptオブジェクトの内容を非同期に読み上げるには、 SpeakAsyncを使用します。To asynchronously speak the contents of a Prompt object, use SpeakAsync.

Speak(PromptBuilder) Speak(PromptBuilder) Speak(PromptBuilder)

非同期的に PromptBuilder オブジェクトのコンテンツを指示します。Synchronously speaks the contents of a PromptBuilder object.

public:
 void Speak(System::Speech::Synthesis::PromptBuilder ^ promptBuilder);
public void Speak (System.Speech.Synthesis.PromptBuilder promptBuilder);
member this.Speak : System.Speech.Synthesis.PromptBuilder -> unit

パラメーター

promptBuilder
PromptBuilder PromptBuilder PromptBuilder PromptBuilder

話すコンテンツ。The content to speak.

次の例ではPromptBuilder 、文字列からオブジェクトを作成し、そのオブジェクトを引数とSpeakしてメソッドに渡します。The following example creates a PromptBuilder object from a string and passes the object as an argument to the Speak method.

using System;  
using System.Speech.Synthesis;  

namespace SampleSynthesis  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Initialize a new instance of the SpeechSynthesizer.  
      using (SpeechSynthesizer synth = new SpeechSynthesizer())  
      {  

        // Configure the audio output.   
        synth.SetOutputToDefaultAudioDevice();  

        // Create a PromptBuilder object and append a text string.  
        PromptBuilder song = new PromptBuilder();  
        song.AppendText("Say the name of the song you want to hear");  

        // Speak the contents of the prompt synchronously.  
        synth.Speak(song);  
      }  

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

注釈

PromptBuilderオブジェクトの内容を非同期に読み上げるには、 SpeakAsyncを使用します。To asynchronously speak the contents of a PromptBuilder object, use SpeakAsync.

Speak(String) Speak(String) Speak(String) Speak(String)

同期的に文字列のコンテンツを指示します。Synchronously speaks the contents of a string.

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

パラメーター

textToSpeak
String String String String

読み上げるテキスト。The text to speak.

次の例に示すように、 Speakメソッドは、音声出力を同期的に生成する最も簡単な方法を提供します。As shown in the following example, the Speak method provides the simplest means to generate speech output synchronously.

using System;  
using System.Speech.Synthesis;  

namespace SampleSynthesis  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Initialize a new instance of the SpeechSynthesizer.  
      using (SpeechSynthesizer synth = new SpeechSynthesizer())  
      {  

        // Configure the audio output.   
        synth.SetOutputToDefaultAudioDevice();  

        // Speak a string synchronously.  
        synth.Speak("What is your favorite color?");  
      }  

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

注釈

SSML マークアップを含む文字列を同期的に読み上げるにSpeakSsmlは、メソッドを使用します。To synchronously speak a string that contains SSML markup, use the SpeakSsml method. 文字列の内容を非同期に読み上げるには、 SpeakAsyncメソッドを使用します。To asynchronously speak the contents of a string, use the SpeakAsync method.

適用対象