break
break element
Introduces a specified amount of silence into the audio played back to the user.
Syntax
<break
size = "string"
sizeexpr = "ECMAScript_Expression"
time = "string"
timeexpr = "ECMAScript_Expression"
/>
Attributes
size |
One of the following values:
noneIndicates no pause.
smallIndicates a 200ms pause.
mediumIndicates a 500ms pause.
largeIndicates a 1000ms pause.
|
sizeexpr |
An ECMAScript expression that evaluates to one of the valid values of the size attribute. This attribute is a Tellme extension. |
time |
The duration of the pause in seconds (s) or milliseconds (ms), such as "2s", "500ms", or "1.5s." If the units are not specified, the VoiceXML interpreter assumes milliseconds. |
timeexpr |
An ECMAScript expression that evaluates to a duration equivalent to the time attribute. This attribute is a Tellme extension. |
Parents
audio, block, catch, emphasis, enumerate, error, filled, foreach, help, if, noinput, nomatch, p element, prompt, prosody, s element, voice
Children
None.
Remarks
The break element introduces a pause of n seconds (s) or milliseconds (ms). Use it within prompt element text so that audio sounds more natural.
The size, time, sizeexpr and timeexpr attributes are mutually exclusive.
Examples
In the following example, the caller hears, "Good morning! (1.5 second pause) Welcome to (.5 second pause) News of the Day. (.5 second pause) Tellme! ..."
<?xml version="1.0"?>
<vxml version="2.1"
xmlns="http://www.w3.org/2001/vxml">
<form>
<block>
<prompt>
Good morning!
<break time="1.5s"/>
Welcome to
<break time="500"/>
News of the Day
<break size="medium"/>
</prompt>
<exit/>
</block>
</form>
</vxml>
The following example plays a list of subjects generated from script. The foreach element iterates through the ECMAScript array of hashes to play back the name of the subject. In addition, the break element is used to pause between subjects. The pause value is included in the ECMAScript hash.
<?xml version="1.0"?>
<vxml version="2.1"
xmlns="http://www.w3.org/2001/vxml">
<var name="sAudioBase" expr="'audio/tmu/'"/>
<var name="sSubjectsBase" expr="sAudioBase + 'subjects/'"/>
<script><![CDATA[
// array of subjects for tts
var aSubjects = ["", "overview", "design", "audio", "development", "tuning"];
// array of prompt triplets (wav, tts, pause)
var aPrompts = [
{"wav" : sAudioBase + "org.wav", "tts" :
"The Tellme University classes are grouped by subject." +
"When you hear the subject you want, just say it to hear the classes offered.",
"pause" : "300ms"},
{"wav" : sSubjectsBase + "sn1c.wav", "tts" : "overview", "pause" : "500ms"},
{"wav" : sSubjectsBase + "sn2c.wav", "tts" : "design", "pause" : "500ms"},
{"wav" : sSubjectsBase + "sn3c.wav", "tts" : "audio", "pause" : "500ms"},
{"wav" : sSubjectsBase + "sn4c.wav", "tts" : "development", "pause" : "500ms"},
{"wav" : sSubjectsBase + "sn5c.wav", "tts" : "tuning", "pause" : "500ms"}
];
]]></script>
<form id="list_subjects">
<field name="subject_id">
<prompt>
<!-- iterate through each triplet -->
<foreach item="oPrompt" array="aPrompts">
<audio expr="oPrompt.wav">
<value expr="oPrompt.tts"/>
</audio>
<break timeexpr="oPrompt.pause"/>
</foreach>
<!-- only play the first prompt (org) once -->
<script>aPrompts.shift();</script>
</prompt>
<grammar src="subjects-voice.grxml" mode="voice" type="application/srgs+xml"/>
<noinput>
<goto next="#query_repeat_list"/>
</noinput>
<nomatch>
I'm sorry. I didn't get that.
Please say one of the following subjects.
<reprompt/>
</nomatch>
<filled>
You picked
<!-- the grammar return value is the subject id -->
<!-- construct the path to the subject and index into the tts array -->
<audio expr="sSubjectsBase + 'sn' + subject_id + 'c.wav'">
<value expr="aSubjects[subject_id]"/>
</audio>
<exit />
</filled>
</field>
</form>
<form id="query_repeat_list">
<field name="yesno" type="boolean">
<prompt>Do you want to hear this list again?</prompt>
<catch event="noinput nomatch">
Sorry. I didn't get that.
Please say yes to hear the list again.
Say no to return to the main menu
</catch>
<filled>
<if cond="yesno">
<goto next="#list_subjects"/>
<else/>
<exit/>
</if>
</filled>
</field>
</form>
</vxml><?xml version="1.0"?>
<vxml version="2.1"
xmlns="http://www.w3.org/2001/vxml">
<var name="sAudioBase" expr="'audio/tmu/'"/>
<var name="sSubjectsBase" expr="sAudioBase + 'subjects/'"/>
<script><![CDATA[
// array of subjects for tts
var aSubjects = ["", "overview", "design", "audio", "development", "tuning"];
// array of prompt triplets (wav, tts, pause)
var aPrompts = [
{"wav" : sAudioBase + "org.wav", "tts" :
"The Tellme University classes are grouped by subject." +
"When you hear the subject you want, just say it to hear the classes offered.",
"pause" : "300ms"},
{"wav" : sSubjectsBase + "sn1c.wav", "tts" : "overview", "pause" : "500ms"},
{"wav" : sSubjectsBase + "sn2c.wav", "tts" : "design", "pause" : "500ms"},
{"wav" : sSubjectsBase + "sn3c.wav", "tts" : "audio", "pause" : "500ms"},
{"wav" : sSubjectsBase + "sn4c.wav", "tts" : "development", "pause" : "500ms"},
{"wav" : sSubjectsBase + "sn5c.wav", "tts" : "tuning", "pause" : "500ms"}
];
]]></script>
<form id="list_subjects">
<field name="subject_id">
<prompt>
<!-- iterate through each triplet -->
<foreach item="oPrompt" array="aPrompts">
<audio expr="oPrompt.wav">
<value expr="oPrompt.tts"/>
</audio>
<break timeexpr="oPrompt.pause"/>
</foreach>
<!-- only play the first prompt (org) once -->
<script>aPrompts.shift();</script>
</prompt>
<grammar src="subjects-voice.grxml" mode="voice" type="application/srgs+xml"/>
<noinput>
<goto next="#query_repeat_list"/>
</noinput>
<nomatch>
I'm sorry. I didn't get that.
Please say one of the following subjects.
<reprompt/>
</nomatch>
<filled>
You picked
<!-- the grammar return value is the subject id -->
<!-- construct the path to the subject and index into the tts array -->
<audio expr="sSubjectsBase + 'sn' + subject_id + 'c.wav'">
<value expr="aSubjects[subject_id]"/>
</audio>
<exit />
</filled>
</field>
</form>
<form id="query_repeat_list">
<field name="yesno" type="boolean">
<prompt>Do you want to hear this list again?</prompt>
<catch event="noinput nomatch">
Sorry. I didn't get that.
Please say yes to hear the list again.
Say no to return to the main menu
</catch>
<filled>
<if cond="yesno">
<goto next="#list_subjects"/>
<else/>
<exit/>
</if>
</filled>
</field>
</form>
</vxml>