我想播放20种带有媒体响应的音频,一个又一个。
This链接说,我们无法在Google Assistant中发送多个简单回复。媒体回应如何?
答案 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;
}