ciao a tutti
ho un file audio che risiede nella libreria...
con attachSound lo carico tranquillamente,
vorrei riportare in flash il tempo che dura è possibile?
ciao a tutti
ho un file audio che risiede nella libreria...
con attachSound lo carico tranquillamente,
vorrei riportare in flash il tempo che dura è possibile?
scusami ma solo ho potuto vedere il tuo aiuto...
ho capito ma non conosco la proprietà, se mi riporti un esempio...
grazie 1000
codice:var myS:Sound = new Sound(this); myS.attachSound("mp3"); trace("Durata in sec = "+myS.duration/1000);![]()
sono riuscito a capire la funzione duration
on (release) {
musica1 = new Sound(_root);
musica1.attachSound("suono1");
musica1.start(0,1);
totale.text = musica1.duration /100;
play();
}
sin qui tutt'ok...
vi chiedo come potrei, conoscendo la durata del brano, avere una casella di testo che mi esegua in conto alla rovescia, cioè dei secondi che mancano alla fine dell'ascolto del brano?!?!?
es: un countdown mentre ascolto lui scrive quanti secondi mancano alla fine...
sulla _root:
e il bottone:codice:var timerID=null; function CountDown(soundObj,campoTesto){ var timePast=Math.round((soundObj.duration-soundObj.position)/1000); if(timepast==0) clearInterval(timerID); else campoTesto.text=timePast }
Così la funzione si ferma quando ripremi il bottone o quando la canzone finisce.codice:on(release) { clearInterval(_root.timerID); musica1 = new Sound(_root); musica1.attachSound("suono1"); musica1.start(0,1); _root.timerID=setInterval(_root.countDown,1000,musica1,totale); }
questo va sul frame della timeline giusto...
var timerID=null;
function CountDown(soundObj,campoTesto){
var timePast=Math.round((soundObj.duration-soundObj.position)/1000);
if(timepast==0) clearInterval(timerID);
else campoTesto.text=timePast
}
il mio caso...
var timerID=null;
function CountDown(suono1,totale){
var timePast=Math.round((suono1.duration-suono1.position)/1000);
if(timepast==0) clearInterval(timerID);
else totale.text=timePast
}
non funziona cos'è che ho sbagliato??
Sì, ma nella timeline del filmato principale. Se vuoi essere sicuro metti nel primo frame.Originariamente inviato da Yngwe
questo va sul frame della timeline giusto...
Non è necessario cambiare i nomi dei parametri della funzione, comunque non dovrebbe essere quello quello il problema.var timerID=null;
function CountDown(suono1,totale){
var timePast=Math.round((suono1.duration-suono1.position)/1000);
if(timepast==0) clearInterval(timerID);
else totale.text=timePast
}
non funziona cos'è che ho sbagliato??
Prova queste modifiche:
Cioè c'è da modificare la riga del setInterval, prova a non cambiare niente altro rispetto a quello che ti ho mandato prima e dovrebbe andare.codice:on(release) { clearInterval(_root.timerID); musica1 = new Sound(_root); musica1.attachSound("suono1"); musica1.start(0,1); _root.timerID=setInterval(_root,'countDown',1000,musica1,totale); }
la musica parte, ma non compare nulla nella variabile totale
ti ricordo l'obiettivo...
avere una casella di testo che mi esegua in conto alla rovescia, cioè dei secondi che mancano alla fine dell'ascolto del brano?!?!?
Prova a mettere un trace nella funzione countdown e dimmi se viene eseguita, sicuramente è un problma di path