言語

SpeechSynthesizer.SpeakAsync メソッド

定義

文字列、 Prompt オブジェクト、または PromptBuilder オブジェクトから非同期的に音声出力を生成します。

オーバーロード

名前 説明
SpeakAsync(Prompt)

Prompt オブジェクトの内容を非同期的に読み上げます。

SpeakAsync(PromptBuilder)

PromptBuilder オブジェクトの内容を非同期的に読み上げます。

SpeakAsync(String)

文字列の内容を非同期的に読み上げます。

注釈

SpeakAsync メソッドは、音声を非同期的に生成します。 メソッドは、 SpeakAsync オブジェクトの内容が読み上げを終了するのを待たずにすぐに戻ります。 テキストの強調表示、アニメーションの描画、コントロールの監視、その他のタスクなど、読み上げ中にアプリケーションでタスクを実行する必要がある場合は、 SpeakAsync を使用します。

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

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

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

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

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

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

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

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

  • SpeakCompleted。 シンセサイザーが SpeakAsync 操作を完了したときに発生します。

アプリケーションで読み上げ中にタスクを実行する必要がない場合は、 Speak メソッドまたは SpeakSsml メソッドを使用して、音声を同期的に生成できます。

SpeakAsync(Prompt)

ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs

Prompt オブジェクトの内容を非同期的に読み上げます。

public:
 void SpeakAsync(System::Speech::Synthesis::Prompt ^ prompt);
public void SpeakAsync(System.Speech.Synthesis.Prompt prompt);
member this.SpeakAsync : System.Speech.Synthesis.Prompt -> unit
Public Sub SpeakAsync (prompt As Prompt)

パラメーター

prompt
Prompt

読み上げるコンテンツ。

次の例では、文字列から Prompt オブジェクトを作成し、そのオブジェクトを引数として SpeakAsync メソッドに渡します。

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();

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

      // Speak the contents of the prompt asynchronously.
      synth.SpeakAsync(color);

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

注釈

SpeakAsyncCancelまたは SpeakAsyncCancelAll メソッドを使用して、プロンプトの非同期読み上げを取り消すことができます。

Prompt オブジェクトの内容を同期的に読み上げるには、Speakを使用します。

このメソッドは、メソッドの同期的な例外がスローできるすべての非使用例外を返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機しているときにスローされます。 ArgumentException などの使用に関する例外は、引き続き同期的にスローされます。 格納されている例外については、 Speak(Prompt)によってスローされる例外を参照してください。

適用対象

SpeakAsync(PromptBuilder)

ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs

PromptBuilder オブジェクトの内容を非同期的に読み上げます。

public:
 System::Speech::Synthesis::Prompt ^ SpeakAsync(System::Speech::Synthesis::PromptBuilder ^ promptBuilder);
public System.Speech.Synthesis.Prompt SpeakAsync(System.Speech.Synthesis.PromptBuilder promptBuilder);
member this.SpeakAsync : System.Speech.Synthesis.PromptBuilder -> System.Speech.Synthesis.Prompt
Public Function SpeakAsync (promptBuilder As PromptBuilder) As Prompt

パラメーター

promptBuilder
PromptBuilder

読み上げるコンテンツ。

返品

読み上げるコンテンツを含むオブジェクト。

次の例では、文字列から PromptBuilder オブジェクトを作成し、そのオブジェクトを引数として SpeakAsync メソッドに渡します。

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();

      // 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 asynchronously.
      synth.SpeakAsync(song);

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

このメソッドは、メソッドの同期的な例外がスローできるすべての非使用例外を返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機しているときにスローされます。 ArgumentException などの使用に関する例外は、引き続き同期的にスローされます。 格納されている例外については、 Speak(PromptBuilder)によってスローされる例外を参照してください。

注釈

PromptBuilder オブジェクトの内容を同期的に読み上げるには、Speakを使用します。

適用対象

SpeakAsync(String)

ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs
ソース:
SpeechSynthesizer.cs

文字列の内容を非同期的に読み上げます。

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

パラメーター

textToSpeak
String

読み上げるテキスト。

返品

読み上げるコンテンツを含むオブジェクト。

次の例に示すように、 SpeakAsync メソッドは、音声出力を非同期的に生成する最も簡単な手段を提供します。

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();

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

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

注釈

SSML マークアップを含む文字列を非同期的に読み上げるには、 SpeakSsmlAsync メソッドを使用します。 文字列の内容を同期的に読み上げるには、 Speak メソッドを使用します。 SpeakAsyncCancelまたは SpeakAsyncCancelAll メソッドを使用して、プロンプトの非同期読み上げを取り消すことができます。

このメソッドは、メソッドの同期的な例外がスローできるすべての非使用例外を返すタスクに格納します。 返されたタスクに例外が格納されている場合、その例外はタスクが待機しているときにスローされます。 ArgumentException などの使用に関する例外は、引き続き同期的にスローされます。 格納されている例外については、 Speak(String)によってスローされる例外を参照してください。

こちらもご覧ください

適用対象