在支持游戏 Web API 的设备上,我使用 SSML 语音标记并通过 JavaScript 播放解复用的 mp3,而不是通过 Alexa 响应输出语音。当 mp3 播放完毕后,我想打开麦克风以允许播放器回答提示。在 Alexa HTML SDK 文档中,它说我可以使用
alexaClient.voice.requestMicrophoneOpen()
做到这一点,但它会出错,原因代码为 permission-denied
。我需要做一些特殊的事情才能使用此方法吗?
我收到了来自 Alexa 开发者沟通团队的以下消息:
“...我们对 alexa.voice.requestMicrophoneOpen API 进行了更改,需要确认您的技能没有使用它。由于我们没有收到您的回复,我们已经取消了认证过程。在重新提交之前,请确认您” re技能不使用API。 请参阅此处,了解有关如何通过语音启用 Web API 技能的更新指南 将语音控制和语音添加到 Web 应用程序:将语音控制和语音添加到 Web 应用程序”
这可能解释了为什么您现在使用该 API 时遇到错误。查看链接中的详细信息以获取可能的解决方案。一般想法是您的网络应用程序应该向您的技能后端发送一条消息。然后你应该让你的技能后端明确响应,将 shouldEndSession 标志设置为 false 以打开麦克风。