#javascript #web-audio-api
Вопрос:
Я пишу приложение, использующее веб-аудио для воспроизведения различных областей аудиотрека в виде циклов. Допустим, у меня есть одна область между 1 и 4 годами, а другая между 10 и 14 годами. Я хочу, чтобы пользователь вживую мог прыгать между циклами.
Как это лучше всего сделать с максимальной точностью? Какова наилучшая практика для получения текущего времени в интервале?
Ответ №1:
Вы можете установить интервал, который currentTime
будет часто:
const interval = setInterval(() => {
if (baseAudioContext.currentTime < 10 amp;amp; baseAudioContext.currentTime > 4) {
// here you should seek to sec 1s
}
else if (baseAudioContext.currentTime > 14) {
// here you should seek to sec 10s
}
}, 20); // here you can change the interval
Важный момент заключается в том, чтобы найти подходящее место для очистки этого интервала.
Комментарии:
1. Я делаю нечто подобное с requestAnimationFrame. Но нет ли лучшего решения в рамках API?
2. @arpo Я не смог найти лучшего решения