我正在尝试编写一个简单地播放 MP3 文件的 Alexa 技能。我使用以下代码修改了默认的“hello world”lambda:
const Alexa = require('ask-sdk-core');
const LaunchRequestHandler = {
canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
},
handle(handlerInput) {
return {
"response": {
"directives": [
{
"type": "AudioPlayer.Play",
"playBehavior": "REPLACE_ALL",
"audioItem": {
"stream": {
"token": "12345",
"url": "https://jpc.io/r/brown_noise.mp3",
"offsetInMilliseconds": 0
}
}
}
],
"shouldEndSession": true
}
}
}
};
exports.handler = Alexa.SkillBuilders.custom()
.addRequestHandlers(
LaunchRequestHandler,
)
.lambda();
但是当我部署代码并调用技能时,它不会发出任何声音或报告任何错误。当我将handle
代码替换为
const speakOutput = 'Hello world';
return handlerInput.responseBuilder
.speak(speakOutput)
.reprompt(speakOutput)
.getResponse();
然后她在被调用时说你好世界。
我的问题:为什么她会跟我说话,但似乎不会播放我的mp3?我已经看到有关堆栈溢出的其他问题,原因是他们没有使用 https,但我使用的是 https。