Compartilhar via


SpeechSynthesizer.SpeakAsync Método

Definição

Gera a saída de fala de forma assíncrona de uma cadeia de caracteres, um objeto Prompt ou um objeto PromptBuilder.

Sobrecargas

SpeakAsync(Prompt)

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

SpeakAsync(PromptBuilder)

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

SpeakAsync(String)

Fala assincronamente o conteúdo de uma cadeia de caracteres.

Comentários

Os SpeakAsync métodos geram fala de forma assíncrona. Os métodos retornam imediatamente sem esperar que o conteúdo do objeto termine de SpeakAsync falar. Use SpeakAsync se o aplicativo precisar executar tarefas durante a fala, por exemplo, realçar texto, animação de pintura, monitorar controles ou outras tarefas.

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 uma SpeakAsync operação.

Se o aplicativo não precisar executar tarefas durante a fala, você poderá 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

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

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 a ser falado.

Exemplos

O exemplo a seguir cria um Prompt objeto de uma cadeia de caracteres e passa o objeto como um argumento para o 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();
    }
  }
}

Comentários

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

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

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 Speak(Prompt).

Aplica-se a

SpeakAsync(PromptBuilder)

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

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

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 a ser falado.

Retornos

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

Exemplos

O exemplo a seguir cria um PromptBuilder objeto de uma cadeia de caracteres e passa o objeto como um argumento para o 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();
    }
  }
}

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 Speak(PromptBuilder).

Comentários

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

Aplica-se a

SpeakAsync(String)

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

Fala assincronamente o conteúdo de uma cadeia de caracteres.

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

O texto para fala.

Retornos

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

Exemplos

Conforme mostrado no exemplo a seguir, o SpeakAsync método fornece os meios mais simples para gerar saída de fala 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();
    }
  }
}

Comentários

Para falar de forma assíncrona uma cadeia de caracteres que contém marcação SSML, use o SpeakSsmlAsync método . Para falar de forma síncrona o conteúdo de uma cadeia de caracteres, use o Speak método . Você pode cancelar a fala assíncrona de um prompt com o SpeakAsyncCancel método ou SpeakAsyncCancelAll .

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 Speak(String).

Confira também

Aplica-se a