Как показать текущий воспроизводимый элемент (песню) на экране плеера или очереди в приложении alexa

Я могу отправить песни на устройства Amazon Echo, и песня воспроизводится. Я не понимаю, что мне нужно отправить, чтобы показать песню в проигрывателе или на экране очереди в приложении alexa, поскольку она поступает в другие музыкальные приложения, такие как saavn, spotify и т. Д. Пожалуйста, дайте мне знать, есть ли какая-либо ссылка или информация по этому поводу.

! [Изображение очереди приложения Alexa для приложения saavn] 1


person Rajeev Shetty    schedule 25.01.2018    source источник


Ответы (1)


Ознакомьтесь с Справочником по интерфейсу AudioPlayer от Amazon. Он дает довольно подробное руководство о том, как заставить работать аудиоинтерфейс. По сути, это сводится к добавлению еще одной директивы в список директив, которые вы возвращаете в своем ответе 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
            }
          }
        }

Есть несколько способов вызвать реакцию, но я считаю, что этот способ легче всего визуализировать.

person peachykeen    schedule 28.01.2018
comment
Я использовал те же директивы, и песня играет. здесь, в этой директиве, мы не проводим никаких имиджевых ритуалов. Тогда как он будет отображаться с изображением и названием на экране плеера? Вы уверены, что ваша песня появится на экране плеера? Если идет, то как появляются название песни и изображение? - person Rajeev Shetty; 30.01.2018
comment
Из справочника по интерфейсу AudioPlayer, который я привел в своем сообщении: AudioPlayer имеет визуальный вид на Echo Show и Echo Spot, хотя разработчик не имеет никакого контроля над его внешним видом. Таким образом, поведение звука одинаково независимо от того, есть ли на устройстве с Alexa экран или нет, и разработчик не может контролировать внешний вид Long Form Audio и AudioPlayer на поддерживаемых устройствах с экраном. AudioPlayer выглядит так, как показано здесь, в Echo Show и Echo Spot. - person peachykeen; 30.01.2018
comment
Похоже, что, к сожалению, вы не можете контролировать, какое изображение появляется и т. Д. Но вы можете отобразить экран до того, как запустится аудиоплеер. - person peachykeen; 30.01.2018
comment
Я добавил изображение в свой вопрос, где я могу видеть, что полный список воспроизведения музыкальных приложений saavn отображается с изображениями и именем в разделе очереди приложений alexa. Ты хоть представляешь, как это сделать? - person Rajeev Shetty; 08.02.2018