Nieuw lid |
|
Ik probeer een website te maken waar je zelf drum-rifs kunt maken. Dit doe ik door 3 arrays te maken (bas, snare en hihat), die loop ik af met een for-loop en kijk of hij moet spelen, dan zorg ik met de functie setTimeout dat het juiste geluid op het juiste moment afspeelt.
Opzig gaat alles goed zolang ik 'metronoom' geen te hoge waarde geef (=sneller) maar als hij te hoog gaat komt er (heb ik de indruk) een onregelmatigheid. Ik denk dat de oorzaak ligt dat de for-loop te veel tijd in beslag neemt.
Weet iemand hoe ik dit weg krijg?
snelheid = 60/metronoom*1000;
for(var i=0; i<max; i++){
if(bas[i]==1){
tijdPlay('kick', (i+1)*snelheid);
}
if(snare[i]==1){
tijdPlay('snare', (i+1)*snelheid);
}
if(hihat[i]==1){
tijdPlay('hihat', (i+1)*snelheid);
}
}
snelheid = 60/metronoom*1000; for(var i=0; i<max; i++){ if(bas[i]==1){ tijdPlay('kick', (i+1)*snelheid); } if(snare[i]==1){ tijdPlay('snare', (i+1)*snelheid); } if(hihat[i]==1){ tijdPlay('hihat', (i+1)*snelheid); } }
PS tijdPlay is een functie waar ik een geluid afspeel met vertraging.
|