Друзья,
Я работаю над навыком Alexa, который пытается транслировать mp3-файл из общедоступной корзины S3. Моя лямбда-функция работает правильно и возвращает звуковую директиву. Я использую пакет npm alexa-sdk.
Однако, когда ответ отправляется обратно на устройство Echo, я получаю типичную ошибку «произошла ошибка с ответом на ваши навыки». Я искал в Google какой-то тип линтета ответа Alexa, чтобы попытаться проверить мой объект ответа.
Ниже приведена моя лямбда-функция IntentHandler и объект ответа, возвращаемый указанной функцией. Может ли кто-нибудь взглянуть и указать на любые обнаруженные ошибки? Это очень ценится.
var handlers = {
'LaunchRequest': function () {
this.emit(':tell', 'Hello');
},
GetVoiceMailIntent: function(){
this.response.audioPlayerPlay('REPLACE_ALL', 'https://s3.amazonaws.com/romevm/call_1001.mp3', 'vmtoken', 0);
this.emit(':responseReady');
},
SessionEndedRequest: function () {
console.log('session ended!');
}
} //end intent handlers
*********** RESPONSE **************
{
"version": "1.0",
"response": {
"speechletResponse": {
"directives": [
{
"playBehavior": "REPLACE_ALL",
"audioItem": {
"stream": {
"expectedPreviousToken": "0",
"token": "vmtoken",
"url": "https://s3.amazonaws.com/romevm/call_1001.mp3",
"offsetInMilliseconds": 0
}
}
}
],
"shouldEndSession": true
}
},"sessionAttributes": {}
}