Freigeben über


SpeechSynthesizer.Speak Methode

Definition

Generiert eine zur Zeichenfolge synchrone Sprachausgabe, ein Prompt-Objekt oder ein PromptBuilder-Objekt.

Überlädt

Speak(Prompt)

Spricht synchron den Inhalt eines Prompt-Objekts.

Speak(PromptBuilder)

Spricht synchron den Inhalt eines PromptBuilder-Objekts.

Speak(String)

Spricht synchron den Inhalt einer Zeichenfolge.

Hinweise

Die Speak Methoden generieren Synchrone Sprache. Die Methoden werden erst zurückgegeben, wenn der Inhalt der Speak instance vollständig gesprochen wurde. Dies ist die einfachste Möglichkeit, Sprache zu generieren. Wenn Ihre Anwendung jedoch Aufgaben beim Sprechen ausführen muss, z. B. Text hervorheben, Animationen zeichnen, Steuerelemente überwachen oder andere Aufgaben ausführen müssen, verwenden Sie die SpeakAsync Methoden oder die SpeakSsmlAsync -Methode, um Sprache asynchron zu generieren.

Während eines Aufrufs dieser Methode kann die SpeechSynthesizer folgenden Ereignisse ausgelöst werden:

  • StateChanged. Wird ausgelöst, wenn sich der Sprachzustand des Synthesizers ändert.

  • SpeakStarted. Wird ausgelöst, wenn der Synthesizer mit der Sprachgenerierung beginnt.

  • PhonemeReached. Jedes Mal, wenn der Synthesizer einen Buchstaben oder eine Kombination von Buchstaben erreicht, die einen diskreten Sprachklang in einer Sprache darstellen.

  • SpeakProgress. Wird jedes Mal ausgelöst, wenn der Synthesizer ein Wort spricht.

  • VisemeReached. Erhebt jedes Mal, wenn gesprochene Ausgabe eine Änderung der Position des Mundes oder der Gesichtsmuskulatur erfordert, die zur Erzeugung von Sprache verwendet wird.

  • BookmarkReached. Wird ausgelöst, wenn der Synthesizer auf ein Lesezeichen in einer Eingabeaufforderung stößt.

  • VoiceChange. Wird ausgelöst, wenn sich die Sprechstimme für den Synthesizer ändert.

Das SpeechSynthesizer -Ereignis löst das SpeakCompleted -Ereignis nicht aus, während eine der Speak Methoden verarbeitet wird.

Speak(Prompt)

Quelle:
SpeechSynthesizer.cs
Quelle:
SpeechSynthesizer.cs

Spricht synchron den Inhalt eines Prompt-Objekts.

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

Der zu sprechende Inhalt.

Beispiele

Im folgenden Beispiel wird ein Prompt Objekt aus einer Zeichenfolge erstellt und das Objekt als Argument an die Speak -Methode übergeben.

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

Hinweise

Um den Inhalt eines Prompt -Objekts asynchron zu sprechen, verwenden Sie SpeakAsync.

Gilt für:

Speak(PromptBuilder)

Quelle:
SpeechSynthesizer.cs
Quelle:
SpeechSynthesizer.cs

Spricht synchron den Inhalt eines PromptBuilder-Objekts.

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

Der zu sprechende Inhalt.

Beispiele

Im folgenden Beispiel wird ein PromptBuilder Objekt aus einer Zeichenfolge erstellt und das Objekt als Argument an die Speak -Methode übergeben.

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

Hinweise

Um den Inhalt eines PromptBuilder -Objekts asynchron zu sprechen, verwenden Sie SpeakAsync.

Gilt für:

Speak(String)

Quelle:
SpeechSynthesizer.cs
Quelle:
SpeechSynthesizer.cs

Spricht synchron den Inhalt einer Zeichenfolge.

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

Der zu sprechende Text.

Beispiele

Wie im folgenden Beispiel gezeigt, bietet die Speak Methode die einfachste Möglichkeit, sprachausgabe synchron zu generieren.

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

Hinweise

Verwenden Sie die -Methode, um synchron eine Zeichenfolge zu sprechen, die SpeakSsml SSML-Markup enthält. Verwenden Sie SpeakAsync die -Methode, um den Inhalt einer Zeichenfolge asynchron zu sprechen.

Gilt für: