0

Je suis nouveau au développement d'Alexa. J'ai créé une compétence Alexa connectée à une fonction AWS lambda qui utilise Nodejs.Jouer l'album du catalogue d'Amazone par la compétence faite sur commande d'Alexa

Mon objectif pour cette compétence est de découvrir quel album de la journée est basé sur un flux que j'ai fait et de lire un texte de présentation à ce sujet et de jouer l'album.

Mes intentions simples qui obtiennent des données et les lisent à voix haute fonctionnent. Mais je ne peux pas comprendre comment faire fonctionner l'intention de «jouer». Si l'album du jour est "Witness by Katy Perry", je veux que l'utilisateur dise "alexa, ask (myskill) pour jouer l'album du jour" et il répondra avec "Playing Witness" par Katy Perry "et commence à jouer cet album.

Est-ce possible?

Merci!

Répondre

0

Vous pouvez utiliser le type SSML avec <audio src="..."/> de sortieSpeech dans une réponse. Exemple de réponse:

"response": { 
    "outputSpeech": { 
    "ssml": "<speak> Playing 'Witness by Katy Perry': <audio src="https://.../output.mp3" /> </speak> ", 
    "type": "SSML" 
    }, 
    ... 
} 

Mais il y a une limitation: le fichier audio ne peut pas dépasser 90 secondes. Exigences sur le fichier mp3 peut être trouvé here. Pour contourner le problème, vous pouvez peut-être diviser le fichier mp3 en morceaux de 90 secondes.

Pour préparer fichier mp3 pour Alexa, vous pouvez utiliser la commande suivante du terminal (il convertit input.mp3 à output.mp3):

ffmpeg -y -i input.mp3 -ar 16000 -ab 48k -codec:a libmp3lame -ac 1 output.mp3 
+0

Je voudrais utiliser le catalogue Amazon construit en jouer albums - Comme ils devraient tous exister. – Deez

+0

Je veux donner à Alexa l'ordre de jouer "Witness by Katy Perry" de son catalogue. Parler de "Jouer le Témoin de Katy Perry" n'est pas si important ... Je préférerais savoir comment envoyer la commande pour la jouer. – Deez