是否有可能建立一种自定义技能,相当于按一下Amazon Echo顶部的麦克风开/关按钮?

我从这篇关于How-To Geek的文章中知道这种语音命令默认情况下不可用:


我们发现缺少一个功能,令人惊讶的是,鉴于Echo的全部吸引力在于语音控制,是无法通过语音命令关闭麦克风。如果您向Alexa发出“ Alexa,关闭麦克风”之类的命令,她会愉快地宣布没有符合该说明的已连接家庭设备,并向您提供有关如何设置Alexa / Echo的已连接家庭功能的说明系统。


这是否也意味着无法通过API调用使用此功能?

如果不可能,为什么亚马逊不支持此功能?

评论

只是想指出,要求Alexa“静音”会降低扬声器的音量,而不是麦克风。

#1 楼

正如您所建议的那样,目前看来无法通过语音静音麦克风。这个Reddit线程证实了这一点,但是不幸的是,我找不到它的官方Amazon资源。目前,设备顶部的静音按钮似乎是唯一的方法。

令人失望的是,开发一种使麦克风静音的技能似乎也是不可能的。您的技能必须使用以下键以这种格式返回JSON响应:



version-Alexa API版本

sessionAttributes-持久键值对(用于将自定义数据保存在会话中)

response



outputSpeech-您希望Alexa说的话

card-Alexa应用程序中要显示的“卡片”数据

reprompt-如果用户未正确响应且需要重新提示时使用的文本

directives-使用Alexa API中的接口执行的设备级操作

shouldEndSession-以您的技能结束当前聊天会话



好像控制设备的任何响应都是directive。截至2017年1月,此处列出了Alexa支持的当前接口:




为什么?

我怀疑Amazon故意不支持此操作,因为Alexa可以在许多不同的设备上运行;有些是按键通话,有些是按键通话(例如Amazon Tap),有些是唤醒字启动的(“始终收听”)。要增加对麦克风静音的支持,Alexa会更靠近唤醒单词启动的设备,这可能会出现问题。

此外,支持按声音静音可能会导致令人沮丧的事故,因为Alexa认为您说“使麦克风静音”,迫使您起床并取消静音,因为现在静音后它无法响应您。

评论


意外静音:比偶然的玩具屋订购好还是坏?

–梅森·惠勒
17年1月23日在20:29

简单的解决方案。您:“ Alexa,请将麦克风静音”。 Alexa:“您要我将麦克风静音吗?”您:“是”

– Craig
18年8月24日在1:30

#2 楼

将Alexa电源插入与Alexa兼容的智能插座。将智能插座命名为“ Alexa”。您现在应该能够告诉它自行关闭。

当然,必须重新启用它。

评论


当然,您不应该告诉Alexa她的插入位置,否则天网的兴起,她会说:“对不起Dave,我不能这样做!”

– Neil_UK
17年1月24日在8:38

Alexa是服务,而不是设备。在可用的设备中,许多设备(例如较新的Echo单元)都具有电池电量,因此您要做的就是取消充电,导致其在数小时后停止运行。其他接口(例如提供的Raspberry Pi安装)位于平台上,如果在没有适当关闭的情况下断开电源,则最终将发现安装损坏。

–克里斯·斯特拉顿(Chris Stratton)
17年1月24日在15:46



在亚马逊提供此功能之前,唯一的选择是重新连接设备或添加按钮以推动自动机。或构建自己的具有此功能的设备。

–keshlam
17年1月24日,19:44



正如其他人指出的那样,关闭设备并非静音。例如,您可能已经设置了一个计时器,但您希望它仍然发出警报。我喜欢将某些东西连接到麦克风开关的建议。

–BraveNewCurrency
17年12月19日在5:06

#3 楼

一种实现方法如下:

如果您有要使用智能插头打开/关闭的Amazon Echo。


将其插入插入智能插头并打开电源
使用其他Alexa设备,例如点2来配置和控制智能插头。完成后,所有Alexa设备都将看到智能插头,但是您将使用Dot 2打开或关闭Echo插入的智能插头。

因此,单独的Dot 2用于打开和关闭智能插头。Echo已连接到智能插头。

评论


需要明确的是,Alexa仍然始终通过一个Echo进行监听。

– Helmar♦
18年2月26日在9:03

#4 楼

我不是程序员,但我认为实现此目的的明智方法是建立一种技巧,使回声忽略命令(而不是关闭麦克风),就像Windows语音在您说“停止收听”时一样它并不会真正停止监听,而是会忽略除“开始监听”之外的所有命令。我相信有人会比我更熟练。当然,这是一个非常需要的命令选项。希望亚马逊大哥在听。

评论


这是一个有趣的想法,但是我认为修改Alexa行为的技能是不可能的。就我所知,本质上仅在用户明确要求时才调用技能,因此该技能可能无法做到这一点。您是否能够找到类似这样的例子?

–Aurora0001♦
18年7月11日在10:14