Freigeben über


SpeechSynthesizer.SpeakSsmlAsync(String) Methode

Definition

Spricht asynchron eine String , die SSML-Markup enthält.

public:
 System::Speech::Synthesis::Prompt ^ SpeakSsmlAsync(System::String ^ textToSpeak);
public System.Speech.Synthesis.Prompt SpeakSsmlAsync(string textToSpeak);
member this.SpeakSsmlAsync : string -> System.Speech.Synthesis.Prompt
Public Function SpeakSsmlAsync (textToSpeak As String) As Prompt

Parameter

textToSpeak
String

Das zu sprechende SMML-Markup.

Gibt zurück

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

Ausnahmen

textToSpeakist null.

Beispiele

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

      // Build an SSML prompt in a string.
      string str = "<speak version=\"1.0\"";
      str += " xmlns=\"http://www.w3.org/2001/10/synthesis\"";
      str += " xml:lang=\"en-US\">";
      str += "<say-as type=\"date:mdy\"> 1/29/2009 </say-as>";
      str += "</speak>";

      // Speak the contents of the prompt asynchronously.
      synth.SpeakSsmlAsync(str);

      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}

Diese Methode speichert in der Aufgabe, die alle Nicht-Verwendungs-Ausnahmen zurückgibt, die das synchrone Gegenstück 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. Verwendungsausnahmen, z. B. ArgumentException, werden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie in den von SpeakSsml(String).

Hinweise

Der Inhalt des textToSpeak Parameters muss ein speak Element enthalten und muss der Speech Synthesis Markup Language (SSML) Version 1.0 entsprechen.

Verwenden Sie die SpeakSsml Methode, um eine Zeichenfolge synchron zu sprechen, die SSML-Markup enthält. Sie können SpeakAsync das asynchrone Sprechen einer Zeichenfolge initiieren, die kein SSML-Markup enthält.

Während eines Aufrufs dieser Methode können die SpeechSynthesizer folgenden Ereignisse auslösen:

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

  • SpeakStarted. Wird ausgelöst, wenn der Synthesizer mit der Generierung von Sprache beginnt.

  • PhonemeReached. Wird jedes Mal ausgelöst, wenn der Synthesizer einen Buchstaben oder eine Kombination aus Buchstaben erreicht, die einen diskreten Sprachsound in einer Sprache darstellen.

  • SpeakProgress. Wird jedes Mal ausgelöst, wenn der Synthesizer ein Wort abschließt.

  • VisemeReached. Jedes Mal, wenn gesprochene Ausgabe ausgelöst wird, erfordert eine Änderung der Position des Mundes oder der Gesichtsmuskeln, die zum Erzeugen von Sprache verwendet werden.

  • BookmarkReached. Wird ausgelöst, wenn der Synthesizer auf eine Textmarke in einer Eingabeaufforderung trifft.

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

  • SpeakCompleted. Wird ausgelöst, wenn der Synthesizer die Verarbeitung eines SpeakSsmlAsync Vorgangs beendet.

Wenn Ihre Anwendung während des Sprechens keine Aufgaben ausführen muss, können Sie die Speak oder die Methode zum synchronen Generieren von SpeakSsml Spracherkennung verwenden.

Gilt für: