Звуковой ответ Webhook выходит неправильно, но кажется правильным - PullRequest
1 голос
/ 22 февраля 2020

При экспериментировании с ответами webhook в DialogFlow я возвращаю смешанный аудио и голосовой ответ. Консоль Тестов Действия считывает это буквально (то есть все xml -метки читаются вслух и т. Д. c.), Но когда я нажимаю вкладку Аудио в той же тестовой консоли, чтобы узнать, что не так в XML тестовая консоль правильно читает / воспроизводит звук и слова, как будто в этом нет ничего плохого.

Что может вызвать это?

Добавление: Это ответ, который я выдаю в Javascript:

    conv.ask(`<speak>Här kommer ljudet.</speak>` +
    `<speak><par><media xml:id="environment" end="effect.end"fadeOutDur="3.0s"><audio src="${ljud3}" /></media>` +
    `<media xml:id="effect"><audio src="${ljud1}" begin="2.0s" /> </media></par></speak>`);}

на вкладке аудио в консоли действий это выглядит следующим образом и работает, как и ожидалось, когда я нажимаю «Обновить и слушать» :

    <speak>Här kommer ljudet.</speak><speak><par><media xml:id="environment" end="effect.end" fadeOutDur="3.0s"><audio src="https://www.sigvardson.se/public/running_on_gravel.ogg" /></media><media xml:id="effect"><audio src="https://actions.google.com/sounds/v1/cartoon/clang_and_wobble.ogg" begin="2.0s" /> </media></par></speak>

и вкладки ответа в консоли выглядит так:

{"payload": {
"google": {
  "expectUserResponse": true,
  "richResponse": {
    "items": [
      {
        "simpleResponse": {
          "textToSpeech": "<speak>Här kommer ljudet.</speak><speak><par><media xml:id=\"environment\" end=\"effect.end\" fadeOutDur=\"3.0s\"><audio src=\"https://www.sigvardson.se/public/running_on_gravel.ogg\" /></media><media xml:id=\"effect\"><audio src=\"https://actions.google.com/sounds/v1/cartoon/clang_and_wobble.ogg\" begin=\"2.0s\" /> </media></par></speak>"
        }
      },
      {
        "simpleResponse": {
          "textToSpeech": "<speak>Vill du höra <break time=\"500ms\"/> mer?</speak>"
        }
      }
    ],
    "suggestions": [
      {
        "title": "ja"
      },
      {
        "title": "nej"
      }
    ]
  }
}

}}

1 Ответ

2 голосов
/ 22 февраля 2020

Проблема в том, что в вашем ответе есть два тега <speak>. Если вы измените это, чтобы иметь только один тег <speak> вокруг всего, он должен работать лучше.

...