SpeechSynthesizer.SpeakAsync Método

Definición

Genera la salida de voz de forma asincrónica a partir de una cadena, un Prompt objeto o un PromptBuilder objeto .

Sobrecargas

Nombre Description
SpeakAsync(Prompt)

Habla asincrónicamente el contenido de un Prompt objeto.

SpeakAsync(PromptBuilder)

Habla asincrónicamente el contenido de un PromptBuilder objeto.

SpeakAsync(String)

Habla asincrónicamente el contenido de una cadena.

Comentarios

Los SpeakAsync métodos generan voz de forma asincrónica. Los métodos devuelven inmediatamente sin esperar a que el contenido del SpeakAsync objeto termine de hablar. Use SpeakAsync si la aplicación necesita realizar tareas mientras habla, por ejemplo, resaltar texto, animación de pintura, controles de monitor u otras tareas.

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. Se genera 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. Se eleva 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 símbolo del sistema.

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

  • SpeakCompleted. Se genera cuando el sintetizador finaliza una SpeakAsync operación.

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

SpeakAsync(Prompt)

Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs

Habla asincrónicamente el contenido de un 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

Contenido que se va a hablar.

Ejemplos

En el ejemplo siguiente se crea un Prompt objeto a partir de una cadena y se pasa el objeto como argumento al 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();
    }
  }
}

Comentarios

Puede cancelar el habla asincrónica de un símbolo del sistema con o SpeakAsyncCancel el SpeakAsyncCancelAll método .

Para hablar sincrónicamente el contenido de un Prompt objeto, use Speak.

Este método almacena en la tarea que devuelve todas las excepciones de no 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, todavía se producen sincrónicamente. Para las excepciones almacenadas, consulte las excepciones producidas por Speak(Prompt).

Se aplica a

SpeakAsync(PromptBuilder)

Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs

Habla asincrónicamente el contenido de un 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

Contenido que se va a hablar.

Devoluciones

Objeto que contiene el contenido que se va a hablar.

Ejemplos

En el ejemplo siguiente se crea un PromptBuilder objeto a partir de una cadena y se pasa el objeto como argumento al 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 almacena en la tarea que devuelve todas las excepciones de no 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, todavía se producen sincrónicamente. Para las excepciones almacenadas, consulte las excepciones producidas por Speak(PromptBuilder).

Comentarios

Para hablar sincrónicamente el contenido de un PromptBuilder objeto, use Speak.

Se aplica a

SpeakAsync(String)

Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs

Habla asincrónicamente el contenido de una cadena.

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

Texto que se va a hablar.

Devoluciones

Objeto que contiene el contenido que se va a hablar.

Ejemplos

Como se muestra en el ejemplo siguiente, el SpeakAsync método proporciona los medios más sencillos para generar la salida de voz de forma asincrónica.

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

Comentarios

Para hablar asincrónicamente una cadena que contiene el marcado SSML, use el SpeakSsmlAsync método . Para hablar sincrónicamente el contenido de una cadena, use el Speak método . Puede cancelar el habla asincrónica de un símbolo del sistema con o SpeakAsyncCancel el SpeakAsyncCancelAll método .

Este método almacena en la tarea que devuelve todas las excepciones de no 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, todavía se producen sincrónicamente. Para las excepciones almacenadas, consulte las excepciones producidas por Speak(String).

Consulte también

Se aplica a