SpeechSynthesizer.SpeakAsync Método

Definição

Gera saída de voz assíncrona a partir de uma cadeia, um Prompt objeto ou um PromptBuilder objeto.

Sobrecargas

Name Description
SpeakAsync(Prompt)

Fala assíncronamente o conteúdo de um Prompt objeto.

SpeakAsync(PromptBuilder)

Fala assíncronamente o conteúdo de um PromptBuilder objeto.

SpeakAsync(String)

Fala assíncronamente o conteúdo de uma cadeia.

Observações

Os SpeakAsync métodos geram fala de forma assíncrona. Os métodos regressam imediatamente, sem esperar que o conteúdo do SpeakAsync objeto termine de falar. Use SpeakAsync se a sua aplicação precisar de realizar tarefas enquanto fala, por exemplo, destacar texto, pintar animação, controlar o monitor ou outras tarefas.

Durante uma chamada para este método, podem SpeechSynthesizer levantar os seguintes eventos:

  • StateChanged. Levanta-se quando o estado de fala do sintetizador muda.

  • SpeakStarted. Eleva-se quando o sintetizador começa a gerar fala.

  • PhonemeReached. Eleva-se cada vez que o sintetizador alcança uma letra ou combinação de letras que constituem um som discreto de fala numa língua.

  • SpeakProgress. Eleva-se cada vez que o sintetizador termina de pronunciar uma palavra.

  • VisemeReached. Elevado cada vez que a saída falada exige uma alteração na posição da boca ou dos músculos faciais usados para produzir a fala.

  • BookmarkReached. Aumenta quando o sintetizador encontra um marcador num prompt.

  • VoiceChange. Eleva-se quando a voz falada do sintetizador muda.

  • SpeakCompleted. Levanta-se quando o sintetizador termina uma SpeakAsync operação.

Se a sua aplicação não precisar de realizar tarefas enquanto fala, pode usar os Speak métodos ou o SpeakSsml método para gerar fala de forma síncrona.

SpeakAsync(Prompt)

Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs

Fala assíncronamente o conteúdo de um Prompt objeto.

public:
 void SpeakAsync(System::Speech::Synthesis::Prompt ^ prompt);
public void SpeakAsync(System.Speech.Synthesis.Prompt prompt);
member this.SpeakAsync : System.Speech.Synthesis.Prompt -> unit
Public Sub SpeakAsync (prompt As Prompt)

Parâmetros

prompt
Prompt

O conteúdo para falar.

Exemplos

O exemplo seguinte cria um Prompt objeto a partir de uma cadeia e passa o objeto como argumento ao SpeakAsync método.

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

      // Create a prompt from a string.
      Prompt color = new Prompt("What is your favorite color?");

      // Speak the contents of the prompt asynchronously.
      synth.SpeakAsync(color);

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}

Observações

Pode cancelar a fala assíncrona de um prompt com o SpeakAsyncCancel ou o SpeakAsyncCancelAll método.

Para falar síncronicamente o conteúdo de um Prompt objeto, use Speak.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Speak(Prompt).

Aplica-se a

SpeakAsync(PromptBuilder)

Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs

Fala assíncronamente o conteúdo de um PromptBuilder objeto.

public:
 System::Speech::Synthesis::Prompt ^ SpeakAsync(System::Speech::Synthesis::PromptBuilder ^ promptBuilder);
public System.Speech.Synthesis.Prompt SpeakAsync(System.Speech.Synthesis.PromptBuilder promptBuilder);
member this.SpeakAsync : System.Speech.Synthesis.PromptBuilder -> System.Speech.Synthesis.Prompt
Public Function SpeakAsync (promptBuilder As PromptBuilder) As Prompt

Parâmetros

promptBuilder
PromptBuilder

O conteúdo para falar.

Devoluções

O objeto que contém o conteúdo para falar.

Exemplos

O exemplo seguinte cria um PromptBuilder objeto a partir de uma cadeia e passa o objeto como argumento ao SpeakAsync método.

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

      // Create a PromptBuilder object and append a text string.
      PromptBuilder song = new PromptBuilder();
      song.AppendText("Say the name of the song you want to hear");

      // Speak the contents of the prompt asynchronously.
      synth.SpeakAsync(song);

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Speak(PromptBuilder).

Observações

Para falar síncronicamente o conteúdo de um PromptBuilder objeto, use Speak.

Aplica-se a

SpeakAsync(String)

Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs

Fala assíncronamente o conteúdo de uma cadeia.

public:
 System::Speech::Synthesis::Prompt ^ SpeakAsync(System::String ^ textToSpeak);
public System.Speech.Synthesis.Prompt SpeakAsync(string textToSpeak);
member this.SpeakAsync : string -> System.Speech.Synthesis.Prompt
Public Function SpeakAsync (textToSpeak As String) As Prompt

Parâmetros

textToSpeak
String

A mensagem para falar.

Devoluções

O objeto que contém o conteúdo para falar.

Exemplos

Como mostrado no exemplo seguinte, o SpeakAsync método fornece o meio mais simples de gerar saída de voz de forma assíncrona.

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

      // Speak a string asynchronously.
      synth.SpeakAsync("What is your favorite color?");

      Console.WriteLine();
      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();
    }
  }
}

Observações

Para falar assíncronamente uma string que contenha marcação SSML, use o SpeakSsmlAsync método. Para falar sincronizadamente o conteúdo de uma cadeia, use o Speak método. Pode cancelar a fala assíncrona de um prompt com o SpeakAsyncCancel ou o SpeakAsyncCancelAll método.

Este método armazena na tarefa que devolve todas as exceções de não-utilização que o equivalente síncrono do método pode lançar. Se uma exceção for armazenada na tarefa devolvida, essa exceção será lançada quando a tarefa for aguardada. As exceções de uso, como ArgumentException, ainda são lançadas de forma síncrona. Para as exceções armazenadas, veja as exceções lançadas por Speak(String).

Ver também

Aplica-se a