SpeechSynthesizer.SpeakSsmlAsync(String) Método

Definición

De forma asincrónica habla un String que contiene el marcado 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

Parámetros

textToSpeak
String

El marcado de SMML para hablar.

Devoluciones

Objeto que contiene el contenido que se va a hablar.

Excepciones

El valor de textToSpeak es null.

Ejemplos

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

Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, se producirá esa excepción cuando se espere la tarea. Las excepciones de uso, como ArgumentException, se siguen iniciando de forma sincrónica. Para ver las excepciones almacenadas, consulte las excepciones producidas por SpeakSsml(String).

Comentarios

El contenido del textToSpeak parámetro debe incluir un speak elemento y debe ajustarse a la versión 1.0 del lenguaje de marcado de síntesis de voz (SSML). Para más información, consulte Referencia del lenguaje de marcado de síntesis de voz.

Para hablar de forma sincrónica una cadena que contiene el marcado SSML, use el SpeakSsml método . Puede usar SpeakAsync para iniciar el habla asincrónica de una cadena que no contiene marcado SSML.

Durante una llamada a este método, SpeechSynthesizer puede generar los siguientes eventos:

  • StateChanged. Se genera cuando cambia el estado de habla del sintetizador.

  • SpeakStarted. Se genera cuando el sintetizador comienza a generar voz.

  • PhonemeReached. Elevado cada vez que el sintetizador alcanza una letra o combinación de letras que constituyen un sonido discreto de voz en un idioma.

  • SpeakProgress. Se genera cada vez que el sintetizador completa hablando una palabra.

  • VisemeReached. Cada vez que la salida hablada requiere un cambio en la posición de la boca o los músculos faciales usados para producir voz.

  • BookmarkReached. Se genera cuando el sintetizador encuentra un marcador en un mensaje.

  • VoiceChange. Se genera cuando cambia la voz de habla para el sintetizador.

  • SpeakCompleted. Se genera cuando el sintetizador termina de procesar una SpeakSsmlAsync operación.

Si la aplicación no necesita realizar tareas mientras habla, puede usar el Speak método o SpeakSsml para generar voz de forma sincrónica.

Se aplica a