Есть ли способ говорить и воспроизводить аудио-файл одновременно на помощнике Google - PullRequest
1 голос
/ 21 марта 2020

Я использую выполнение диалогового потока. В приветственном намерении сначала воспроизводится аудиофайл, а затем говорит бот.

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

app.intent('welcome', (conv) => {
    conv.ask(`<speak><audio src="https://actions.google.com/sounds/v1/cartoon/cartoon_cowbell.ogg"></audio><speak>Welcome! What would you like to check?</speak></speak>`);
});

1 Ответ

1 голос
/ 23 марта 2020

Да, вы можете использовать теги <par> и <media> в Google SSML для создания параллельных «дорожек» аудио, которые воспроизводятся одновременно. Обратите внимание, что это не стандартные SSML, а расширения Google.

Тег <par> указывает, что все содержимое должно воспроизводиться параллельно. Внутри него обычно есть несколько блоков <media> (хотя у вас могут быть и другие блоки <par>, а также блоки <seq> для последовательных порций). Каждый блок <media> может иметь атрибуты, указывающие некоторые настройки для этого блока (например, громкость или начальные смещения), и содержит либо блоки <speak> или <audio>.

Таким образом, чтобы сделать то, что вы описываете, вы могли бы иметь что-то вроде этого:

<speak>
  <par>
    <media>
      <audio src="https://actions.google.com/sounds/v1/cartoon/cartoon_cowbell.ogg"></audio>
    </media>
    <media>
      <speak>Welcome! What would you like to check?</speak>
    </media>
  </par>
</speak>

Google также предоставляет инструмент, который поможет вам спроектировать это: https://actions-on-google-labs.github.io/nightingale-ssml-editor/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...