SpeechSynthesizer.SpeakSsmlAsync(String) 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í.
Asynchronně vyslovuje String kód, který obsahuje kód SSML.
public:
System::Speech::Synthesis::Prompt ^ SpeakSsmlAsync(System::String ^ textToSpeak);
public System.Speech.Synthesis.Prompt SpeakSsmlAsync (string textToSpeak);
member this.SpeakSsmlAsync : string -> System.Speech.Synthesis.Prompt
Public Function SpeakSsmlAsync (textToSpeak As String) As Prompt
Parametry
- textToSpeak
- String
Kód SMML, který se má vyslovit.
Návraty
Objekt, který obsahuje obsah, který má mluvit.
Výjimky
textToSpeak
je null
.
Příklady
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();
// Build an SSML prompt in a string.
string str = "<speak version=\"1.0\"";
str += " xmlns=\"http://www.w3.org/2001/10/synthesis\"";
str += " xml:lang=\"en-US\">";
str += "<say-as type=\"date:mdy\"> 1/29/2009 </say-as>";
str += "</speak>";
// Speak the contents of the prompt asynchronously.
synth.SpeakSsmlAsync(str);
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 SpeakSsml(String).
Poznámky
Obsah parametru textToSpeak
musí obsahovat speak
prvek a musí odpovídat jazyku SSML (Speech Synthesis Markup Language) verze 1.0. Další informace najdete v tématu Referenční informace k jazyku pro revize syntézy řeči.
Pokud chcete synchronně vyslovovat řetězec, který obsahuje značky SSML, použijte metodu SpeakSsml . Můžete použít SpeakAsync k zahájení asynchronního mluvení o řetězci, který neobsahuje kód SSML.
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čí zpracování SpeakSsmlAsync operace.
Pokud vaše aplikace nepotřebuje provádět úlohy při mluvení, můžete k synchronnímu generování řeči použít metodu SpeakSpeakSsml nebo .