Очень быстрый повтор короткого звука с 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;
}
Другие вопросы по тегам