Udostępnij za pośrednictwem


SpeechSynthesizer.Speak Metoda

Definicja

Generuje dane wyjściowe mowy synchronicznie z ciągu, Prompt obiektu lub PromptBuilder obiektu.

Przeciążenia

Speak(Prompt)

Synchronicznie mówi zawartość Prompt obiektu.

Speak(PromptBuilder)

Synchronicznie mówi zawartość PromptBuilder obiektu.

Speak(String)

Synchronicznie mówi zawartość ciągu.

Uwagi

Metody Speak generują mowę synchronicznie. Metody nie są zwracane, dopóki zawartość Speak wystąpienia nie zostanie całkowicie wypowiedziana. Jest to najprostszy sposób generowania mowy. Jeśli jednak aplikacja musi wykonywać zadania podczas mówienia, na przykład wyróżniać tekst, malować animację, kontrolki monitora lub inne zadania, użyj SpeakAsync metod lub SpeakSsmlAsync metody w celu wygenerowania mowy asynchronicznie.

Podczas wywołania tej metody SpeechSynthesizer program może zgłaszać następujące zdarzenia:

  • StateChanged. Podniesione, gdy stan mówienia syntetyzatora zmienia się.

  • SpeakStarted. Podniesione, gdy syntetyzator zaczyna generować mowę.

  • PhonemeReached. Podniesiony za każdym razem, gdy syntetyzator osiąga literę lub kombinację liter, które stanowią dyskretny dźwięk mowy w języku.

  • SpeakProgress. Podniesione za każdym razem syntetyzator kończy mówi słowo.

  • VisemeReached. Podniesione za każdym razem, gdy mówione dane wyjściowe wymagają zmiany pozycji ust lub mięśni twarzy używanych do produkcji mowy.

  • BookmarkReached. Podniesione, gdy syntetyzator napotka zakładkę w wierszu polecenia.

  • VoiceChange. Podniesione, gdy głos przemawiający do syntetyzatora się zmienia.

Element SpeechSynthesizer nie zgłasza zdarzenia SpeakCompleted podczas przetwarzania żadnej z Speak metod.

Speak(Prompt)

Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs

Synchronicznie mówi zawartość Prompt obiektu.

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

Zawartość do mówienia.

Przykłady

Poniższy przykład tworzy Prompt obiekt z ciągu i przekazuje obiekt jako argument do Speak metody.

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

Uwagi

Aby asynchronicznie mówić zawartość Prompt obiektu, użyj polecenia SpeakAsync.

Dotyczy

Speak(PromptBuilder)

Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs

Synchronicznie mówi zawartość PromptBuilder obiektu.

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

Zawartość do mówienia.

Przykłady

Poniższy przykład tworzy PromptBuilder obiekt z ciągu i przekazuje obiekt jako argument do Speak metody.

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

Uwagi

Aby asynchronicznie mówić zawartość PromptBuilder obiektu, użyj polecenia SpeakAsync.

Dotyczy

Speak(String)

Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs

Synchronicznie mówi zawartość ciągu.

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

Tekst do mówienia.

Przykłady

Jak pokazano w poniższym przykładzie, Speak metoda zapewnia najprostsze metody generowania danych wyjściowych mowy synchronicznie.

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

Uwagi

Aby synchronicznie mówić ciąg zawierający znacznikI SSML, użyj SpeakSsml metody . Aby asynchronicznie mówić zawartość ciągu, użyj SpeakAsync metody .

Dotyczy