Alexa 不会使用 lambda 和 python 播放流中的音频
Alexa will not play audio from a stream using lambda and python
我一辈子都无法理解为什么这不起作用。
这是我的 lambda 函数
def lambda_handler(event, context):
url = "https://prod-65-19-131-166.wostreaming.net/kindred-wcmifmmp3-128"
return build_audio_response(url)
def build_audio_response(url):
return {
"version": "1.01",
"response": {
"directives": [
{
"type": "AudioPlayer.Play",
"playBehavior": "ENQUEUE",
"audioItem": {
"stream": {
"token": "sdfsdfsdfsdfsdf3ew234235wtetgdsfgew3534tg",
"url": url,
"offsetInMilliseconds": 0
}
}
}
],
"shouldEndSession": True
}
}
当我 运行 在开发门户中进行测试时。我收到了应有的回复,但它缺少指令。
{
"version": "1.01",
"response": {
"shouldEndSession": true
},
"sessionAttributes": {}
}
Alexa 只是说 "There was a problem with the requested skills response."
嗯,我认为这是因为指令没有结束。但是我已经测试了流,它有效。是 https。有一个令牌。我错过了什么?
来自 Alexa 的响应意味着该技能返回了 Alexa 无法解析的无效响应。
如果您还没有这样做,您应该检查您的 CloudWatch 日志以了解 Lambda 函数是否出现任何错误:https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#
据我所知,开发人员门户仍然不显示指令,因此您不想在那里进行测试。来自开发者门户 Alexa 技能测试页面:
Note: Service Simulator does not currently support testing audio
player directives and customer account linking.
如果在 CloudWatch 中未发现任何错误,您可以进一步调试该页面的 copy/paste 和 Service Request
,并将其用作 Lambda 函数的自定义测试。在 Lambda 页面上,单击 Actions
下拉菜单和 select Configure Text Event
并将来自开发人员门户的请求粘贴到其中。这会让您更好地了解返回给 Alexa 的响应。如果您无法解决这个问题,请在此处添加该回复,我们将尝试进一步解决问题。
我一辈子都无法理解为什么这不起作用。
这是我的 lambda 函数
def lambda_handler(event, context):
url = "https://prod-65-19-131-166.wostreaming.net/kindred-wcmifmmp3-128"
return build_audio_response(url)
def build_audio_response(url):
return {
"version": "1.01",
"response": {
"directives": [
{
"type": "AudioPlayer.Play",
"playBehavior": "ENQUEUE",
"audioItem": {
"stream": {
"token": "sdfsdfsdfsdfsdf3ew234235wtetgdsfgew3534tg",
"url": url,
"offsetInMilliseconds": 0
}
}
}
],
"shouldEndSession": True
}
}
当我 运行 在开发门户中进行测试时。我收到了应有的回复,但它缺少指令。
{
"version": "1.01",
"response": {
"shouldEndSession": true
},
"sessionAttributes": {}
}
Alexa 只是说 "There was a problem with the requested skills response."
嗯,我认为这是因为指令没有结束。但是我已经测试了流,它有效。是 https。有一个令牌。我错过了什么?
来自 Alexa 的响应意味着该技能返回了 Alexa 无法解析的无效响应。
如果您还没有这样做,您应该检查您的 CloudWatch 日志以了解 Lambda 函数是否出现任何错误:https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#
据我所知,开发人员门户仍然不显示指令,因此您不想在那里进行测试。来自开发者门户 Alexa 技能测试页面:
Note: Service Simulator does not currently support testing audio player directives and customer account linking.
如果在 CloudWatch 中未发现任何错误,您可以进一步调试该页面的 copy/paste 和 Service Request
,并将其用作 Lambda 函数的自定义测试。在 Lambda 页面上,单击 Actions
下拉菜单和 select Configure Text Event
并将来自开发人员门户的请求粘贴到其中。这会让您更好地了解返回给 Alexa 的响应。如果您无法解决这个问题,请在此处添加该回复,我们将尝试进一步解决问题。