SpeechSynthesizer.SpeakAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Generuje výstup řeči asynchronně z řetězce, objektu Prompt nebo objektu PromptBuilder .
Přetížení
SpeakAsync(Prompt) |
Asynchronně vyslovuje obsah objektu Prompt . |
SpeakAsync(PromptBuilder) |
Asynchronně vyslovuje obsah objektu PromptBuilder . |
SpeakAsync(String) |
Asynchronně vyslovuje obsah řetězce. |
Poznámky
Metody SpeakAsync generují řeč asynchronně. Metody se okamžitě vrátí, aniž by čekaly na dokončení mluvení obsahu objektu SpeakAsync . Použijte SpeakAsync , pokud vaše aplikace potřebuje provádět úkoly při mluvení, například zvýraznění textu, animace malování, ovládací prvky monitoru nebo jiné úkoly.
Během volání této metody SpeechSynthesizer může vyvolat následující události:
StateChanged. Vyvolána při změně stavu mluvení syntetizátoru.
SpeakStarted. Vyvolána, když syntezátor začne generovat řeč.
PhonemeReached. Vyvolá se pokaždé, když syntezátor dosáhne písmena nebo kombinace písmen, které představují diskrétní zvuk řeči v jazyce.
SpeakProgress. Vyvolá se pokaždé, když syntezátor dokončí vyslovování slova.
VisemeReached. Zvednuté při každém mluveném výstupu vyžaduje změnu pozice úst nebo obličejových svalů používaných k produkci řeči.
BookmarkReached. Vyvolána, když syntezátor narazí na záložku ve výzvě.
VoiceChange. Zvednuto, když se změní hlas pro syntezátor.
SpeakCompleted. Vyvolá se, když syntezátor dokončí SpeakAsync operaci.
Pokud vaše aplikace nepotřebuje provádět úlohy při mluvení, můžete k synchronnímu Speak generování řeči použít metody nebo metodu SpeakSsml .
SpeakAsync(Prompt)
- Zdroj:
- SpeechSynthesizer.cs
- Zdroj:
- SpeechSynthesizer.cs
Asynchronně vyslovuje obsah objektu 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)
Parametry
- prompt
- Prompt
Obsah, který se má mluvit.
Příklady
Následující příklad vytvoří Prompt objekt z řetězce a předá objekt jako argument SpeakAsync metodě.
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();
}
}
}
Poznámky
Asynchronní mluvení o výzvě můžete zrušit metodou SpeakAsyncCancel nebo SpeakAsyncCancelAll .
Pokud chcete synchronně vyslovovat obsah objektu Prompt , použijte Speak.
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Speak(Prompt).
Platí pro
SpeakAsync(PromptBuilder)
- Zdroj:
- SpeechSynthesizer.cs
- Zdroj:
- SpeechSynthesizer.cs
Asynchronně vyslovuje obsah objektu 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
Parametry
- promptBuilder
- PromptBuilder
Obsah, který se má mluvit.
Návraty
Objekt, který obsahuje obsah, který má mluvit.
Příklady
Následující příklad vytvoří PromptBuilder objekt z řetězce a předá objekt jako argument SpeakAsync metodě.
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();
}
}
}
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Speak(PromptBuilder).
Poznámky
Pokud chcete synchronně vyslovovat obsah objektu PromptBuilder , použijte Speak.
Platí pro
SpeakAsync(String)
- Zdroj:
- SpeechSynthesizer.cs
- Zdroj:
- SpeechSynthesizer.cs
Asynchronně vyslovuje obsah řetězce.
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
Text, který se má vyslovit.
Návraty
Objekt, který obsahuje obsah, který má mluvit.
Příklady
Jak je znázorněno v následujícím příkladu SpeakAsync , metoda poskytuje nejjednodušší způsob asynchronního generování výstupu řeči.
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();
}
}
}
Poznámky
Pokud chcete asynchronně vyslovit řetězec, který obsahuje značky SSML, použijte metodu SpeakSsmlAsync . Pokud chcete synchronně vyslovovat obsah řetězce, použijte metodu Speak . Asynchronní mluvení o výzvě můžete zrušit metodou SpeakAsyncCancel nebo SpeakAsyncCancelAll .
Tato metoda ukládá do úlohy, která vrací všechny výjimky nesouvisejí s používáním, které může vyvolat synchronní protějšek metody. Pokud je ve vrácené úloze uložena výjimka, bude tato výjimka vyvolána při čekání na úkol. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. Informace o uložených výjimkách najdete v tématu Výjimky vyvolané nástrojem Speak(String).