次の方法で共有


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 完了したときに発生します。

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

SpeakAsync(Prompt)

ソース:
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

非同期的に 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

非同期的に文字列のコンテンツを指示します。

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)スローされる例外に関するページを参照してください。

こちらもご覧ください

適用対象