Я решил эту проблему в своем умении Rainmaker: https://www.amazon.com/Arif-Gebhardt-Rainmaker/dp/B079V11ZDM
Хитрость в том, чтобы обработать событие PlaybackNearlyFinished
.https://developer.amazon.com/de/docs/alexa-voice-service/audioplayer.html#playbacknearlyfinished
Это событие вызывается незадолго до окончания текущего воспроизводимого аудиопотока.Ответьте на событие другой директивой audioPlayerPlay
с поведением ENQUEUE
.Это будет бесконечно зацикливать ваше аудио до тех пор, пока оно не будет прервано, например, AMAZON.StopIntent
.
Advanced: если вы хотите ограниченный цикл, скажем, в десять раз больше звука, используйте токен директивы audioPlayerPlay
для обратного отсчетас десятиКак только счетчик достигнет нуля, просто не ставьте в очередь другой звук.Но обязательно ответьте что-нибудь в этом случае, даже если это просто пустой ответ.В противном случае вы получите ошибку тайм-аута или тому подобное.