Bagikan melalui


SpeechSynthesizer.Speak Metode

Definisi

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

Overload

Speak(Prompt)

Secara sinkron berbicara isi Prompt objek.

Speak(PromptBuilder)

Secara sinkron berbicara isi PromptBuilder objek.

Speak(String)

Secara sinkron berbicara konten string.

Keterangan

Metode menghasilkan Speak ucapan secara sinkron. Metode tidak kembali sampai konten Speak instans telah sepenuhnya diucapkan. Ini adalah cara paling sederhana untuk menghasilkan ucapan. Namun, jika aplikasi Anda perlu melakukan tugas saat berbicara, misalnya menyoroti teks, melukis animasi, kontrol monitor, atau tugas lainnya, gunakan SpeakAsync metode atau SpeakSsmlAsync metode untuk menghasilkan ucapan secara asinkron.

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.

SpeechSynthesizer tidak menaikkan SpeakCompleted peristiwa saat memproses salah Speak satu metode.

Speak(Prompt)

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

Secara sinkron berbicara isi Prompt objek.

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)

Parameter

prompt
Prompt

Konten yang akan diucapkan.

Contoh

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

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

Keterangan

Untuk mengucapkan konten Prompt objek secara asinkron, gunakan SpeakAsync.

Berlaku untuk

Speak(PromptBuilder)

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

Secara sinkron berbicara isi PromptBuilder objek.

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)

Parameter

promptBuilder
PromptBuilder

Konten yang akan diucapkan.

Contoh

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

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

Keterangan

Untuk mengucapkan konten PromptBuilder objek secara asinkron, gunakan SpeakAsync.

Berlaku untuk

Speak(String)

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

Secara sinkron berbicara konten string.

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

Parameter

textToSpeak
String

Teks untuk diucapkan.

Contoh

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

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

Keterangan

Untuk mengucapkan string yang berisi markup SSML secara sinkron, gunakan metode .SpeakSsml Untuk mengucapkan konten string secara asinkron, gunakan SpeakAsync metode .

Berlaku untuk