Пишу небольшую игру. Нужно синхронизировать звук с движениями.
Если использовать Audio, звук запаздывает примерно на 250 ms.
Если AudioBufferSourceNode - на 200ms. Загружаю звуки заранее.
Я могу поставить шедулер и заряжать звук заранее, но это как-то несерьёзно. Тем более, что задержка может в других условиях быть другой, и интервал движения меньше 200ms.
Сам звук короткий, 50ms.
Примерно так:
let ss = actx.createBufferSource();
ss.buffer = SndSplash;
ss.connect(actx.destination);
ss.start(0);
let timer = setTimeout(step, 200);
А хочется 100ms.
Если в start задать время, то звук произойдёт с задержкой от назначенного времени
Чего я не понимаю, и как мне построить синхронизацию звука и движения?