Google Actions SDK: как включить звук при отображении основного ответа карты - PullRequest
0 голосов
/ 30 января 2019

при ответе на пользовательский запрос с помощью действий SDK я могу создать базовую карту, используя:

conv.ask(new BasicCard({
  text: 'Text with card display',
  title: 'Title:',
  display: 'CROPPED',
}));

Однако, если я хочу предоставить пользователю немного аудио (отличается от отображаемого текста)как мне это сделать?

Я пытался добавить conv.ask('<speak>' + 'Hello' + '</speak>');, но выдает ошибку

MalformedResponse
expected_inputs[0].input_prompt.rich_initial_prompt.items[0].simple_response: 'display_text' must be set or 'ssml' must have a valid display rendering.

Каков наилучший способ включить аудио в проект действий Google?Спасибо

Ответы [ 2 ]

0 голосов
/ 31 января 2019

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

Хотя вы можете создать SimpleResponse, в котором будет использоваться другой текст, который будет произноситься по сравнению с отображаемым, вы должны убедиться, что оба ответа по существу одинаковы,Вы можете использовать SimpleResponse с чем-то вроде этого:

conv.ask(new SimpleResponse({
  speech: '<speak>Here are the results, showing our sunny recreational facilities. <audio src="https://actions.google.com/sounds/v1/animals/cicada_chirp.ogg">And the sounds of nature.</audio></speak>',
  text: 'Here is the result',
}));
0 голосов
/ 30 января 2019

Если вы хотите воспроизводить аудио в фоновом режиме, я бы предложил использовать SSML , но если ваша реальная цель - просто передать аудио пользователю (например, подкаст или что-то в этом роде)Вы можете использовать Media Response .

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

...