SpeechSynthesizer.Speak メソッド

定義

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

オーバーロード

Speak(Prompt)

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

Speak(PromptBuilder)

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

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:

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

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
Public Sub Speak (prompt As 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)

非同期的に 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
Public Sub Speak (promptBuilder As 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)

同期的に文字列のコンテンツを指示します。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

読み上げるテキスト。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.

適用対象