Синхронизация звука c движением на странице
Пишу небольшую игру. Нужно синхронизировать звук с движениями.
Если использовать 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 задать время, то звук произойдёт с задержкой от назначенного времени Чего я не понимаю, и как мне построить синхронизацию звука и движения? |
Более того, если я настраиваю отрисовку движения по событию onended, звук ухитряется воспроизводиться ПОСЛЕ отрисовки, то есть событие onended может произойти до того, когда звук реально закончится воспроизводится.
|
Вот, умным людям задал вопрос и сразу получил ментальный ответ.
Вопрос снимается, тестировал на виртуальной машине и совсем об этом забыл. Задержка связана с пробросом звука на физическое устройство. Ура, всё работает. |
Часовой пояс GMT +3, время: 04:40. |