【发布时间】:2020-02-23 19:27:36
【问题描述】:
我可以将文本从 lex bot 发送到我的 lambda 函数并获得响应。但是如何将语音从机器人发送到 lambda 并获得语音或文本格式的响应。请提出建议。
【问题讨论】:
标签: amazon-web-services aws-lambda aws-sdk aws-java-sdk aws-lex
我可以将文本从 lex bot 发送到我的 lambda 函数并获得响应。但是如何将语音从机器人发送到 lambda 并获得语音或文本格式的响应。请提出建议。
【问题讨论】:
标签: amazon-web-services aws-lambda aws-sdk aws-java-sdk aws-lex
以下由 AWS 工程团队撰写的博客肯定会有助于解决您的问题。
https://aws.amazon.com/blogs/machine-learning/capturing-voice-input-in-a-browser/
【讨论】:
以下 lambda 函数代码返回来自 Bot 的语音。
`public Object handleRequest(Map<String,Object> input, Context context) {
context.getLogger().log("input" +input);
LexRequest lexRequest = LexRequestFactory.createLexRequest(input);
String content = String.format("<speak>Hi! Request came from:"+lexRequest.getBotName()+"</speak>",
lexRequest.getIntentName(),lexRequest.getCrust(),lexRequest.getPizzaKind(),lexRequest.getSize()
);
SessionAttributes sessionAttributes = new SessionAttributes();
Message message = new Message("SSML",content);
DialogAction dialogAction = new DialogAction("Close", "Fulfilled", message);
return new LexRespond(sessionAttributes,dialogAction);
}`
【讨论】: