我正在将Alexa技能从V1更新到V2。但是出于某些原因,似乎SSML无法在V2版本中运行。这些是我尝试过的几种情况。
直接通过ssml,
const speechText = 'This <break time=\"0.3s\" /> is not working';
return handlerInput.responseBuilder
.speak(speechText)
.reprompt(speechText)
.getResponse();
还尝试作为对象
var speechText = {
type: "SSML",
ssml: 'This <break time=\"0.3s\" /> is not working',
};
return handlerInput.responseBuilder
.speak(speechText)
.reprompt(speechText)
.getResponse();
有人有想法吗,我可能做错了什么?提前致谢。
答案 0 :(得分:1)
我们在原始帖子的评论部分中确定的内容。
版本 v.2.5.1 之前的 响应构建器没有转义无效的SSML字符:&, <, >, ", '
Alexa团队{{3 }},并且在2.5.1版中已修复
更新库可解决问题
答案 1 :(得分:0)
尝试
const speechText = `This <break time="0.3s" /> is not working`;
return handlerInput.responseBuilder
.speak(speechText)
.reprompt(speechText)
.getResponse();
当您要将变量提供到speechText
时,此构造也很有用:
const lengthInSeconds = 5;
const speechText = `This <break time="${length}s" /> is not working`;