Оказывается , что нет никакого способа , чтобы отключить микрофон с помощью голоса в это время, как вы предлагаете; эта ветка Reddit подтверждает это, но, к сожалению, я не смог найти официальный источник Amazon для этого. Кнопка отключения звука в верхней части устройства в настоящее время кажется единственной.
К сожалению, развитие умения отключать микрофоны также кажется невозможным. Ваше умение должно возвращать ответ JSON в этом формате со следующими ключами:
version
- Alexa API версия
sessionAttributes
- постоянные пары ключ-значение (для пользовательских данных, сохраняемых в сеансе)
response
outputSpeech
- Слова, которые вы хотите, чтобы Алекса сказала
card
- Данные для «карты» в приложении Alexa для отображения
reprompt
- Текст, который нужно использовать, если пользователь не отвечает должным образом и нуждается в повторном запросе.
directives
- Действия на уровне устройства, которые выполняются с использованием интерфейса в Alexa API
shouldEndSession
- Завершает текущий сеанс чата с вашим навыком
Похоже, что любой ответ, который контролирует устройство является directive
. По состоянию на январь 2017 года текущие интерфейсы, поддерживаемые Alexa, перечислены здесь :
AudioPlayer
PlaybackController
Ни один из них не предоставляет никакого интерфейса с микрофоном, так что, похоже, вам не повезло.
Зачем?
Я подозреваю, что Amazon намеренно не поддерживает это, потому что Alexa может работать на многих различных устройствах; некоторые из них - «нажми и говори», некоторые - «нажми и говори» (например, «Amazon Tap»), а некоторые инициируют «пробуждение» («всегда слушаю»). Чтобы добавить поддержку отключения звука микрофона, Алекса была бы намного ближе к устройствам, запускаемым с помощью бодрствования, что может быть проблематично.
Кроме того, поддержка приглушения звука может привести к неприятным авариям, когда Алекса подумала, что вы сказали «приглушить микрофон», заставив вас встать и включить его, потому что теперь он не может отвечать вам после отключения звука .