var Response = require('alexa-response');
//first intent
LaunchRequest:function(){
//Type 1 gives an error saying the "response is not valid" when tested in the developers console.
//the Response here is an npm library
Response.directives(
AudioPlayer.play({ url: 'https://s3.amazonaws.com/sounds226/boom.mp3' }),
AudioPlayer.enqueue({ url: 'https://s3.amazonaws.com/sounds226/boom.mp3' } ) .build();
//Type 2 : gives an error when tested on echosim.io saying that the response is not valid
speechOutput = this.t('WELCOME_MESSAGE'); this.response.audioPlayerPlay("REPLACE_ALL",audioData[1].url).speak(speechOutput);
this.emit(':responseReady');
//Type 3: tried to insert the audio tag within the speech response, error again
speechOutput = {
speech: "<speak>" +message+ "<audio src = 'https://s3.amazonaws.com/sounds226/boom.mp3'/></speak>",
type : 'SSML'
};
response.ask(speechOutput);
}
我想在alexa说出我的技巧之前插入一个音频。音频在90秒内完成。这是我理解音频标签错误或以错误的方式使用指令的方式吗?先感谢您。任何帮助表示赞赏
答案 0 :(得分:0)
以下是示例:
并且有明确的信息:
当响应LaunchRequest或IntentRequest时,您的响应可以包括AudioPlayer指令和标准响应属性,例如outputSpeech,card和reprompt。 例如,如果您在与Play指令相同的响应中提供outputSpeech,则Alexa会在开始传输音频之前说出所提供的文本。
有关开始游戏的更多信息
答案 1 :(得分:0)
在SSML响应中使用<audio>
标记时,请确保MP3文件符合Alexa所需的采样率(16000)和比特率(48kbps)。
答案 2 :(得分:0)
音频应编码为特定格式(项目速率16000和质量到48 kbps),以便Alexa播放。请使用以下命令
转换您的音频ffmpeg -i -ac 2 -codec:a libmp3lame -b:48k -ar 16000
您可以下载&#39; ffmpeg&#39;来自https://www.ffmpeg.org/
如果在运行上述命令之前将Windows CD用于ffmeg的bin文件夹。
答案 3 :(得分:0)