Condividi tramite


SpeechSynthesizer.SpeakAsync Metodo

Definizione

Genera l'output vocale in modo asincrono da una stringa, un oggetto Prompt o un oggetto PromptBuilder.

Overload

SpeakAsync(Prompt)

In modo asincrono legge il contenuto di un oggetto di Prompt.

SpeakAsync(PromptBuilder)

In modo asincrono legge il contenuto di un oggetto di PromptBuilder.

SpeakAsync(String)

In modo asincrono legge il contenuto di una stringa.

Commenti

I SpeakAsync metodi generano la voce in modo asincrono. I metodi restituiscono immediatamente senza attendere che il contenuto dell'oggetto SpeakAsync finisca di parlare. Usare SpeakAsync se l'applicazione deve eseguire attività durante la pronuncia, ad esempio evidenziare testo, disegnare animazione, monitorare controlli o altre attività.

Durante una chiamata a questo metodo, può SpeechSynthesizer generare gli eventi seguenti:

  • StateChanged. Generato quando cambia lo stato di pronuncia del sintetizzatore.

  • SpeakStarted. Generato quando il sintetizzatore inizia a generare il parlato.

  • PhonemeReached. Generato ogni volta che il sintetizzatore raggiunge una lettera o una combinazione di lettere che costituiscono un suono discreto del parlato in una lingua.

  • SpeakProgress. Generato ogni volta che il sintetizzatore completa la pronuncia di una parola.

  • VisemeReached. Generato ogni volta che l'output parlato richiede un cambiamento nella posizione della bocca o dei muscoli facciali usati per produrre il parlato.

  • BookmarkReached. Generato quando il sintetizzatore rileva un segnalibro in un prompt.

  • VoiceChange. Generato quando cambia la voce parlante per il sintetizzatore.

  • SpeakCompleted. Generato al termine di un'operazione da parte SpeakAsync del sintetizzatore.

Se l'applicazione non deve eseguire attività durante la pronuncia, è possibile usare i Speak metodi o il SpeakSsml metodo per generare la voce in modo sincrono.

SpeakAsync(Prompt)

Origine:
SpeechSynthesizer.cs
Origine:
SpeechSynthesizer.cs
Origine:
SpeechSynthesizer.cs

In modo asincrono legge il contenuto di un oggetto di Prompt.

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)

Parametri

prompt
Prompt

Il contenuto da leggere a voce.

Esempio

Nell'esempio seguente viene creato un Prompt oggetto da una stringa e viene passato l'oggetto come argomento al SpeakAsync metodo .

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

Commenti

È possibile annullare la pronuncia asincrona di un prompt con o SpeakAsyncCancel il SpeakAsyncCancelAll metodo .

Per pronunciare in modo sincrono il contenuto di un Prompt oggetto , usare Speak.

Questo metodo archivia nell'attività restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Speak(Prompt).

Si applica a

SpeakAsync(PromptBuilder)

Origine:
SpeechSynthesizer.cs
Origine:
SpeechSynthesizer.cs
Origine:
SpeechSynthesizer.cs

In modo asincrono legge il contenuto di un oggetto di PromptBuilder.

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

Parametri

promptBuilder
PromptBuilder

Il contenuto da leggere a voce.

Restituisce

Oggetto che contiene il contenuto da pronunciare.

Esempio

Nell'esempio seguente viene creato un PromptBuilder oggetto da una stringa e viene passato l'oggetto come argomento al SpeakAsync metodo .

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

Questo metodo archivia nell'attività restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Speak(PromptBuilder).

Commenti

Per pronunciare in modo sincrono il contenuto di un PromptBuilder oggetto , usare Speak.

Si applica a

SpeakAsync(String)

Origine:
SpeechSynthesizer.cs
Origine:
SpeechSynthesizer.cs
Origine:
SpeechSynthesizer.cs

In modo asincrono legge il contenuto di una stringa.

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

Parametri

textToSpeak
String

Testo da leggere a voce.

Restituisce

Oggetto che contiene il contenuto da pronunciare.

Esempio

Come illustrato nell'esempio seguente, il SpeakAsync metodo fornisce i mezzi più semplici per generare l'output vocale in modo asincrono.

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

Commenti

Per pronunciare in modo asincrono una stringa che contiene markup SSML, usare il SpeakSsmlAsync metodo . Per pronunciare in modo sincrono il contenuto di una stringa, usare il Speak metodo . È possibile annullare la pronuncia asincrona di un prompt con o SpeakAsyncCancel il SpeakAsyncCancelAll metodo .

Questo metodo archivia nell'attività restituisce tutte le eccezioni non di utilizzo che la controparte sincrona del metodo può generare. Se un'eccezione viene archiviata nell'attività restituita, tale eccezione verrà generata quando l'attività è attesa. Le eccezioni di utilizzo, ad esempio ArgumentException, vengono comunque generate in modo sincrono. Per le eccezioni archiviate, vedere le eccezioni generate da Speak(String).

Vedi anche

Si applica a