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

textToSpeak ist 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 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. Verwendungsausnahmen wie ArgumentExceptionwerden weiterhin synchron ausgelöst. Informationen zu den gespeicherten Ausnahmen finden Sie unter ausnahmen, die von ausgelöst werden SpeakSsml(String).

Hinweise

Der Inhalt des textToSpeak Parameters muss ein speak -Element enthalten und der SSML-Version 1.0 (Speech Synthesis Markup Language) entsprechen. Weitere Informationen finden Sie unter Speech Synthesis Markup Language Reference.

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

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

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

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

  • PhonemeReached. Wird jedes Mal ausgelöst, wenn der Synthesizer einen Buchstaben oder eine Kombination von Buchstaben erreicht, die ein diskretes Sprachgeräusch in einer Sprache darstellen.

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

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

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

  • VoiceChange. Wird ausgelöst, wenn sich die Sprechstimme 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 - SpeakSsml Methode verwenden, um synchrone Sprache zu generieren.

Gilt für: