SpeechSynthesizer.Speak SpeechSynthesizer.Speak SpeechSynthesizer.Speak SpeechSynthesizer.Speak Method

Definición

Genera voz emitida de forma sincrónica desde una cadena, un objeto Prompt o un objeto PromptBuilder.Generates speech output synchronously from a string, a Prompt object, or a PromptBuilder object.

Sobrecargas

Speak(Prompt) Speak(Prompt) Speak(Prompt)

De forma sincrónica habla el contenido de un objeto Prompt.Synchronously speaks the contents of a Prompt object.

Speak(PromptBuilder) Speak(PromptBuilder) Speak(PromptBuilder)

De forma sincrónica habla el contenido de un objeto PromptBuilder.Synchronously speaks the contents of a PromptBuilder object.

Speak(String) Speak(String) Speak(String) Speak(String)

De forma sincrónica habla el contenido de una cadena.Synchronously speaks the contents of a string.

Comentarios

Los Speak métodos generan voz sincrónicamente.The Speak methods generate speech synchronously. Los métodos no devuelven hasta que el contenido Speak de la instancia se ha hablado por completo.The methods do not return until the content of the Speak instance has been completely spoken. Esta es la manera más sencilla de generar voz.This is the simplest way to generate speech. Sin embargo, si la aplicación necesita realizar tareas mientras habla, por ejemplo resaltar texto, animación de Paint, controles de supervisión u otras tareas, SpeakAsync use los métodos SpeakSsmlAsync o el método para generar voz de forma asincrónica.However, if your application needs to perform tasks while speaking, for example highlight text, paint animation, monitor controls, or other tasks, use the SpeakAsync methods or the SpeakSsmlAsync method to generate speech asynchronously.

Durante una llamada a este método, SpeechSynthesizer puede generar los eventos siguientes:During a call to this method, the SpeechSynthesizer can raise the following events:

  • StateChanged.StateChanged. Se genera cuando cambia el estado de habla del sintetizador.Raised when the speaking state of the synthesizer changes.

  • SpeakStarted.SpeakStarted. Se genera cuando el sintetizador comienza a generar voz.Raised when the synthesizer begins generating speech.

  • PhonemeReached.PhonemeReached. Se produce cada vez que el sintetizador alcanza una letra o una combinación de letras que constituye un sonido discreto de voz en un idioma.Raised each time the synthesizer reaches a letter or combination of letters that constitute a discreet sound of speech in a language.

  • SpeakProgress.SpeakProgress. Se produce cada vez que el sintetizador finaliza la voz de una palabra.Raised each time the synthesizer completes speaking a word.

  • VisemeReached.VisemeReached. Se genera cada vez que la salida hablada requiere un cambio en la posición de la boca o los músculos faciales utilizados para generar la voz.Raised each time spoken output requires a change in the position of the mouth or the facial muscles used to produce speech.

  • BookmarkReached.BookmarkReached. Se genera cuando el sintetizador encuentra un marcador en un símbolo del sistema.Raised when the synthesizer encounters a bookmark in a prompt.

  • VoiceChange.VoiceChange. Se genera cuando la voz de habla del sintetizador cambia.Raised when the speaking voice for the synthesizer changes.

No genera el SpeakCompleted evento mientras se procesa cualquiera de los Speak métodos. SpeechSynthesizerThe SpeechSynthesizer does not raise the SpeakCompleted event while processing any of the Speak methods.

Speak(Prompt) Speak(Prompt) Speak(Prompt)

De forma sincrónica habla el contenido de un objeto Prompt.Synchronously speaks the contents of a Prompt object.

public:
 void Speak(System::Speech::Synthesis::Prompt ^ prompt);
public void Speak (System.Speech.Synthesis.Prompt prompt);
member this.Speak : System.Speech.Synthesis.Prompt -> unit

Parámetros

prompt
Prompt Prompt Prompt Prompt

El contenido para hablar.The content to speak.

Ejemplos

En el ejemplo siguiente Prompt Speak se crea un objeto a partir de una cadena y se pasa el objeto como argumento al método.The following example creates a Prompt object from a string and passes the object as an argument to the Speak method.

using System;  
using System.Speech.Synthesis;  

namespace SampleSynthesis  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Initialize a new instance of the SpeechSynthesizer.  
      using (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 synchronously.  
        synth.Speak(color);  
      }  

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

Comentarios

Para leer de forma asincrónica el contenido Prompt de un objeto SpeakAsync, use.To asynchronously speak the contents of a Prompt object, use SpeakAsync.

Speak(PromptBuilder) Speak(PromptBuilder) Speak(PromptBuilder)

De forma sincrónica habla el contenido de un objeto PromptBuilder.Synchronously speaks the contents of a PromptBuilder object.

public:
 void Speak(System::Speech::Synthesis::PromptBuilder ^ promptBuilder);
public void Speak (System.Speech.Synthesis.PromptBuilder promptBuilder);
member this.Speak : System.Speech.Synthesis.PromptBuilder -> unit

Parámetros

promptBuilder
PromptBuilder PromptBuilder PromptBuilder PromptBuilder

El contenido para hablar.The content to speak.

Ejemplos

En el ejemplo siguiente PromptBuilder Speak se crea un objeto a partir de una cadena y se pasa el objeto como argumento al método.The following example creates a PromptBuilder object from a string and passes the object as an argument to the Speak method.

using System;  
using System.Speech.Synthesis;  

namespace SampleSynthesis  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Initialize a new instance of the SpeechSynthesizer.  
      using (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 synchronously.  
        synth.Speak(song);  
      }  

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

Comentarios

Para leer de forma asincrónica el contenido PromptBuilder de un objeto SpeakAsync, use.To asynchronously speak the contents of a PromptBuilder object, use SpeakAsync.

Speak(String) Speak(String) Speak(String) Speak(String)

De forma sincrónica habla el contenido de una cadena.Synchronously speaks the contents of a string.

public:
 void Speak(System::String ^ textToSpeak);
public void Speak (string textToSpeak);
member this.Speak : string -> unit
Public Sub Speak (textToSpeak As String)

Parámetros

textToSpeak
String String String String

Texto para hablar.The text to speak.

Ejemplos

Como se muestra en el ejemplo siguiente, Speak el método proporciona los medios más sencillos para generar la salida de voz sincrónicamente.As shown in the following example, the Speak method provides the simplest means to generate speech output synchronously.

using System;  
using System.Speech.Synthesis;  

namespace SampleSynthesis  
{  
  class Program  
  {  
    static void Main(string[] args)  
    {  

      // Initialize a new instance of the SpeechSynthesizer.  
      using (SpeechSynthesizer synth = new SpeechSynthesizer())  
      {  

        // Configure the audio output.   
        synth.SetOutputToDefaultAudioDevice();  

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

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

Comentarios

Para hablar sincrónicamente de una cadena que contiene marcado SSML SpeakSsml , use el método.To synchronously speak a string that contains SSML markup, use the SpeakSsml method. Para leer de forma asincrónica el contenido de una cadena, SpeakAsync use el método.To asynchronously speak the contents of a string, use the SpeakAsync method.

Se aplica a