【发布时间】:2020-03-12 06:20:14
【问题描述】:
我正在尝试编写一个仅播放 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。
【问题讨论】:
-
你如何测试这个?开发控制台不支持音频接口,因此测试您的技能的唯一方法是使用物理设备,或者手机应用程序也应该可以工作。
标签: alexa alexa-skills-kit alexa-skill alexa-sdk-nodejs ask-sdk