在 Google 家庭助手上播放 MP3 列表

Play a list of MP3 on Google Home assistant

我正在尝试构建一个使用“媒体响应”播放 mp3 列表的意图。正如我在 Action on 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 而不是列表 (i.g. conv.ask(mo_list[0]) ) 一切正常。

虽然它被设计为采用列表(可能是由于较早的设计或将来适应多种格式或功能),但您应该只传递此列表中的一项。

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