Share via


SpeechSynthesizer.SpeakSsmlAsync(String) Metoda

Definice

Asynchronně vyslovuje String kód, který obsahuje kód SSML.

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

Parametry

textToSpeak
String

Kód SMML, který se má vyslovit.

Návraty

Objekt, který obsahuje obsah, který má mluvit.

Výjimky

textToSpeakje null.

Příklady

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

Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem SpeakSsml(String).

Poznámky

Obsah parametru textToSpeak musí obsahovat speak prvek a musí odpovídat jazyku SSML (Speech Synthesis Markup Language) verze 1.0. Další informace najdete v tématu Referenční informace k jazyku pro revize syntézy řeči.

Pokud chcete synchronně vyslovovat řetězec, který obsahuje značky SSML, použijte metodu SpeakSsml . Můžete použít SpeakAsync k zahájení asynchronního mluvení o řetězci, který neobsahuje kód SSML.

Během volání této metody SpeechSynthesizer může vyvolat následující události:

  • StateChanged. Vyvolána při změně stavu mluvení syntetizátoru.

  • SpeakStarted. Vyvolána, když syntezátor začne generovat řeč.

  • PhonemeReached. Vyvolá se pokaždé, když syntezátor dosáhne písmena nebo kombinace písmen, které představují diskrétní zvuk řeči v jazyce.

  • SpeakProgress. Vyvolá se pokaždé, když syntezátor dokončí vyslovování slova.

  • VisemeReached. Zvednuté při každém mluveném výstupu vyžaduje změnu pozice úst nebo obličejových svalů používaných k produkci řeči.

  • BookmarkReached. Vyvolána, když syntezátor narazí na záložku ve výzvě.

  • VoiceChange. Zvednuto, když se změní hlas pro syntezátor.

  • SpeakCompleted. Vyvolá se, když syntezátor dokončí zpracování SpeakSsmlAsync operace.

Pokud vaše aplikace nepotřebuje provádět úlohy při mluvení, můžete k synchronnímu generování řeči použít metodu SpeakSpeakSsml nebo .

Platí pro