Partilhar via


SpeechSynthesizer.SpeakSsmlAsync(String) Método

Definição

Fala de forma assíncrona um String que contém marcação 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

A marcação SMML a ser falada.

Retornos

O objeto que contém o conteúdo a ser falado.

Exceções

textToSpeaké null.

Exemplos

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

Esse método armazena na tarefa que retorna todas as exceções de não uso que o equivalente síncrono do método pode gerar. Se uma exceção for armazenada na tarefa retornada, essa exceção será gerada quando a tarefa for aguardada. Exceções de uso, como ArgumentException, ainda são geradas de forma síncrona. Para as exceções armazenadas, consulte as exceções geradas por SpeakSsml(String).

Comentários

O conteúdo do textToSpeak parâmetro deve incluir um speak elemento e deve estar em conformidade com o SSML (Speech Synthesis Markup Language) versão 1.0.

Para falar de forma síncrona uma cadeia de caracteres que contém marcação SSML, use o SpeakSsml método. Você pode usar SpeakAsync para iniciar a fala assíncrona de uma cadeia de caracteres que não contém marcação SSML.

Durante uma chamada para esse método, é SpeechSynthesizer possível gerar os seguintes eventos:

  • StateChanged. Gerado quando o estado de fala do sintetizador é alterado.

  • SpeakStarted. Gerado quando o sintetizador começa a gerar fala.

  • PhonemeReached. Gerado sempre que o sintetizador atinge uma letra ou combinação de letras que constituem um som discreto de fala em uma linguagem.

  • SpeakProgress. Gerado sempre que o sintetizador conclui a fala de uma palavra.

  • VisemeReached. Gerado cada vez que a saída falada requer uma mudança na posição da boca ou nos músculos faciais usados para produzir fala.

  • BookmarkReached. Gerado quando o sintetizador encontra um indicador em um prompt.

  • VoiceChange. Gerado quando a voz de fala do sintetizador é alterada.

  • SpeakCompleted. Gerado quando o sintetizador termina de processar uma SpeakSsmlAsync operação.

Se o aplicativo não precisar executar tarefas durante a fala, você poderá usar o Speak método ou SpeakSsml o método para gerar a fala de forma síncrona.

Aplica-se a