Можно ли подождать, пока метод ask вернет ответ? - PullRequest
0 голосов
/ 09 октября 2018

Используя actions-on-google, при обработке намерения и затем conv.ask() для отправки ответа агенту, возможно ли подождать, пока запрос будет успешно отправлен, и затем продолжить делать что-то еще?Есть ли способ await ответа метода ask?

Моя идея заключается в том, чтобы сказать агенту что-то сказать, вручную запустив время воспроизведения звука (mp3) после успешной отправки метода ask агенту.Прямо сейчас агенту требуется некоторое время, чтобы получить запрос, сказать что-то и затем воспроизвести звук.Запрос отправляется, но не принимается мгновенно, поэтому воспроизводимый мной звук воспроизводится раньше, чем агент что-то сказал.

Это возможно?

Обновление

Сейчас я использую SSML, чтобы заставить два разных голоса говорить в одном намерении.Идея в том, что у нас разговаривают две «личности», и у каждой личности свой голос.В настоящее время в SSML используются некоторые атрибуты для этого.Давайте назовем их P1 и P2.P1 начинает с того, что говорит что-то, и как только он заканчивается, звучит звук блендера.Сразу после воспроизведения звука начинает говорить вторая личность P2, а затем P1 затем «отвечает» ему, но все это происходит в одном намеренном ответе.Это идея, которую я пытаюсь реализовать.

1 Ответ

0 голосов
/ 09 октября 2018

Если вы хотите воспроизводить звук сразу после того, как что-то говорите, это больше похоже на то, что вы хотите использовать ответ Media как часть того, что вы отправляете обратно.Ваш mp3-файл должен быть доступен по HTTPS-адресу, хотя этот адрес может быть любым, если устройство может его разрешить.Поскольку он будет находиться на том же сервере, на котором работает веб-крючок, и веб-крючок должен иметь общедоступный URL-адрес HTTPS, то, вероятно, аудио также будет (или может).

Если вы заинтересованы в том, чтобы знать, чтозадержка, вы, вероятно, можете рассчитать разницу между отправкой ответа и запросом устройством файла mp3.

Нет прямого способа узнать, когда помощник закончил произносить текст, но вы можете использовать трюкис ответом СМИ, чтобы получить представление в зависимости от ваших потребностей.

Обновите в зависимости от вашего варианта использования.

Если вы делаете все это как один ответ, ион вписывается в этот ответ, и ваш звук длится всего несколько секунд, тогда вы можете сделать это, используя SSML в качестве одного ответа.С этой частью все в порядке.

Если звук длиннее или вы хотите, чтобы между вашими личностями было больше взад и вперед, вы можете использовать ответ Media для воспроизведения звука (даже очень короткого пустого звука).По окончании воспроизведения звука он отправляет событие в действие, и вы можете перейти к следующему шагу в ответе ваших личностей.

...