SpeechSynthesizer.SpeakSsmlAsync(String) Metod

Definition

Asynkront talar en String som innehåller SSML-markering.

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

Parametrar

textToSpeak
String

SMML-markering för att tala.

Returer

Objektet som innehåller innehållet som ska visas.

Undantag

textToSpeakär null.

Exempel

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

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av SpeakSsml(String).

Kommentarer

Innehållet i parametern textToSpeak måste innehålla ett speak element och måste överensstämma med SSML-version 1.0 (Speech Synthesis Markup Language). Mer information finns i Språkreferens för talsyntesmarkering.

Använd metoden för att synkront tala en sträng som innehåller SSML-markering SpeakSsml . Du kan använda SpeakAsync för att initiera asynkront tal om en sträng som inte innehåller SSML-markering.

Under ett anrop till den här metoden SpeechSynthesizer kan du skapa följande händelser:

  • StateChanged. Upphöjt när taltillståndet för synteten ändras.

  • SpeakStarted. Upphöjt när synteten börjar generera tal.

  • PhonemeReached. Höjs varje gång synteten når en bokstav eller kombination av bokstäver som utgör ett diskret talljud på ett språk.

  • SpeakProgress. Upphöjt varje gång synteten är klar med att tala ett ord.

  • VisemeReached. Upphöjt varje gång talade utdata kräver en förändring i munnens position eller ansiktsmusklerna som används för att producera tal.

  • BookmarkReached. Utlöses när syntetiseraren stöter på ett bokmärke i en prompt.

  • VoiceChange. Upphöjt när talrösten för synteten ändras.

  • SpeakCompleted. Utlöses när synteten har slutfört bearbetningen av en SpeakSsmlAsync åtgärd.

Om ditt program inte behöver utföra uppgifter när du talar kan du använda Speak metoden eller SpeakSsml för att generera tal synkront.

Gäller för