Alexa Skill: возможно ли приостановить и возобновить навык программно? - PullRequest
0 голосов
/ 20 ноября 2018

Я развиваю навык Alexa, который поддерживает тренировку.Пока люди делают упражнения, Алекса воспроизводит фоновый звук.

Мне интересно, можно ли приостановить тренировку и возобновить ее позже.Например, предположим, что тренировка длится 60 секунд.Когда пользователь говорит «приостановить тренировку» через 30 секунд, Алекса перестанет воспроизводить звук, чтобы дождаться следующей команды.Позже, когда пользователь говорит «возобновить обучение», Alexa возобновит воспроизведение звука, начиная с 30 секунд, в течение которых оно было приостановлено.И если время ожидания слишком велико, скажем, 60 секунд, у Алекса будет тайм-аут.В настоящее время я просто использую this.response.speak (audioName) для воспроизведения аудио.

Я искал документ разработчика, но не смог найти подходящих решений.Это вообще возможно?Заранее спасибо!

1 Ответ

0 голосов
/ 21 ноября 2018

Умения Alexa не могут быть приостановлены как таковые, но вы можете достичь аналогичного результата, сохранив сведения о сеансе умений в базе данных, такой как firebase или DynamoDB.Данные сохраняются, как только вы говорите Алекса, попросите приостановить обучение.Поэтому в следующий раз, когда вы скажете «Алекса», попросите возобновить тренировку, навык извлекает сохраненные данные и начинает отсюда.

Несколько вещей, которые следует учитывать:

  1. Ваш навыкактивен только когда сессия открыта.Что составляет около 8 секунд между каждым взаимодействием.Вы можете использовать короткий аудиоклип (до 90 секунд в своих ответах, чтобы продлить навык дольше.

  2. Вы можете использовать директиву AudioPlayer для воспроизведения 10-секундной музыкальной / тихой дорожки изациклите это.Итак, навык начинается, и это ваше первое упражнение, которое длится две минуты.Звук воспроизводится в цикле в течение двух минут, и после этого ваш навык воспроизводит звук уведомления.Это дает дополнительное преимущество использования встроенных команд, таких как Resume и Pause, без использования имени навыка.

...