【问题标题】:Alexa Skill C# Will not play AudioAlexa Skill C# 不会播放音频
【发布时间】:2018-03-11 19:49:57
【问题描述】:

我有一项 Alexa 技能,我想在发布时播放一首歌曲。我将 VS2017 与 AWS Toolkit 和 AWS Lambda 函数一起使用。我已经配置并构建了我的 Alexa 技能并发布了我的 Lambda 函数,并通过 Alexa 控制台测试和我的 Alexa Echo 进行了验证,所有这些都正常工作。

当我从返回 SkillResponse 中的文本更改为使用 AudioPlayerPlay(来自 Alex.NET Nuget 包)返回音频指令时,我得到了格式正确且正确的 JSON,但是 Alexa 控制台测试显示它是不受支持的设备,并且我的 Alexa Echo 什么都不做。

这是来自 AWS Lambda 测试的 JSON。

{
  "version": "1.0",
  "response": {
    "shouldEndSession": true,
    "directives": [
      {
        "playBehavior": "REPLACE_ALL",
        "audioItem": {
          "stream": {
            "url": "https://music.amazon.com/my/albums/You+Get+What+You+Give/YOU+GET+WHAT+YOU+GIVE/ZAC+BROWN+BAND?ie=UTF8&albumAsin=B00438BTJ6&playNow=1&trackAsin=B004386MMU",
            "token": "scrumstartsong",
            "expectedPreviousToken": null,
            "offsetInMilliseconds": 0
          }
        },
        "type": "AudioPlayer.Play"
      }
    ]
  }
}

这是指令:AudioPlayer.Play 命令的 Alexa 控制台测试条目

{
    "header": {
        "namespace": "AudioPlayer",
        "name": "Play",
        "messageId": "d0c18d3c-2403-4f56-a059-67f3855f4e47",
        "dialogRequestId": "0bae3b83-21f6-47a3-ae7c-b13b9487e60e"
    },
    "payload": {
        "audioItem": {
            "audioItemId": "amzn1.as-ct.v1.ThirdPartySdkSpeechlet#ACRI#url#ACRI#{\"directedCustomerId\":\"amzn1.ask.account.AHGMQILIBZCL6YKVYSGTEOJGJ2B7I3FUTXBL7AZWBULBPMOA4CGW7JBRTO7AZXAWVLVDLEB4EP3XRPOZXAUVA64I66QCHGSZ5A3OK4GHP4TR6BOJVAEKXVGD7NTASS6AYD5RDCBS4JS3SH7EFGYBWS34F7TC7GFMDOWRICBA6EYYKISCVKURCUMFTSXXWZDXUVE7NG336KWDJHY\",\"modelKey\":\"amzn1.ask.skill.8e374b1d-05d8-4455-afc5-d701aed22b7d\",\"obfuscatedCustomerId\":\"A2JSZ6NNUSHRJJ\",\"token\":\"scrumstartsong\"}",
            "stream": {
                "offsetInMilliseconds": 0,
                "expiryTime": "2019-03-11T19:47:01+0000",
                "url": "https://music.amazon.com/my/albums/You+Get+What+You+Give/YOU+GET+WHAT+YOU+GIVE/ZAC+BROWN+BAND?ie=UTF8&albumAsin=B00438BTJ6&playNow=1&trackAsin=B004386MMU",
                "token": "amzn1.as-ct.v1.ThirdPartySdkSpeechlet#ACRI#url#ACRI#{\"directedCustomerId\":\"amzn1.ask.account.AHGMQILIBZCL6YKVYSGTEOJGJ2B7I3FUTXBL7AZWBULBPMOA4CGW7JBRTO7AZXAWVLVDLEB4EP3XRPOZXAUVA64I66QCHGSZ5A3OK4GHP4TR6BOJVAEKXVGD7NTASS6AYD5RDCBS4JS3SH7EFGYBWS34F7TC7GFMDOWRICBA6EYYKISCVKURCUMFTSXXWZDXUVE7NG336KWDJHY\",\"modelKey\":\"amzn1.ask.skill.8e374b1d-05d8-4455-afc5-d701aed22b7d\",\"obfuscatedCustomerId\":\"A2JSZ6NNUSHRJJ\",\"token\":\"scrumstartsong\"}"
            }
        },
        "playBehavior": "REPLACE_ALL"
    }
}

我为令牌尝试了不同的(并且没有)值。

我已验证我可以通过让 Alexa 播放来访问我的 Echo 上的歌曲。

【问题讨论】:

    标签: c# audio alexa


    【解决方案1】:

    我的感觉是您的代码没有问题!到目前为止,我公平地说,Alexa 开发者控制台模拟器不支持音频播放器指令:(

    这记录在https://developer.amazon.com/docs/custom-skills/audioplayer-interface-reference.html#requests

    在这里也可以看到我的观点:Alexa Skill AudioPlayer: Console test Support poor support/bugs

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多