Очень быстрый повтор короткого звука с CreateJS
Цель
Я пытаюсь создать быстрый тикающий звук в приложении Cordova, используя Createjs.
Тиковая скорость звука изменяется в зависимости от настроек пользователя. На данный момент сроки ошибочны
Настроить
У меня есть аудиофайл в формате mp3 с одним тиковым звуком длиной 50 мс.
Целевая скорость повторения может достигать 10 раз в секунду.
Вопрос
Как заставить звук воспроизводиться равномерно и равномерно на такой скорости?
Более техническая деталь
createjs.Ticker.timingMode = createjs.Ticker.RAF_SYNCHED;
createjs.Ticker.framerate = 30;
Приветствия за любую помощь
1 ответ
Это должно быть довольно просто. Я настроил быструю скрипку для воспроизведения звука определенное количество раз в секунду. Это кажется довольно надежным, даже когда играешь на скорости 60 кадров в секунду.
https://jsfiddle.net/lannymcnie/ghjejvq9/
Подход состоит в том, чтобы просто проверить каждый Ticker.tick
если прошло время с момента последнего тика. Продолжительность определяется 1000/ticksPerSecond
,
// Every tick
var d = new Date().getTime();
if (d > lastTick + 1000/ticksPerSecond) {
createjs.Sound.play("tick");
lastTick = d;
}