首页 > 解决方案 > 即使卡片出现,Alexa 也没有从技能中发出语音响应

问题描述

我的亚历克斯技能咨询一个API并根据请求返回一些数据,不同的数据。它是用 node.js 编写的。它工作了几年。

然后它在第一次询问时停止响应。现在它根本不跟我说话。然而,卡片忠实地出现在我的手机上,表明数据正在被正常检索。

我刚刚记录了 lambda 返回的响应对象,对我来说它看起来不错。这里是:

{
"version": "1.0",
"response": {
    "outputSpeech": {
        "type": "PlainText",
        "text": "as of 06:34 unofficial range estimate is Between 82 and 131 miles"
    },
    "card": {
        "type": "Standard",
        "title": "Battery status for Leaf1malc",
        "text": "As of:\t2020/03/23 06:34\nYou have 78.93% battery or 11 out of 12 bars\nGOM Estimate\t103 A/C on, or 109  A/C off\nCynical estimate\tBetween 82 and 131 miles\n\tThe car is not plugged in.",
        "image": {
            "largeImageUrl": "https://gb.nissanconnect.eu/Content/static/images/nissan/my-leaf.jpg"
        }
    },
    "shouldEndSession": true
}

这一切都在 Lambda 测试工具和 Alexa 技能开发控制台中按预期工作。

我刚刚重构了代码以使用asyncawait。这是希望解开通常的回调链纠结,使其更容易调试。一旦我开始运行,它就会回到我最初的行为。

我用谷歌搜索,找不到其他人有这个问题。它在我的代码发生任何变化之前就出现了,尽管我不得不更新 node.js 版本,因为亚马逊抱怨 Lambda 使用的是一个已弃用的版本。

当前的 node.js 版本是 10。

请看看我的响应对象,看看我做错了什么。

附言。刚用SSML试了一下,还是没有声音。

标签: node.jsalexa-skills-kitalexa-skill

解决方案


推荐阅读