在Google Home Assistant上播放MP3列表

时间:2019-03-20 14:17:36

标签: node.js actions-on-google

我正在尝试使用“媒体响应”建立播放mp3列表的意图。正如我在Google文档上的“操作”中所读到的那样,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而不是列表(例如conv.ask(mo_list [0])),那么一切正常。

1 个答案:

答案 0 :(得分:0)

尽管其设计目的是要列出一个列表(可能是由于较早的设计或将来要包含多种格式或功能),但您只应在此列表中传递一个项目。

音频播放完毕后,如果您使用的是Action SDK,则将获得actions.intent.MEDIA_STATUS意图,否则actions_intent_MEDIA_STATUS事件将触发一个Dialogflow意图。然后,您可以使用另一个MediaObject进行响应。