Sdílet prostřednictvím


SpeechSynthesizer.Speak Metoda

Definice

Generuje výstup řeči synchronně z řetězce, objektu Prompt nebo objektu PromptBuilder .

Přetížení

Speak(Prompt)

Synchronně vyslovuje obsah objektu Prompt .

Speak(PromptBuilder)

Synchronně vyslovuje obsah objektu PromptBuilder .

Speak(String)

Synchronně vyslovuje obsah řetězce.

Poznámky

Metody Speak generují řeč synchronně. Metody nevrací, dokud Speak obsah instance není zcela vyslovován. Jedná se o nejjednodušší způsob generování řeči. Pokud ale vaše aplikace potřebuje provádět úlohy při mluvení, například zvýraznit text, malovat animaci, ovládací prvky monitoru nebo jiné úlohy, použijte SpeakAsync metody nebo metodu SpeakSsmlAsync k asynchronnímu generování řeči.

Během volání této metody SpeechSynthesizer může vyvolat následující události:

  • StateChanged. Vyvolána při změně stavu mluvení syntetizátoru.

  • SpeakStarted. Vyvolá se, když syntetizátor začne generovat řeč.

  • PhonemeReached. Vyvolá se pokaždé, když syntetizátor dosáhne písmene nebo kombinace písmen, které představují diskrétní zvuk řeči v jazyce.

  • SpeakProgress. Zvýšeno pokaždé, když syntetizátor dokončí mluvení slova.

  • VisemeReached. Zvednut pokaždé, když mluvený výstup vyžaduje změnu v poloze úst nebo obličejových svalů používaných k produkci řeči.

  • BookmarkReached. Vyvolá se, když syntetizátor narazí na záložku ve výzvě.

  • VoiceChange. Aktivováno při změně hlasu pro syntetizátor.

Nevyvolá SpeechSynthesizerSpeakCompleted událost při zpracování žádné z Speak metod.

Speak(Prompt)

Zdroj:
SpeechSynthesizer.cs
Zdroj:
SpeechSynthesizer.cs
Zdroj:
SpeechSynthesizer.cs

Synchronně vyslovuje obsah objektu Prompt .

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)

Parametry

prompt
Prompt

Obsah, který chcete mluvit.

Příklady

Následující příklad vytvoří Prompt objekt z řetězce a předá objekt jako argument Speak metodě .

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

Poznámky

Pokud chcete asynchronně vyslovovat obsah objektu Prompt , použijte SpeakAsync.

Platí pro

Speak(PromptBuilder)

Zdroj:
SpeechSynthesizer.cs
Zdroj:
SpeechSynthesizer.cs
Zdroj:
SpeechSynthesizer.cs

Synchronně vyslovuje obsah objektu PromptBuilder .

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)

Parametry

promptBuilder
PromptBuilder

Obsah, který chcete mluvit.

Příklady

Následující příklad vytvoří PromptBuilder objekt z řetězce a předá objekt jako argument Speak metodě .

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

Poznámky

Pokud chcete asynchronně vyslovovat obsah objektu PromptBuilder , použijte SpeakAsync.

Platí pro

Speak(String)

Zdroj:
SpeechSynthesizer.cs
Zdroj:
SpeechSynthesizer.cs
Zdroj:
SpeechSynthesizer.cs

Synchronně vyslovuje obsah řetězce.

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

Parametry

textToSpeak
String

Text, který se má vyslovit.

Příklady

Jak je znázorněno v následujícím příkladu Speak , metoda poskytuje nejjednodušší prostředky k synchronnímu generování výstupu řeči.

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

Poznámky

Pokud chcete synchronně vyslovit řetězec, který obsahuje kód SSML, použijte metodu SpeakSsml . Pokud chcete asynchronně vyslovovat obsah řetězce, použijte metodu SpeakAsync .

Platí pro