字符不會。使用XML markup來控制這更好的,通過SPF_IS_XML標誌:
HRESULT hr = pVoice->Speak(L"Hello <silence msec=\"1000\"/> world",
SPF_IS_XML, NULL);
或者你可以使用一個SSML document與SPF_PARSE_SSML標誌,使用<break>
元素:
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
Hello<break time="1000ms" />world
</speak>
如果你可以使用C#則PromptBuilder class非常方便建立SSML:
private SpeechSynthesizer synth = new SpeechSynthesizer();
private void sayHello() {
var builder = new PromptBuilder();
builder.AppendText("Hello");
builder.AppendBreak(TimeSpan.FromMilliseconds(1000));
builder.AppendText("world");
synth.SpeakAsync(new Prompt(builder));
}