Как показать текущий воспроизводимый элемент (песню) на экране проигрывателя или очереди в приложении alexa
Я могу отправить песни на устройства Amazon Echo, и песня играет. Я не понимаю, что мне нужно отправить, чтобы показать песню в плеере или на экране очереди в приложении alexa, поскольку она подходит для других музыкальных приложений, таких как saavn, spotify и т. Д. Пожалуйста, дайте мне знать, если есть какая-либо ссылка или информация по этому поводу.
] 1
1 ответ
Проверьте Ссылку на интерфейс Amazon AudioPlayer. Это дает довольно полное руководство о том, как заставить аудиоинтерфейс работать. По сути, это сводится к добавлению еще одной директивы в список директив, которые вы возвращаете в своем ответе JSON. Для меня это автоматически придумает экран аудиоплеера.
Базовая версия звуковой директивы выглядит следующим образом:
{
"type": "AudioPlayer.Play",
"playBehavior": "ENQUEUE",
"audioItem": {
"stream": {
"token": "Audio Playback",
"url": "http://www.audio.com/this/is/the/url/to/the/audio",
"offsetInMilliseconds": 0
}
}
}
ENQUEUE
добавляет указанный поток в конец текущей очереди потока. offsetInMilliseconds
клавиша устанавливает, как далеко в потоке (в миллисекундах) должно начаться воспроизведение.
Когда вы вкладываете это в JSON с большим ответом, оно принимает вид:
{
"version": "1.0",
"sessionAttributes": {},
"response": {
"outputSpeech": {},
"card": {},
"reprompt": {},
"directives": [
{
"type": "AudioPlayer.Play",
"playBehavior": "ENQUEUE",
"audioItem": {
"stream": {
"token": "Audio Playback",
"url": "http://www.audio.com/this/is/the/url/to/the/audio",
"offsetInMilliseconds": 0
}
}
}
],
"shouldEndSession": true
}
}
Есть несколько других опций для включения в вашу аудио директиву. Их можно найти по ссылке, которую я упомянул выше.
Я считаю наиболее полезным создать функцию, в которой вы можете передать заданные значения для создания директивы AudioPlayer JSON. Например, в Python это может выглядеть следующим образом:
def build_audio_directive(play_behavior, token, url, offset)
return {
"type": "AudioPlayer.Play",
"playBehavior": play_behavior,
"audioItem": {
"stream": {
"token": token,
"url": url,
"offsetInMilliseconds": offset
}
}
}
Есть несколько способов создать ответ, но я считаю, что этот способ проще всего визуализировать.