4

我正在尝试使用一些 SSML 来增强我的 Alexa 技能(基于示例 Alexa 技能代码)。当我在 lambda 函数中运行测试时,我得到了一个成功的输出,但是当我在 Amazon 开发人员门户中测试它时,我得到:

无法调用远程端点,或者它返回的响应无效。

这是我为将 SSML 添加到我的 Alexa 技能而修改的唯一代码:

// Create speech output
var speechOutput = {
    speech: "<speak> Reflect upon <break time=\"10ms\"/> this. <break time=\"1s\"/>"
        + "<audio src='https://s3.amazonaws.com/findyourzen/audio/bell.mp3'/>"
        + fact
        + "<audio src='https://s3.amazonaws.com/findyourzen/audio/bell.mp3'/>"
        + "</speak>",
      type: AlexaSkill.speechOutputType.SSML
    };
    response.tellWithCard(speechOutput, "FindYourZen", speechOutput);
};

我已经完全按照亚马逊的说明添加了音频文件,所以我知道这不是错误消息的原因。

4

2 回答 2

0

如果您使用的是 ASK sdk v2. 您不需要添加说话标签,它会自动添加。尝试这个..

         var speechOutput = "Reflect upon <break time=\"10ms\"/> this. <break time=\"1s\"/>"
        + "<audio src='https://s3.amazonaws.com/findyourzen/audio/bell.mp3'/>"
        + fact
        + "<audio src='https://s3.amazonaws.com/findyourzen/audio/bell.mp3'/>"

          return handlerInput.responseBuilder
                .speak(speechOutput)
                .getResponse();
于 2019-09-09T20:35:41.647 回答
-3

我以前也遇到过类似的问题。但是,在我可以帮助您之前,我需要查看您在测试代码时从 Lambda 获得的输出。它返回的 json 很可能是无效的。无论是语法还是简单地它都不是 Alexa 理解的格式。如果您发布它,我可以为您提供更多帮助。

于 2016-05-26T02:37:01.380 回答