使用Amazon Echo(Alexa)和SSML遇到麻烦

时间:2016-06-16 23:56:16

标签: javascript aws-lambda alexa ssml

我正在尝试处理更好的语音发音并暂停与Alexa + Lambda + Javascript。我从文档中看到:https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/speech-synthesis-markup-language-ssml-reference您可以使用语音合成标记语言来完成此操作。但是,当我构建并发送Javascript对象以便Alexa可能会说些什么时,我会收到错误消息。

这是我发送Alexa从Lambda日志文件发言的属性:

{ outputSpeech:  { type: 'SSML', ssml: '<speak>This output speech uses SSML.</speak>' } }

关于我究竟缺少什么的任何想法?

提前致谢。

2 个答案:

答案 0 :(得分:1)

确保您更新了buildSSMLSpeechletResponse。我添加了一个与回调一起使用的新函数,以便我可以将SSML输出用于正确的区域。

function buildSSMLSpeechletResponse(title, output, repromptText, shouldEndSession) {
    return {
        outputSpeech: {
            type: "SSML",
            ssml: output
        },
        card: {
            type: "Simple",
            title: "SessionSpeechlet - " + title,
            content: "SessionSpeechlet - " + output
        },
        reprompt: {
            outputSpeech: {
                type: "SSML",
                text: repromptText
            }
        },
        shouldEndSession: shouldEndSession
    };
}

答案 1 :(得分:0)

您只需在存储响应的SpeechOutput变量中使用SSMl标签即可。这种方式也可以。