Estoy trabajando en un programa de música que requiere que varios elementos de JavaScript estén sincronizados con otro. He estado usando setInterval
, que funciona muy bien al principio. Sin embargo, con el tiempo, los elementos se desincronizan gradualmente, lo que es malo en un programa de música.
He leído en línea que setTimeout
es más preciso y, de setTimeout
alguna manera, puedes tener bucles. Sin embargo, no he encontrado una versión genérica que ilustre cómo esto es posible.
Básicamente tengo algunas funciones como estas:
//drums
setInterval(function {
//code for the drums playing goes here
}, 8000);
//chords
setInterval(function {
//code for the chords playing goes here
}, 1000);
//bass
setInterval(function {
//code for the bass playing goes here
}, 500);
Funciona muy bien, inicialmente, pero en el transcurso de aproximadamente un minuto, los sonidos se desincronizan notablemente como he leído setInterval
. He leído que setTimeout
puede ser más exacto.
¿Alguien podría mostrarme un ejemplo básico de uso setTimeout
para repetir algo indefinidamente? Alternativamente, si hay una manera de lograr resultados más sincronizados setInterval
o incluso con otra función, hágamelo saber.