Hola Pepyu, en mi caso yo he resuelto el problema con menos líneas.
Mas que nada porque no veo necesario crear variables de "estado". Si el sonido se está reproduciendo, teniéndo en el botón de play el código que se muestra debajo, seguirá por donde iba; si se pulsa cuando el sonido se ha detenido, hará lo mismo, reproducir desde donde se dejó y si la pista aun no se ha empezado a reproducir, la propiedad ".position" devolverá 0 y entonces empezará la musica desde ahí, desde 0.
Yo tengo el botón play y pausa dentro de un MC, coloco primero el botón de pausa en el primer fotograma y en un segundo fotograma el de play (ambos fotogramas con un stop). Al cargar el swf se mostará evidentemente el botón pausa, y al hacer clic, además del código asociado a él, descrito debajo, nextFrame(); y lo mismo con el botón play, solo que llevando el track al fotograma 1, con un gotoAndStop(1) o prevFrame();
el botón de stop o de pausa sería el mismo:
Código :
_parent.misonido.stop();
nextFrame();
y el botón de play:
Código :
_parent.misonido.start(misonido.position);
prevFrame();
*El metodo position recupera el valor en milisegundos de la reproducción en curso, lo único que hay que hacer es inicializar le sonido con la sentencia start, añadiéndole como se vé, el tiempo en que querémos que empiece a reproducir. Si el track lo tienes en segundos el facil, dividir la propiedad ".position" /1000
Matizar que yo cargo el sonido previamente en el primer fotograma del swf, de un archivo mp3 externo de la siguiente forma:
Código :
if(noRepeat==undefined){
var noRepeat:Number;
noRepeat=1;
var sonic_bg = new Sound();
sonic_bg.loadSound("cargador/pista.mp3",true);
sonic_bg.onSoundComplete=function(){
this.start();
}
}
sonic_bg.start();
Bueno, pues eso es todo. Un saludo.
usa las etiquetas code para postear tu codigo