Bagikan melalui


SpeechSynthesizer.SpeakAsync Metode

Definisi

Menghasilkan output ucapan secara asinkron dari string, Prompt objek, atau PromptBuilder objek.

Overload

SpeakAsync(Prompt)

Secara asinkron berbicara isi objek Prompt .

SpeakAsync(PromptBuilder)

Secara asinkron berbicara isi objek PromptBuilder .

SpeakAsync(String)

Secara asinkron berbicara isi string.

Keterangan

Metode menghasilkan SpeakAsync ucapan secara asinkron. Metode segera kembali tanpa menunggu konten SpeakAsync objek selesai berbicara. Gunakan SpeakAsync jika aplikasi Anda perlu melakukan tugas saat berbicara, misalnya menyoroti teks, melukis animasi, kontrol monitor, atau tugas lainnya.

Selama panggilan ke metode ini, SpeechSynthesizer dapat menaikkan peristiwa berikut:

  • StateChanged. Muncul ketika status berbicara dari synthesizer berubah.

  • SpeakStarted. Dimunculkan ketika synthesizer mulai menghasilkan ucapan.

  • PhonemeReached. Dimunculkan setiap kali synthesizer mencapai huruf atau kombinasi huruf yang merupakan suara ucapan yang bijaksana dalam bahasa.

  • SpeakProgress. Dimunculkan setiap kali synthesizer selesai mengucapkan satu kata.

  • VisemeReached. Dinaikkan setiap kali output lisan membutuhkan perubahan posisi mulut atau otot wajah yang digunakan untuk menghasilkan ucapan.

  • BookmarkReached. Dimunculkan saat synthesizer menemukan bookmark dalam perintah.

  • VoiceChange. Muncul ketika suara berbicara untuk synthesizer berubah.

  • SpeakCompleted. Dimunculkan ketika synthesizer menyelesaikan SpeakAsync operasi.

Jika aplikasi Anda tidak perlu melakukan tugas saat berbicara, Anda dapat menggunakan Speak metode atau SpeakSsml metode untuk menghasilkan ucapan secara sinkron.

SpeakAsync(Prompt)

Sumber:
SpeechSynthesizer.cs
Sumber:
SpeechSynthesizer.cs
Sumber:
SpeechSynthesizer.cs

Secara asinkron berbicara isi objek 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)

Parameter

prompt
Prompt

Konten yang akan diucapkan.

Contoh

Contoh berikut membuat Prompt objek dari string dan meneruskan objek sebagai argumen ke SpeakAsync metode .

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

Keterangan

Anda dapat membatalkan bicara asinkron tentang perintah dengan SpeakAsyncCancel metode atau SpeakAsyncCancelAll .

Untuk mengucapkan konten Prompt objek secara sinkron, gunakan Speak.

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Speak(Prompt).

Berlaku untuk

SpeakAsync(PromptBuilder)

Sumber:
SpeechSynthesizer.cs
Sumber:
SpeechSynthesizer.cs
Sumber:
SpeechSynthesizer.cs

Secara asinkron berbicara isi objek 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

Parameter

promptBuilder
PromptBuilder

Konten yang akan diucapkan.

Mengembalikan

Objek yang berisi konten untuk diucapkan.

Contoh

Contoh berikut membuat PromptBuilder objek dari string dan meneruskan objek sebagai argumen ke SpeakAsync metode .

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

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Speak(PromptBuilder).

Keterangan

Untuk mengucapkan konten PromptBuilder objek secara sinkron, gunakan Speak.

Berlaku untuk

SpeakAsync(String)

Sumber:
SpeechSynthesizer.cs
Sumber:
SpeechSynthesizer.cs
Sumber:
SpeechSynthesizer.cs

Secara asinkron berbicara isi string.

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

Parameter

textToSpeak
String

Teks untuk diucapkan.

Mengembalikan

Objek yang berisi konten untuk diucapkan.

Contoh

Seperti yang ditunjukkan dalam contoh berikut, SpeakAsync metode ini menyediakan cara paling sederhana untuk menghasilkan output ucapan secara asinkron.

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

Keterangan

Untuk mengucapkan string secara asinkron yang berisi markup SSML, gunakan metode .SpeakSsmlAsync Untuk mengucapkan konten string secara sinkron, gunakan Speak metode . Anda dapat membatalkan bicara asinkron tentang perintah dengan SpeakAsyncCancel metode atau SpeakAsyncCancelAll .

Metode ini disimpan dalam tugas yang mengembalikan semua pengecualian non-penggunaan yang dapat dilemparkan oleh rekan sinkron metode. Jika pengecualian disimpan ke dalam tugas yang dikembalikan, pengecualian tersebut akan dilemparkan saat tugas ditunggu. Pengecualian penggunaan, seperti ArgumentException, masih dilemparkan secara sinkron. Untuk pengecualian yang disimpan, lihat pengecualian yang dilemparkan oleh Speak(String).

Lihat juga

Berlaku untuk