Подтвердить что ты не робот

Как я могу сообщить Действия в Google для потокового аудио?

Я пишу приложение для работы с Google Actions. Единственным обломком является то, что я не могу найти никакой информации о том, как сформировать свой ответ, чтобы Google передавал аудио из заданного URL. Поддерживает ли Google еще это?

Я уже написал одно и то же приложение на Alexa, и на Alexa все, что вам нужно сделать, - это вернуть звуковой элемент (токен, URL-адрес, команда воспроизведения), и Alexa начнет передавать его.

Я должен упомянуть, что я НЕ использую API.AI, но просто использую SDK Actions и размещаю свой веб-сервис на Asure с помощью С#.

Итак, нижняя строка... Как я могу отформатировать ответ через SDK Actions для потоковой передачи файла MP3 в Google Home?

4b9b3361

Ответ 1

ОБНОВЛЕНИЕ: первый ответ работает только с V1 Dialogflow. Что касается V2, вы можете создать mediaResponse следующим образом (из Google Doc):

conv.ask(new MediaObject({
  name: 'Jazz in Paris',
  url: 'http://storage.googleapis.com/automotive-media/Jazz_In_Paris.mp3',
  description: 'A funky Jazz tune',
  icon: new Image({
    url: 'http://storage.googleapis.com/automotive-media/album_art.jpg',
    alt: 'Media icon',
  }),
}));

================================================== ======================

Я разместил ответ здесь.

По сути, вы можете создать объект mediaResponse, который будет воспроизводить ваш аудиофайл. Я могу воспроизвести аудиофайл за 50 минут.

Пример кода в Node.js может быть (с текущей документацией):

const richResponse = app.buildRichResponse()
 .addSimpleResponse("Here song one.")
  .addMediaResponse(app.buildMediaResponse()
  .addMediaObjects([
    app.buildMediaObject("Song One", "https://....mp3")
      .setDescription("Song One with description and large image.") // Optional
      .setImage("https://....jpg", app.Media.ImageType.LARGE)
        // Optional. Use app.Media.ImageType.ICON if displaying icon.
  ])
)
.addSuggestions(["other songs"]);

Ответ 2

Согласно документации вы можете встраивать элементы в SSML. https://developers.google.com/actions/reference/ssml содержит следующий пример:

<speak>
  Here are <say-as interpet-as="characters">SSML</say-as> samples.
  I can pause <break time="3s"/>.
  I can play a sound
  <audio src="https://www.example.com/MY_MP3_FILE.mp3">didn't get your MP3 audio file</audio>.
  I can speak in cardinals. Your number is <say-as interpret-as="cardinal">10</say-as>.
  Or I can speak in ordinals. You are <say-as interpret-as="ordinal">10</say-as> in line.
  Or I can even speak in digits. The digits for ten are <say-as interpret-as="characters">10</say-as>.
  I can also substitute phrases, like the <sub alias="World Wide Web Consortium">W3C</sub>.
  Finally, I can speak a paragraph with two sentences.
  <p><s>This is sentence one.</s><s>This is sentence two.</s></p>
</speak>

РЕДАКТИРОВАТЬ

p/s: SSML в Документах имеет следующие ограничения:

  • Один канал предпочтителен, но стерео приемлемо.
  • Максимальная продолжительность 120 секунд. Если вы хотите воспроизводить аудио с большей длительностью, подумайте о реализации медиа-ответа. Ограничение размера файла 5 мегабайт.

  • Исходный URL должен использовать протокол HTTPS.

  • Наш UserAgent при извлечении аудио "Google-Speech-Actions".