SpeechSynthesizer.Speak Metod

Definition

Genererar talutdata synkront från en sträng, ett Prompt objekt eller ett PromptBuilder objekt.

Överlagringar

Name Description
Speak(Prompt)

Synkront talar innehållet i ett Prompt objekt.

Speak(PromptBuilder)

Synkront talar innehållet i ett PromptBuilder objekt.

Speak(String)

Synkront talar innehållet i en sträng.

Kommentarer

Metoderna Speak genererar tal synkront. Metoderna returneras inte förrän innehållet i instansen Speak har talats helt. Det här är det enklaste sättet att generera tal. Men om ditt program behöver utföra uppgifter medan du talar, till exempel markera text, måla animering, övervaka kontroller eller andra uppgifter, använder du SpeakAsync metoderna eller SpeakSsmlAsync metoden för att generera tal asynkront.

Under ett anrop till den här metoden SpeechSynthesizer kan du skapa följande händelser:

  • StateChanged. Upphöjt när taltillståndet för synteten ändras.

  • SpeakStarted. Upphöjt när synteten börjar generera tal.

  • PhonemeReached. Höjs varje gång synteten når en bokstav eller kombination av bokstäver som utgör ett diskret talljud på ett språk.

  • SpeakProgress. Upphöjt varje gång synteten är klar med att tala ett ord.

  • VisemeReached. Upphöjt varje gång talade utdata kräver en förändring i munnens position eller ansiktsmusklerna som används för att producera tal.

  • BookmarkReached. Utlöses när syntetiseraren stöter på ett bokmärke i en prompt.

  • VoiceChange. Upphöjt när talrösten för synteten ändras.

SpeechSynthesizer Genererar SpeakCompleted inte händelsen när någon av metoderna bearbetasSpeak.

Speak(Prompt)

Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs

Synkront talar innehållet i ett Prompt objekt.

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)

Parametrar

prompt
Prompt

Innehållet att tala.

Exempel

I följande exempel skapas ett Prompt objekt från en sträng och objektet skickas som ett argument till Speak metoden.

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

Kommentarer

Om du vill tala om innehållet i ett Prompt objekt asynkront använder du SpeakAsync.

Gäller för

Speak(PromptBuilder)

Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs

Synkront talar innehållet i ett PromptBuilder objekt.

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)

Parametrar

promptBuilder
PromptBuilder

Innehållet att tala.

Exempel

I följande exempel skapas ett PromptBuilder objekt från en sträng och objektet skickas som ett argument till Speak metoden.

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

Kommentarer

Om du vill tala om innehållet i ett PromptBuilder objekt asynkront använder du SpeakAsync.

Gäller för

Speak(String)

Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs
Källa:
SpeechSynthesizer.cs

Synkront talar innehållet i en sträng.

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

Parametrar

textToSpeak
String

Texten att tala.

Exempel

Som du ser i följande exempel Speak ger metoden det enklaste sättet att generera talutdata synkront.

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

Kommentarer

Använd metoden för att synkront tala en sträng som innehåller SSML-markering SpeakSsml . Använd metoden för att asynkront tala om innehållet i en sträng SpeakAsync .

Gäller för