有没有一种方法可以在Google Assistant上同时说和播放音频文件

时间:2020-03-21 12:25:44

标签: node.js actions-on-google chatbot dialogflow-es-fulfillment

我正在使用dialogflow实现,在我的欢迎意向中,首先播放音频文件,然后由机器人讲话。

有一种方法可以使两者同时工作,这意味着音频文件应在低音量的背景下播放,而bot会通过音频说出欢迎文本。

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 个答案:

答案 0 :(得分:1)

是的,您可以在Google的SSML中使用<par><media>标签来创建同时播放的音频的并行“音轨”。请注意,这些不是标准的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/