【问题标题】:Alexa SSML not playingAlexa SSML 不播放
【发布时间】:2016-12-31 01:47:38
【问题描述】:

我正在尝试进入 ASK,我只是尝试了一个 SSML 的虚拟示例。 我正在使用 Amazon Lambda 和 Python。如果我从 Lambda 控制台测试我的代码,我会得到预期的输出:

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "text": "<speak><audio src='https://s3.amazonaws.com/aws-website-resources-1183x/dice-die-roll.mp3' />Three</speak>",
      "type": "SSML"
    },
    "shouldEndSession": true,
    "card": {
      "content": "Three.",
      "type": "Simple",
      "title": "Dice"
    }
  }
}

当我转到 Alexa 服务模拟器并尝试任何请求时,输出语音中的文本消失了,控制台中的“收听”按钮被禁用,如果我在 Echo 上尝试它,它不会播放任何内容:

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "type": "SSML"
    },
    "card": {
      "content": "Three.",
      "title": "Dice",
      "type": "Simple"
    },
    "shouldEndSession": true
  }
}

如果我将 SSML &lt;speak&gt;&lt;audio src='https://s3.amazonaws.com/aws-website-resources-1183x/dice-die-roll.mp3' /&gt;Three&lt;/speak&gt; 复制/粘贴到语音模拟器中,我可以播放它并按预期播放。我已经使用 ffmpeg 转换了 mp3 文件:ffmpeg -y -i a.mp3 -ar 16000 -ab 48k -codec:a libmp3lame -ac 1 output.mp3 并且我知道应该信任 Amazon 的 S3,可能是什么问题?我尝试在 SSML 中使用单引号和双引号,但我尝试转义引号无济于事。有人知道我应该研究什么吗?

【问题讨论】:

  • 仅供参考,即使我删除了音频并只留下&lt;speak&gt;Three&lt;/speak&gt;,也会发生同样的情况。

标签: amazon-web-services alexa-skills-kit ssml


【解决方案1】:

愚蠢的错误。输出应该是ssml 而不是text

"outputSpeech": {
      "ssml": "<speak><audio src='https://s3.amazonaws.com/aws-website-resources-1183x/dice-die-roll.mp3' />Three</speak>",
      "type": "SSML"
    },

【讨论】:

    猜你喜欢
    • 2019-05-09
    • 2018-11-23
    • 1970-01-01
    • 2016-08-02
    • 2017-11-29
    • 2019-07-31
    • 2016-08-23
    • 2016-10-19
    • 1970-01-01
    相关资源
    最近更新 更多