AWS Alexa V2中的SSML支持

时间:2019-03-09 17:28:13

标签: node.js amazon-web-services aws-lambda ssml

我正在将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();

有人有想法吗,我可能做错了什么?提前致谢。

2 个答案:

答案 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`;