2017-10-05 6 views
0

Amis,Comment obtenir une compétence Alexa pour diffuser un fichier MP3 à l'appareil

je travaille sur une compétence Alexa qui tente de diffuser un fichier mp3 d'un seau S3 accessible au public. Ma fonction lambda fonctionne correctement et renvoie une directive audio. J'utilise le paquet npm alexa-sdk.

Cependant, lorsque la réponse est renvoyée à l'appareil Echo, j'obtiens une erreur générique de "il y avait une erreur dans la réponse de votre compétence". J'ai recherché sur Google un type de lintet de réponse Alexa pour essayer de valider mon objet de réponse. Ci-dessous se trouve ma fonction lambda IntentHandler, et l'objet réponse renvoyé par cette fonction. Est-ce que quelqu'un peut jeter un coup d'oeil et signaler les erreurs qu'ils voient? C'est très apprécié.

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": {} 
} 

Répondre

0

Selon le AudioPlayer Directives Documentation, lors de l'envoi de directives AudioPlayer au serveur, vous devez définir la propriété type et l'inclure dans le tableau de directives de votre réponse. Et selon votre exemple, vous ne le faites pas.

Dans votre exemple, avant la clé playBehavior, vous devez ajouter la clé suivante:

"type": "AudioPlayer.Play", 

Aussi, assurez-vous que votre audio est conforme aux exigences d'Amazon:

Les formats pris en charge pour le fichier audio comprend AAC/MP4, MP3, HLS, PLS et M3U. Bitrates: 16 kbps à 384 kbps.