我正在尝试建立一个使用“mp3 response”播放媒体列表的意图。正如我在谷歌文档中读到的那样,MediaResponse可以包含一个媒体对象列表,我对它进行了测试,但它不工作。下面是我的代码:
if(!conv.surface.capabilities.has('actions.capability.MEDIA_RESPONSE_AUDIO')) {
conv.ask('Sorry, this device does not support audio playback.');
}
else{
var mo_list = [
new MediaObject({
name: 'Radio one',
url: 'my_mp3_url_1.mp3',
description: 'A funky Jazz tune'
}),
new MediaObject({
name: 'Radio two',
url: 'my_mp3_url_2.mp3',
description: 'A funky Jazz tune'
})
];
conv.ask( mo_list );
conv.ask(new Suggestions(['Radio two']));
}怎么了?如果我只使用一个MediaObject而不是列表(i.g.conv.ask(mo_list) )一切正常。
发布于 2019-03-21 00:58:50
尽管它被设计为接受列表(可能是由于早期的设计,或者为了适应未来的多种格式或功能),但您应该只传递此列表中的一项。
当音频完成时,如果您正在使用Action SDK,您将获得一个actions.intent.MEDIA_STATUS意图,或者将通过actions_intent_MEDIA_STATUS事件触发一个Dialogflow意图。然后,您可以使用另一个MediaObject进行响应。
https://stackoverflow.com/questions/55262940
复制相似问题