SpeechSynthesizer.SpeakAsync Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Genera voz emitida de forma asincrónica desde una cadena, un objeto Prompt o un objeto PromptBuilder.
Sobrecargas
SpeakAsync(Prompt) |
De forma asincrónica habla el contenido de un objeto Prompt. |
SpeakAsync(PromptBuilder) |
De forma asincrónica habla el contenido de un objeto PromptBuilder. |
SpeakAsync(String) |
De forma asincrónica habla 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 supervisión 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. Elevado 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 termina de hablar una palabra.
VisemeReached. 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 mensaje.
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
De forma asincrónica habla el contenido de un objeto Prompt.
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
El contenido para 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 mensaje con el SpeakAsyncCancel método o SpeakAsyncCancelAll .
Para hablar sincrónicamente el contenido de un Prompt objeto, use Speak.
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Speak(Prompt).
Se aplica a
SpeakAsync(PromptBuilder)
- Source:
- SpeechSynthesizer.cs
- Source:
- SpeechSynthesizer.cs
De forma asincrónica habla el contenido de un objeto PromptBuilder.
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
El contenido para 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 que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea 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
De forma asincrónica habla 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 para 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 mensaje con el SpeakAsyncCancel método o SpeakAsyncCancelAll .
Este método almacena en la tarea que devuelve todas las excepciones que no son de uso que puede producir el homólogo sincrónico del método. Si se almacena una excepción en la tarea devuelta, esa excepción se producirá cuando se espere a la tarea. Las excepciones de uso, como ArgumentException, se siguen produciendo de forma sincrónica. Para ver las excepciones almacenadas, vea las excepciones producidas por Speak(String).