Как получить навык Alexa для потоковой передачи mp3 на устройство

Друзья,

Я работаю над навыком 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": {}
}

person derek kenney    schedule 05.10.2017    source источник


Ответы (1)


Согласно Директивам AudioPlayer Документация, при отправке директив AudioPlayer на сервер вы должны установить свойство type и включить его в массив директив вашего ответа. И, по вашему примеру, вы этого не делаете.

В вашем примере перед ключом playBehavior вы должны добавить следующий ключ:

"type": "AudioPlayer.Play",

Также убедитесь, что ваш звук соответствует требованиям Amazon:

Поддерживаемые форматы аудиофайла включают AAC / MP4, MP3, HLS, PLS и M3U. Битрейт: от 16 кбит / с до 384 кбит / с.

person igor.araujo    schedule 08.10.2017