1

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

有谁知道,我可能做错了什么?提前致谢。

4

2 回答 2

1

正如我们在原始帖子的评论部分中建立的那样。

版本v.2.5.1之前的响应生成器没有转义无效的 SSML 字符:&, <, >, ", '此问题已在此处与 Alexa 团队提出,并已在版本 2.5.1 中修复

更新库解决了问题

于 2019-03-10T14:08:49.500 回答
1

尝试

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`;
于 2019-03-09T19:56:32.583 回答