Partager via


SpeechSynthesizer.SpeakAsync Méthode

Définition

Génère une sortie vocale de façon asynchrone à partir d'une chaîne, un objet de Prompt , ou un objet de PromptBuilder.

Surcharges

SpeakAsync(Prompt)

Énonce de façon asynchrone le contenu d'un objet Prompt.

SpeakAsync(PromptBuilder)

Énonce de façon asynchrone le contenu d'un objet PromptBuilder.

SpeakAsync(String)

Énonce de façon asynchrone le contenu d'une chaîne.

Remarques

Les SpeakAsync méthodes génèrent la parole de manière asynchrone. Les méthodes retournent immédiatement sans attendre que le contenu de l’objet SpeakAsync finisse de parler. Utilisez SpeakAsync si votre application doit effectuer des tâches tout en parlant, par exemple mettre en surbrillance du texte, peindre une animation, surveiller des contrôles ou d’autres tâches.

Lors d’un appel à cette méthode, le SpeechSynthesizer peut déclencher les événements suivants :

  • StateChanged. Déclenché lorsque l’état de parole du synthétiseur change.

  • SpeakStarted. Déclenché lorsque le synthétiseur commence à générer de la parole.

  • PhonemeReached. Levée chaque fois que le synthétiseur atteint une lettre ou une combinaison de lettres qui constituent un son discret de parole dans une langue.

  • SpeakProgress. Levée chaque fois que le synthétiseur termine de prononcer un mot.

  • VisemeReached. Chaque fois que la sortie parlée nécessite une modification de la position de la bouche ou des muscles faciaux utilisés pour produire la parole.

  • BookmarkReached. Déclenché lorsque le synthétiseur rencontre un signet dans une invite.

  • VoiceChange. Déclenché lorsque la voix vocale du synthétiseur change.

  • SpeakCompleted. Déclenché lorsque le synthétiseur termine une SpeakAsync opération.

Si votre application n’a pas besoin d’effectuer des tâches tout en parlant, vous pouvez utiliser les Speak méthodes ou la méthode pour générer la SpeakSsml parole de manière synchrone.

SpeakAsync(Prompt)

Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs

Énonce de façon asynchrone le contenu d'un objet 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)

Paramètres

prompt
Prompt

Contenu à lire.

Exemples

L’exemple suivant crée un Prompt objet à partir d’une chaîne et passe l’objet en tant qu’argument à la SpeakAsync méthode .

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

Remarques

Vous pouvez annuler le discours asynchrone d’une invite avec la SpeakAsyncCancel méthode ou SpeakAsyncCancelAll .

Pour parler de manière synchrone du contenu d’un Prompt objet, utilisez Speak.

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception sera levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour connaître les exceptions stockées, consultez les exceptions levées par Speak(Prompt).

S’applique à

SpeakAsync(PromptBuilder)

Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs

Énonce de façon asynchrone le contenu d'un objet 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

Paramètres

promptBuilder
PromptBuilder

Contenu à lire.

Retours

Objet qui contient le contenu à parler.

Exemples

L’exemple suivant crée un PromptBuilder objet à partir d’une chaîne et passe l’objet en tant qu’argument à la SpeakAsync méthode .

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

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception sera levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour connaître les exceptions stockées, consultez les exceptions levées par Speak(PromptBuilder).

Remarques

Pour parler de manière synchrone du contenu d’un PromptBuilder objet, utilisez Speak.

S’applique à

SpeakAsync(String)

Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs
Source:
SpeechSynthesizer.cs

Énonce de façon asynchrone le contenu d'une chaîne.

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

Paramètres

textToSpeak
String

Texte à lire.

Retours

Objet qui contient le contenu à parler.

Exemples

Comme le montre l’exemple suivant, la SpeakAsync méthode fournit le moyen le plus simple de générer une sortie vocale de manière asynchrone.

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

Remarques

Pour parler de manière asynchrone une chaîne qui contient le balisage SSML, utilisez la SpeakSsmlAsync méthode . Pour parler de manière synchrone le contenu d’une chaîne, utilisez la Speak méthode . Vous pouvez annuler le discours asynchrone d’une invite avec la SpeakAsyncCancel méthode ou SpeakAsyncCancelAll .

Cette méthode stocke dans la tâche toutes les exceptions de non-utilisation que l’équivalent synchrone de la méthode peut lever. Si une exception est stockée dans la tâche retournée, cette exception sera levée lorsque la tâche est attendue. Les exceptions d’utilisation, telles que ArgumentException, sont toujours levées de manière synchrone. Pour connaître les exceptions stockées, consultez les exceptions levées par Speak(String).

Voir aussi

S’applique à