SpeechSynthesizer::SpeakSsml Method (String^)
Synchronously speaks a String that contains SSML markup.
Assembly: System.Speech (in System.Speech.dll)
Parameters
- textToSpeak
-
Type:
System::String^
The SSML string to speak.
The contents of the textToSpeak parameter must include a speak element and must conform to the Speech Synthesis Markup Language (SSML) Version 1.0. For more information, see Speech Synthesis Markup Language Reference.
To asynchronously speak a string that contains SSML markup, use the SpeakSsmlAsync method. You can use Speak to initiate the synchronous speaking of a string that does not contain SSML markup.
During a call to this method, the SpeechSynthesizer can raise the following events:
StateChanged. Raised when the speaking state of the synthesizer changes.
SpeakStarted. Raised when the synthesizer begins generating speech.
PhonemeReached. Raised each time the synthesizer reaches a letter or combination of letters that constitute a discreet sound of speech in a language.
SpeakProgress. Raised each time the synthesizer completes speaking a word.
VisemeReached. Raised each time spoken output requires a change in the position of the mouth or the facial muscles used to produce speech.
BookmarkReached. Raised when the synthesizer encounters a bookmark in a prompt.
VoiceChange. Raised when the speaking voice for the synthesizer changes.
The SpeechSynthesizer does not raise the SpeakCompleted event while processing the SpeakSsml method.
The following example renders the date 1/29/2009 as a date, in month, day, year order.
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.SpeakSsml(str); Console.WriteLine("Press any key to exit..."); Console.ReadKey(); } } }
Available since 3.0