SpeechSynthesizer.SpeakAsync Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Genereert asynchroon spraakuitvoer van een tekenreeks, een Prompt object of een PromptBuilder object.
Overloads
| Name | Description |
|---|---|
| SpeakAsync(Prompt) |
Asynchroon spreekt de inhoud van een Prompt object. |
| SpeakAsync(PromptBuilder) |
Asynchroon spreekt de inhoud van een PromptBuilder object. |
| SpeakAsync(String) |
Asynchroon spreekt de inhoud van een tekenreeks. |
Opmerkingen
De SpeakAsync methoden genereren asynchroon spraak. De methoden worden onmiddellijk geretourneerd zonder te wachten tot de inhoud van het SpeakAsync object klaar is met spreken. Gebruik SpeakAsync deze optie als uw toepassing taken moet uitvoeren tijdens het spreken, bijvoorbeeld tekst markeren, verfanimatie, besturingselementen bewaken of andere taken.
Tijdens een aanroep van deze methode kan de SpeechSynthesizer volgende gebeurtenissen worden gegenereerd:
StateChanged. Verhoogd wanneer de spreektoestand van de synthesizer verandert.
SpeakStarted. Verhoogd wanneer de synthesizer begint met het genereren van spraak.
PhonemeReached. Telkens wanneer de synthesizer een letter of combinatie van letters bereikt die een discreet geluid van spraak in een taal vormen.
SpeakProgress. Steeds wanneer de synthesizer klaar is met het spreken van een woord.
VisemeReached. Elke keer dat gesproken uitvoer wordt gegenereerd, is een verandering in de positie van de mond of de gezichtsspieren vereist die worden gebruikt om spraak te produceren.
BookmarkReached. Verhoogd wanneer de synthesizer een bladwijzer tegenkomt in een prompt.
VoiceChange. Opgevoed wanneer de gesproken stem voor de synthesizer verandert.
SpeakCompleted. Verhoogd wanneer de synthesizer klaar is met een SpeakAsync bewerking.
Als uw toepassing tijdens het spreken geen taken hoeft uit te voeren, kunt u de Speak methoden of de SpeakSsml methode gebruiken om spraak synchroon te genereren.
SpeakAsync(Prompt)
Asynchroon spreekt de inhoud van een Prompt object.
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)
Parameters
- prompt
- Prompt
De inhoud die moet worden uitgesproken.
Voorbeelden
In het volgende voorbeeld wordt een Prompt object gemaakt op basis van een tekenreeks en wordt het object als argument doorgegeven aan de SpeakAsync methode.
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();
}
}
}
Opmerkingen
U kunt het asynchrone spreken van een prompt met de SpeakAsyncCancel of de SpeakAsyncCancelAll methode annuleren.
Als u de inhoud van een Prompt object synchroon wilt uitspreken, gebruikt u Speak.
Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door Speak(Prompt)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.
Van toepassing op
SpeakAsync(PromptBuilder)
Asynchroon spreekt de inhoud van een PromptBuilder object.
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
Parameters
- promptBuilder
- PromptBuilder
De inhoud die moet worden uitgesproken.
Retouren
Het object dat de inhoud bevat die moet worden uitgesproken.
Voorbeelden
In het volgende voorbeeld wordt een PromptBuilder object gemaakt op basis van een tekenreeks en wordt het object als argument doorgegeven aan de SpeakAsync methode.
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();
}
}
}
Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door Speak(PromptBuilder)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.
Opmerkingen
Als u de inhoud van een PromptBuilder object synchroon wilt uitspreken, gebruikt u Speak.
Van toepassing op
SpeakAsync(String)
Asynchroon spreekt de inhoud van een tekenreeks.
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
Parameters
- textToSpeak
- String
De te spreken tekst.
Retouren
Het object dat de inhoud bevat die moet worden uitgesproken.
Voorbeelden
Zoals in het volgende voorbeeld wordt weergegeven, biedt de SpeakAsync methode de eenvoudigste manier om asynchroon spraakuitvoer te genereren.
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();
}
}
}
Opmerkingen
Als u asynchroon een tekenreeks wilt uitspreken die SSML-markeringen bevat, gebruikt u de SpeakSsmlAsync methode. Als u de inhoud van een tekenreeks synchroon wilt uitspreken, gebruikt u de Speak methode. U kunt het asynchrone spreken van een prompt met de SpeakAsyncCancel of de SpeakAsyncCancelAll methode annuleren.
Deze methode slaat op in de taak die alle uitzonderingen voor niet-gebruik retourneert die de synchrone tegenhanger van de methode kan genereren. Als er een uitzondering wordt opgeslagen in de geretourneerde taak, wordt deze uitzondering gegenereerd wanneer de taak wordt gewacht. Gebruiksonderzondering, zoals ArgumentException, worden nog steeds synchroon gegenereerd. Zie de uitzonderingen die zijn gegenereerd door Speak(String)de opgeslagen uitzonderingen voor de opgeslagen uitzonderingen.