我正在使用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>`);
});
答案 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/