SpeechSynthesizer.SpeakAsync Metoda

Definicja

Generuje dane wyjściowe mowy asynchronicznie z ciągu, Prompt obiektu lub PromptBuilder obiektu.

Przeciążenia

SpeakAsync(Prompt)

Asynchronicznie mówi zawartość Prompt obiektu.

SpeakAsync(PromptBuilder)

Asynchronicznie mówi zawartość PromptBuilder obiektu.

SpeakAsync(String)

Asynchronicznie mówi zawartość ciągu.

Uwagi

Metody SpeakAsync generują asynchronicznie mowę. Metody są zwracane natychmiast bez oczekiwania na zakończenie mówienia zawartości SpeakAsync obiektu. Jeśli SpeakAsync aplikacja musi wykonywać zadania podczas mówienia, na przykład wyróżniać tekst, malować animację, kontrolki monitora lub inne zadania.

Podczas wywołania tej metody SpeechSynthesizer program może zgłaszać następujące zdarzenia:

  • StateChanged. Podniesione, gdy stan mówienia syntetyzatora zmienia się.

  • SpeakStarted. Podniesione, gdy syntetyzator zaczyna generować mowę.

  • PhonemeReached. Podniesiony za każdym razem, gdy syntetyzator osiąga literę lub kombinację liter, które stanowią dyskretny dźwięk mowy w języku.

  • SpeakProgress. Podniesione za każdym razem syntetyzator kończy mówi słowo.

  • VisemeReached. Podniesione za każdym razem, gdy mówione dane wyjściowe wymagają zmiany pozycji ust lub mięśni twarzy używanych do produkcji mowy.

  • BookmarkReached. Podniesione, gdy syntetyzator napotka zakładkę w wierszu polecenia.

  • VoiceChange. Podniesione, gdy głos przemawiający do syntetyzatora się zmienia.

  • SpeakCompleted. Podniesione, gdy syntetyzator zakończy operację SpeakAsync .

Jeśli aplikacja nie musi wykonywać zadań podczas mówienia, możesz użyć Speak metod lub SpeakSsml metody do synchronicznego generowania mowy.

SpeakAsync(Prompt)

Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs

Asynchronicznie mówi zawartość Prompt obiektu.

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)

Parametry

prompt
Prompt

Zawartość do mówienia.

Przykłady

Poniższy przykład tworzy Prompt obiekt z ciągu i przekazuje obiekt jako argument do SpeakAsync metody.

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

Uwagi

Możesz anulować asynchroniczną rozmowę z monitem za pomocą SpeakAsyncCancel metody lub SpeakAsyncCancelAll .

Aby synchronicznie mówić zawartość Prompt obiektu, użyj polecenia Speak.

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Speak(Prompt)usługę .

Dotyczy

SpeakAsync(PromptBuilder)

Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs

Asynchronicznie mówi zawartość PromptBuilder obiektu.

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

Parametry

promptBuilder
PromptBuilder

Zawartość do mówienia.

Zwraca

Obiekt zawierający zawartość do mówienia.

Przykłady

Poniższy przykład tworzy PromptBuilder obiekt z ciągu i przekazuje obiekt jako argument do SpeakAsync metody.

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

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Speak(PromptBuilder)usługę .

Uwagi

Aby synchronicznie mówić zawartość PromptBuilder obiektu, użyj polecenia Speak.

Dotyczy

SpeakAsync(String)

Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs
Źródło:
SpeechSynthesizer.cs

Asynchronicznie mówi zawartość ciągu.

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

Parametry

textToSpeak
String

Tekst do mówienia.

Zwraca

Obiekt zawierający zawartość do mówienia.

Przykłady

Jak pokazano w poniższym przykładzie, SpeakAsync metoda zapewnia najprostsze metody generowania danych wyjściowych mowy asynchronicznie.

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

Uwagi

Aby asynchronicznie mówić ciąg zawierający znacznikI SSML, użyj SpeakSsmlAsync metody . Aby synchronicznie mówić zawartość ciągu, użyj Speak metody . Możesz anulować asynchroniczną rozmowę z monitem za pomocą SpeakAsyncCancel metody lub SpeakAsyncCancelAll .

Ta metoda przechowuje w zadaniu wszystkie wyjątki inne niż użycie, które mogą zgłaszać synchroniczna odpowiednik metody. Jeśli wyjątek jest przechowywany w zwróconym zadaniu, ten wyjątek zostanie zgłoszony po oczekiwaniu na zadanie. Wyjątki użycia, takie jak ArgumentException, są nadal zgłaszane synchronicznie. Aby uzyskać informacje o przechowywanych wyjątkach, zobacz wyjątki zgłaszane przez Speak(String)usługę .

Zobacz też

Dotyczy