SpeechSynthesizer.SpeakSsmlAsync(String) Metodo

Definizione

In modo asincrono legge un String che contiene il markup 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

Parametri

textToSpeak
String

Il markup SMML da leggere a voce.

Restituisce

Oggetto contenente il contenuto da parlare.

Eccezioni

textToSpeak è null.

Esempio

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

Questo metodo archivia nell'attività che restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da SpeakSsml(String).

Commenti

Il contenuto del textToSpeak parametro deve includere un speak elemento e deve essere conforme al linguaggio SSML (Speech Synthesis Markup Language) versione 1.0. Per altre informazioni, vedere Informazioni di riferimento sul linguaggio di markup della sintesi vocale.

Per parlare in modo sincrono una stringa contenente il markup SSML, usare il SpeakSsml metodo . È possibile usare SpeakAsync per avviare il linguaggio asincrono di una stringa che non contiene markup SSML.

Durante una chiamata a questo metodo, è SpeechSynthesizer possibile generare gli eventi seguenti:

  • StateChanged. Generato quando lo stato di parlato del sintetizzatore cambia.

  • SpeakStarted. Generato quando il sintetizzatore inizia a generare la voce.

  • PhonemeReached. Generato ogni volta che il sintetizzatore raggiunge una lettera o una combinazione di lettere che costituiscono un suono discreto di voce in una lingua.

  • SpeakProgress. Generato ogni volta che il sintetizzatore completa la parola.

  • VisemeReached. Ogni volta che l'output parlato richiede un cambiamento nella posizione della bocca o dei muscoli facciali usati per produrre voce.

  • BookmarkReached. Generato quando il sintetizzatore rileva un segnalibro in una richiesta.

  • VoiceChange. Generato quando la voce parlante per il sintetizzatore cambia.

  • SpeakCompleted. Generato al termine dell'elaborazione di un'operazione SpeakSsmlAsync .

Se l'applicazione non deve eseguire attività durante la conversazione, è possibile usare Speak o il SpeakSsml metodo per generare la voce in modo sincrono.

Si applica a