Znači, ako koristim klasični loop kod neke trake…to ne radi glatko, nego ima jedan mali prekid koji mi jako smeta.
Kako ga izbjeći?
Ja napravih ovako, ali to sigurno nije elegantno rješenje:
var loop=[BackgroundLoop,BackgroundLoop2];
BackgroundLoop.play();
var step=0;
setInterval(function()
{
step++;
if(step==2)step=0;
loop[step].play();
},20020)
Primjetite da su BackgroundLoop i BackgroundLoop2 različiti elementi čiji je src ista sound traka!
Ovako mogu pustiti drugu traku, neposredno prije završetka prve…i onda se ne osjeti prijelaz.
timeout pomaze, no svejedno ce ti se nekad dogodit da “zabrejka”, “preskace” i sl, buduci da se JS izvrsava u browseru, a sve ovisi o brzini i zauzetosti CPU-a i RAMA u tom trenutku izvođenja.
To ti je klasika, slicno kao youtube … valjda si i sam primjetio da bez obzira na brzinu konekcije, kad imas otvoreno masu prozora u browseru i pozadinskih programa … da zna mjuza stekat
I ja sam isto koristio soundmanager…ali preglednik mora podržavati flash za tako nešto. A ovdje imam situaciju da stvar mora raditi na uređajima koji ne podržavaju flash…
Upravu si…nisam to niti razmatrao. Meni su to odbili čim su vidjeli da se učitava .swf file. A ja sam primjer koda imao još iz starih vremena, pa niti nisam imao pojma kako radi…
Nego, složih loop petlju pomoću tog sm2, i opet imam break kod prijelaza. Pomislih čak da mi se uvukla ta pauza u samu traku, ali ako je pustim u winamp playeru sa repeat opcijom …onda ide fino kontinuirano u krug…