Asynchronously speaks a String that contains SSML markup.
Namespace:
Microsoft.Speech.Synthesis
Assembly:
Microsoft.Speech (in Microsoft.Speech.dll)
Syntax
Visual Basic (Declaration) |
---|
Public Sub SpeakSsml ( _ textToSpeak As String _ ) |
Visual Basic (Usage) |
---|
Dim instance As SpeechSynthesizer Dim textToSpeak As String instance.SpeakSsml(textToSpeak) |
C# |
---|
public void SpeakSsml( string textToSpeak ) |
Parameters
- textToSpeak
- Type: System..::..String
The SMML markup to speak.
Remarks
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 (Microsoft.Speech).
To asynchronously speak a string that contains SSML markup, use the SpeakSsmlAsync(String) method. You can use Speak(String) 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.
SpeakProgress. Raised each time the synthesizer completes speaking a word.
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(String) method.
Examples
The following example renders the date 1/29/2009 as a date, in month, day, year order.
C# | Copy Code |
---|---|
SpeechSynthesizer synth = new SpeechSynthesizer(); string str = "<speak version=\"1.0\""; str += " xmlns:ssml=\"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>"; synth.SpeakSsml(str); |