Partilhar via


SpeechSynthesizer.SpeakSsmlAsync(String) Método

Definição

Fala de forma síncrona uma 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 para falar.

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 obter mais informações, consulte Referência da linguagem de marcação de síntese de fala.

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, o SpeechSynthesizer pode 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 falando uma palavra.

  • VisemeReached. Gerado sempre 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 para o sintetizador é alterada.

  • SpeakCompleted. Gerado quando o sintetizador conclui o processamento de uma SpeakSsmlAsync operação.

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

Aplica-se a