Compartilhar via


SpeechSynthesizer.Speak Método

Definição

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

Sobrecargas

Speak(Prompt)

Fala assincronamente o conteúdo de um objeto Prompt.

Speak(PromptBuilder)

Fala assincronamente o conteúdo de um objeto PromptBuilder.

Speak(String)

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

Comentários

Os Speak métodos geram fala de forma síncrona. Os métodos não retornam até que o conteúdo da Speak instância tenha sido completamente falado. Essa é a maneira mais simples de gerar fala. No entanto, se o aplicativo precisar executar tarefas durante a fala, por exemplo, realçar texto, pintar animação, monitorar controles ou outras tarefas, use os SpeakAsync métodos ou o SpeakSsmlAsync método para gerar fala de forma assíncrona.

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 a fala de uma palavra.

  • VisemeReached. Gerado cada vez 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 falante do sintetizador é alterada.

O SpeechSynthesizer não aciona o evento durante o SpeakCompleted processamento de nenhum dos Speak métodos.

Speak(Prompt)

Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs

Fala assincronamente o conteúdo de um objeto Prompt.

public:
 void Speak(System::Speech::Synthesis::Prompt ^ prompt);
public void Speak (System.Speech.Synthesis.Prompt prompt);
member this.Speak : System.Speech.Synthesis.Prompt -> unit
Public Sub Speak (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 Speak método .

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

Comentários

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

Aplica-se a

Speak(PromptBuilder)

Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs

Fala assincronamente o conteúdo de um objeto PromptBuilder.

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

Parâmetros

promptBuilder
PromptBuilder

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 Speak método .

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

Comentários

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

Aplica-se a

Speak(String)

Origem:
SpeechSynthesizer.cs
Origem:
SpeechSynthesizer.cs

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

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

O texto para fala.

Exemplos

Conforme mostrado no exemplo a seguir, o Speak método fornece os meios mais simples para gerar a saída de fala de forma síncrona.

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

Comentários

Para falar de forma síncrona uma cadeia de caracteres que contém marcação SSML, use o SpeakSsml método . Para falar de forma assíncrona o conteúdo de uma cadeia de caracteres, use o SpeakAsync método .

Aplica-se a