当前位置:  开发笔记 > 编程语言 > 正文

Alexa技能套件的AudioPlayer“ PlaybackNearlyFinished”请求不起作用

如何解决《Alexa技能套件的AudioPlayer“PlaybackNearlyFinished”请求不起作用》经验,为你挑选了1个好方法。

我编写了Alexa技能,该技能使用Lambda函数播放给定URL中的独特音频。

名为“ PlayAudio”的Intent正在运行,并播放我们JSON格式的API中的第一个音频项目。

名为“ PlaybackNearlyFinished”的Intent无法正常运行,也就是无法播放我正在馈送的音频文件。谁能确切解释为什么这行不通?

这是我的Lambda函数的一部分,其中包含两个Intent:

Fact.prototype.intentHandlers = {
    "PlayAudio": function (event, context, response) {
          fetchEnseParse("/latest", function(body) {
            if(body == "error") {
            } 
            else {
                var directives = body.enses.map(function(ense) {
                    var a = ense[1].fileUrl;
                    return {
                         'playBehavior': 'REPLACE_ALL', 
                         'audioItem': 
                             {
                                 'stream': 
                                     {
                                         'url': 'https://s3.amazonaws.com/media.ense.nyc/enses/2017_01_13T16_57_20.190Z/30312/0', 
                                         'token': '33529', 
                                         'offsetInMilliseconds': 0
                                     }
                             }, 
                             'type': 'AudioPlayer.Play'
                    };
                })
            }
            var jsonresponse = {
                'outputSpeech': {
                     'text': '', 
                     'type': 'PlainText'
                    }, 
                'directives': [directives[0]]
            };     
            response.justUseThisJsonPlease( { response: jsonresponse } );
        });
    },


    "AudioPlayer.PlaybackNearlyFinished" : function(event, context, response) {
            var second = 
            {
              "type": "AudioPlayer.Play",
              "playBehavior": "REPLACE_ENQUEUED",
              "audioItem": {
                "stream": {
                  "url": "https://s3.amazonaws.com/media.ense.nyc/enses/violetindigoviolet/30034/0",
                  "token": "33530",
                  "offsetInMilliseconds": 0
                }
              }
            }
            response.justUseThisJsonPlease( { response: second } );
    },

John Kelvie.. 5

似乎您的响应中包括outputSpeech。

对于此页面的常规意图而言,这是可以的,但对于AudioPlayer请求而言,这不是可以的:https: //developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/custom-audioplayer-interface-reference

并特别注意:

看到确切的有效载荷也有帮助。您可以使用它在本地进行测试并获得以下内容:https : //bespoken.tools/blog/2016/08/24/introducing-bst-proxy-for-alexa-skill-development

您应该会看到来自Alexa的另一个请求SystemExceptionEncountered,该请求应该提供有关错误原因的更多信息。当对AudioPlayer请求的响应不正确时,它将发送此消息。



1> John Kelvie..:

似乎您的响应中包括outputSpeech。

对于此页面的常规意图而言,这是可以的,但对于AudioPlayer请求而言,这不是可以的:https: //developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/custom-audioplayer-interface-reference

并特别注意:

看到确切的有效载荷也有帮助。您可以使用它在本地进行测试并获得以下内容:https : //bespoken.tools/blog/2016/08/24/introducing-bst-proxy-for-alexa-skill-development

您应该会看到来自Alexa的另一个请求SystemExceptionEncountered,该请求应该提供有关错误原因的更多信息。当对AudioPlayer请求的响应不正确时,它将发送此消息。

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有