在voicexml中选择的实现可以用menu,也可以用form。用menu方式实现参考上一篇文章,这里主要介绍一些form实现
可以使用from的option,也可以通过grammar来实现
1、option的实现(例子:http://www.optimsys.cz/support/examples/example07.php)
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml">
<meta name="description" content="options and link example"/>
<meta name="author" content="OptimSys, s.r.o., Czech Republic (http://www.optimsys.cz)"/>
<meta name="copyright" content="free for any purpose"/>
<noinput> Hey, don't sleep! </noinput>
<catch event="exit">
<prompt> Exit! </prompt>
<exit/>
</catch>
<form id="start">
<field name="lunch">
<nomatch>
<prompt> I didn't understand you. Please choose from <enumerate/> </prompt>
</nomatch>
<help> Just say what you want for lunch. </help>
<prompt> What do you want for lunch? You can choose from <enumerate/> </prompt>
<option dtmf="1" value="ch"> chicken </option>
<option dtmf="2" value="p"> pizza </option>
<option dtmf="3" value="c"> cake </option>
<option dtmf="4" value="n"> nothing </option>
<filled>
<if cond="lunch=='ch'">
<prompt> You will have chicken for lunch. </prompt>
<prompt> I like chicken too. </prompt>
<elseif cond="lunch=='p'"/>
<prompt> You will have pizza for lunch. </prompt>
<prompt> Fan of Italian kitchen? </prompt>
<elseif cond="lunch=='c'"/>
<prompt> You will have cake for lunch. </prompt>
<prompt> You will be fat! </prompt>
<else/> <!-- lunch=='n' -->
<prompt> You will have nothing for lunch. </prompt>
<prompt> Diet? </prompt>
</if>
</filled>
</field>
</form>
2、grammar的实现(http://www.w3.org/TR/voicexml20/)
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/vxml
http://www.w3.org/TR/voicexml20/vxml.xsd">
<form id="tapered">
<block>
<prompt bargein="false">
Welcome to the ice cream survey.
</prompt>
</block>
<field name="flavor">
<grammar mode="voice" version="1.0" root="root">
<rule id="root" scope="public">
<one-of>
<item>vanilla </item>
<item>chocolate</item>
<item>strawberry</item>
</one-of>
</rule>
</grammar>
<prompt count="1">What is your favorite flavor?</prompt>
<prompt count="3">Say chocolate, vanilla, or strawberry.</prompt>
<help>Sorry, no help is available.</help>
</field>
</form>
</vxml>
<?xml version="1.0" encoding="UTF-8"?>
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/vxml
http://www.w3.org/TR/voicexml20/vxml.xsd">
<meta name="en_inlinegrammar.vxml" content=""/>
<meta name="Author" content="HP"/>
<meta name="Date" content="September, 2005"/>
<meta name="Description"
content="This VoiceXML example is provided
as part of an HP OpenCall Media Platform
VoiceXML installation"/>
<meta name="Support" content="none"/>
<!-- Deactivate the barge in feature -->
<property name="bargein" value="false"/>
<form id="WhichDigit" scope="dialog">
<field name="digit">
<prompt>
Please say a digit.
</prompt>
<grammar mode="voice" version="1.0" root="root">
<rule id="root" scope="public">
<one-of>
<item> zero </item>
<item> one </item>
<item> two </item>
<item> three </item>
<item> four </item>
<item> five </item>
<item> six </item>
<item> seven </item>
<item> eight </item>
<item> nine </item>
</one-of>
</rule>
</grammar>
<filled>
<prompt>
Thanks, I think you said
<value expr="digit"/>.
</prompt>
</filled>
<!-- Message played if any error occured -->
<error count="1">
An error has occured.
</error>
<!-- Message played if the caller does not say anything -->
<noinput count="1">
Sorry, I did not hear anything. Try again.
<reprompt/>
</noinput>
<!-- Message played if the caller says something
that does not match -->
<nomatch count="1">
Sorry, I did not understand that. Try again.
<reprompt/>
</nomatch>
</field>
</form>
</vxml>
分享到:
相关推荐
### VoiceXML语言解释器的设计与实现 #### 一、VoiceXML概述 VoiceXML(Voice eXtensible Markup Language)是一种基于XML(Extensible Markup Language)的标准化对话标记语言,主要应用于语音交互系统中,使用户...
CCXML 比大多数 VoiceXML 实现更为高级,提供了对回叫、事件侦听器和多路及多方会话的支持。 在本文的后面,我们将介绍一个非常简单的 VoiceXML 应用程序,用于查看 VXML 文件,并确保您有权访问 Voxeo 的 call-...
VoiceXML的设计不仅限于简单的菜单选择,还涵盖了复杂对话管理、自然语言理解、数据收集和错误处理等方面。实现平台需要支持语音识别、合成、事件处理和脚本执行等功能。 6. **VoiceXML的一些概念**: - **对话框...
VoiceXML 的强大之处在于其能够使开发者专注于应用程序的逻辑而无需关心底层的技术实现细节。此外,借助 Skype.VTP 插件,可以在本地轻松地模拟语音通话环境,大大提高了开发效率。希望本文能帮助开发者们顺利开展 ...
### SIP-VoiceXML浏览器的设计与研究 #### 一、引言 随着信息技术的发展,人机交互的方式...以上就是关于“SIP-VoiceXML浏览器的设计与研究”的详细介绍,希望能够为相关领域的研究人员和技术人员提供有价值的参考。
- **声音文件和TTS混合输出**:通过在文档中交替使用`<prompt>`和`<audio>`元素,可以实现TTS与音频文件的无缝切换,提供更丰富的交互体验。 总之,VoiceXML 1.0为开发语音驱动的应用提供了强大的工具,通过XML的...
VoiceXML(Voice Extensible Markup Language)是一种用于构建交互式语音应答(IVR)系统的标记语言,它使得电话用户能够通过...在设计和实现过程中,需要注意用户体验的优化,确保语音识别的准确性和系统的稳定性。
本指南聚焦于VoiceXML 1.0版本的使用,它是早期版本,但仍然被广泛应用于许多系统中。 ##### 1.3 VoiceXML相关关键技术 - **语音识别技术**:用于识别用户的语音命令。 - **文本转语音(TTS)**:将文本信息转换成...
IVR(Interactive Voice Response)系统是一种自动电话...在IVR开发过程中,选择合适的工具至关重要,它们能提高开发效率,降低维护成本。同时,持续关注行业动态和技术进步,有助于提升IVR系统的用户体验和业务价值。
- **选择性接听**:根据来电者信息决定是否接听。 - **会议**:支持多参与者电话会议。 - **指导**:允许第三方加入通话,但只让指定参与者监听。 - **对话框执行**:创建和销毁新的VoiceXML解释器实例。 **安装...
NETANN能够实现播报和简单的会议业务,结合VoiceXML可以实现脚本化的IVR服务。 每种协议都有其优缺点和适用场景。MGCP在实际部署中占据主导,但H.248/Megaco提供了更强大的功能和更好的可扩展性。SIP虽然最初设计...
VoiceXML文档定义了用户和系统之间的对话流程,包括音频播放、数字接收、菜单选择等元素。 在PB138项目中,SCXML2VoiceXMLJ的实现可能涉及以下关键技术点: 1. **SCXML解析**:首先,项目需要解析SCXML文件,理解...
4. **VoiceXML培训**:VoiceXML的培训内容通常涵盖基本语法、语音识别与合成、对话设计原则、以及如何集成VXML应用到实际IVR系统中。学习者应掌握VXML文档编写、调试工具的使用,以及如何与后端业务系统接口。 5. *...
VoiceXML基础教程.chm文件很可能是一个帮助文档,包含了关于如何使用Voice XML的详细指南,包括基本概念、语法、最佳实践以及实例。通过阅读这个文档,初学者可以了解Voice XML的结构、语法规则,以及如何使用JDOM...
VoicexML是一种语音交互标记语言,用于构建交互式语音响应(IVR)系统,整合了VoiceXML浏览器、自动语音识别(ASR)和文本转语音(TTS)技术,可以实现电话用户与系统的语音交流。 2. **本地网省级纵向联网系统**:...
在PhoneBlogger中,VoiceXML用于设计交互式语音响应系统(IVR),让用户可以通过电话听取菜单选项,然后通过语音指令进行选择,实现发布博客文章的功能。VoiceXML提供了丰富的语法来定义声音提示、数字输入验证以及...