SpeechSynthesizer.SpeakAsync Metod

Definition

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

Överlagringar

Name Description
SpeakAsync(Prompt)

Asynkront talar innehållet i ett Prompt objekt.

SpeakAsync(PromptBuilder)

Asynkront talar innehållet i ett PromptBuilder objekt.

SpeakAsync(String)

Asynkront talar innehållet i en sträng.

Kommentarer

Metoderna SpeakAsync genererar tal asynkront. Metoderna returnerar omedelbart utan att vänta på att innehållet i SpeakAsync objektet ska slutföras. Använd SpeakAsync om ditt program behöver utföra uppgifter medan du talar, till exempel markera text, måla animering, övervaka kontroller eller andra uppgifter.

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.

  • SpeakCompleted. Utlöses när synteten har slutfört en SpeakAsync åtgärd.

Om programmet inte behöver utföra uppgifter när du talar kan du använda Speak metoderna eller SpeakSsml metoden för att generera tal synkront.

SpeakAsync(Prompt)

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

Asynkront talar innehållet i ett Prompt objekt.

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)

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 SpeakAsync metoden.

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

Kommentarer

Du kan avbryta asynkront tal om en fråga med SpeakAsyncCancel metoden eller SpeakAsyncCancelAll .

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

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Speak(Prompt).

Gäller för

SpeakAsync(PromptBuilder)

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

Asynkront talar innehållet i ett PromptBuilder objekt.

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

Parametrar

promptBuilder
PromptBuilder

Innehållet att tala.

Returer

Objektet som innehåller innehållet som ska visas.

Exempel

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

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

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Speak(PromptBuilder).

Kommentarer

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

Gäller för

SpeakAsync(String)

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

Asynkront talar innehållet i en sträng.

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

Parametrar

textToSpeak
String

Texten att tala.

Returer

Objektet som innehåller innehållet som ska visas.

Exempel

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

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

Kommentarer

Använd metoden för att asynkront tala om en sträng som innehåller SSML-markering SpeakSsmlAsync . Använd metoden för att synkront tala om innehållet i en sträng Speak . Du kan avbryta asynkront tal om en fråga med SpeakAsyncCancel metoden eller SpeakAsyncCancelAll .

Den här metoden lagrar i aktiviteten som returnerar alla undantag som inte används som metodens synkrona motsvarighet kan utlösa. Om ett undantag lagras i den returnerade aktiviteten utlöses undantaget när aktiviteten väntar. Användningsfel, till exempel ArgumentException, genereras fortfarande synkront. De lagrade undantagen finns i undantagen som genereras av Speak(String).

Se även

Gäller för