以下是templates.yaml文件中的响应模板:
entity_paused: <speak>I paused {{ entity }} <say-as interpret-as="digits">{{ id }}</say-as></speak>.
根据烧瓶问documents,他们会根据根元素'speak'自动检测SSML。然而,当我测试我的应用程序时,Alexa准备了模板varbatim,我可以看到发送回Alexa服务的响应是纯文本类型。 我相信根据亚马逊documentation
,SSML是正确的我通过以下方式调用模板:
return statement(render_template('paused_entity', entity='SomeEntity', id=123456))
如果这是基本的事情,请提前道歉,因为我只编写了7个月。谢谢!
答案 0 :(得分:1)
对我来说,问题出在 ... / flask_ask / models.py 文件中。 向下滚动到 def _output_speech(语音):功能并替换:
xmldoc = ElementTree.fromstring(speech)
if xmldoc.tag == 'speak':
使用:
if '<speak' in speech:
简单易行......
答案 1 :(得分:0)
如果将来有人发现这个,原来提供的模板是正确的。不知道为什么我必须复制并重新粘贴它,但有一些奇怪的unindent错误。
答案 2 :(得分:0)
我也遇到了这个问题,发现我需要重新启动FlaskAsk实例才能检测到templates.yaml文件的更改。
答案 3 :(得分:0)
在我的情况下,yaml的字符串已作为Unicode加载。
get dashboard_site_attendance_summer_city_camp_integrativ_path
我通过将unicode编码为普通字符串来修复它。
get attendance_summer_city_camp_integrativ
现在,亚马逊将我yaml文件中的句子正确识别为ssml。