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 setTimeoutes más preciso y, de setTimeoutalguna 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 setTimeoutpuede ser más exacto.
¿Alguien podría mostrarme un ejemplo básico de uso setTimeoutpara repetir algo indefinidamente? Alternativamente, si hay una manera de lograr resultados más sincronizados setIntervalo incluso con otra función, hágamelo saber.