我们可以使用Google Assistant中的对话框实现网络钩子播放多个音频文件吗

时间:2019-05-16 09:36:42

标签: dialogflow google-assistant-sdk google-home

我想播放20种带有媒体响应的音频,一个又一个。

This链接说,我们无法在Google Assistant中发送多个简单回复。媒体回应如何?

2 个答案:

答案 0 :(得分:3)

虽然您不能在Google Assistant中发送多个简单回复,但可以通过发送一个包含所有音频文件的简单回复来使其正常工作。

类似的东西:

conv.ask(`
  <speak>
    My first sound <audio src="..."></audio>
    <break time="2" />
    My second sound <audio src="..."></audio>
  </speak>
`)

您可以了解有关here的更多信息。

希望有帮助。

答案 1 :(得分:3)

我还没有使用过Google助手,而是在单个响应中从dialogflow实现Webhook发送了多个音频URL,所以我将音频URL存储在一个数组中,然后一个接一个地播放。

在下面的代码中,我将包含“ url”,“ title”和“ type”的对象推入名为“ messages”的数组中。

代码

let payload = {
        "web": {    
            "messages": []
        }
    }
    try {
        ayahs.forEach(function (item) {
            payload.web.messages.push({  
                "url": item.audio,
                "title": item.text,
                "type": "audio",
            })
        });

        raw.response.send({

            "fulfillmentText": `Audio is being played`,  
            "payload": payload
        })
        return;
    }