Freigeben über


SpeechSynthesizer.SpeakAsync Methode

Definition

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

Überlädt

SpeakAsync(Prompt)

Spricht asynchron den Inhalt eines Prompt-Objekts.

SpeakAsync(PromptBuilder)

Spricht asynchron den Inhalt eines PromptBuilder-Objekts.

SpeakAsync(String)

Spricht asynchron den Inhalt eines -Objekts.

Hinweise

Die SpeakAsync Methoden generieren Sprache asynchron. Die Methoden geben sofort zurück, ohne darauf zu warten, dass der Inhalt des SpeakAsync Objekts zu Ende gesprochen wird. Verwenden Sie SpeakAsync , wenn Ihre Anwendung Aufgaben beim Sprechen ausführen muss, z. B. Text hervorheben, Animationen malen, Steuerelemente überwachen oder andere Aufgaben ausführen müssen.

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.

  • SpeakCompleted. Wird ausgelöst, wenn der Synthesizer einen SpeakAsync Vorgang beendet.

Wenn Ihre Anwendung beim Sprechen keine Aufgaben ausführen muss, können Sie die Speak Methoden oder die SpeakSsml -Methode verwenden, um synchrone Sprache zu generieren.

SpeakAsync(Prompt)

Quelle:
SpeechSynthesizer.cs
Quelle:
SpeechSynthesizer.cs

Spricht asynchron den Inhalt eines Prompt-Objekts.

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

Der zu sprechende Inhalt.

Beispiele

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

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

Hinweise

Sie können das asynchrone Sprechen einer Eingabeaufforderung mit der SpeakAsyncCancel -Methode oder SpeakAsyncCancelAll abbrechen.

Um den Inhalt eines Prompt Objekts synchron zu sprechen, verwenden Sie Speak.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Speak(Prompt)Ausnahmen.

Gilt für:

SpeakAsync(PromptBuilder)

Quelle:
SpeechSynthesizer.cs
Quelle:
SpeechSynthesizer.cs

Spricht asynchron den Inhalt eines PromptBuilder-Objekts.

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

Der zu sprechende Inhalt.

Gibt zurück

Das Objekt, das den zu sprechenden Inhalt enthält.

Beispiele

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

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

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Speak(PromptBuilder)Ausnahmen.

Hinweise

Um den Inhalt eines PromptBuilder Objekts synchron zu sprechen, verwenden Sie Speak.

Gilt für:

SpeakAsync(String)

Quelle:
SpeechSynthesizer.cs
Quelle:
SpeechSynthesizer.cs

Spricht asynchron den Inhalt eines -Objekts.

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

Der zu sprechende Text.

Gibt zurück

Das Objekt, das den zu sprechenden Inhalt enthält.

Beispiele

Wie im folgenden Beispiel gezeigt, bietet die SpeakAsync Methode die einfachste Möglichkeit, Sprachausgabe asynchron zu generieren.

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

Hinweise

Verwenden Sie die -Methode, um asynchron eine Zeichenfolge zu sprechen, die SpeakSsmlAsync SSML-Markup enthält. Verwenden Sie Speak die -Methode, um den Inhalt einer Zeichenfolge synchron zu sprechen. Sie können das asynchrone Sprechen einer Eingabeaufforderung mit der SpeakAsyncCancel -Methode oder SpeakAsyncCancelAll abbrechen.

Diese Methode speichert in der Aufgabe, die sie alle Nichtverwendungsausnahmen zurückgibt, die die synchrone Entsprechung der Methode auslösen kann. Wenn eine Ausnahme in der zurückgegebenen Aufgabe gespeichert wird, wird diese Ausnahme ausgelöst, wenn die Aufgabe erwartet wird. Nutzungsausnahmen, z. B ArgumentException. , werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter die von ausgelösten Speak(String)Ausnahmen.

Weitere Informationen

Gilt für: