Ok aqui va el codigo
Creamos una nueva capa (layer) a la que llamamos acciones(para nombrarla doble click en la propia capa)
En el frame 1 de esa capa de acciones, en las actions ponemos el siguiente código:
Sonido = new Sound(); Sonido.attachSound("nombredelmp3"); _root.parado = true; _root.pausado=false; _root.paradoen=0; _root.adelanterapido=false; _root.atrasrapido=false; _root.saltorapido=600;
new Sound() crea un objeto sonido, mientras que attachSound("nombredelmp3") le asigna el archivo de sonido con el que queremos trabajar, este attachSound no hace falta hacerlo en el primer frame, pero evidentemente, hay que hacerlo antes de poder llamar al sonido.
Las otras son variables temporales: _root.parado indicará si la reproducción está parada o no. _root.pausado indicará si la reproducción está pausada o no. _root.paradoen indicará el punto en el que está pausada la reproducción. _root.adelanterapido nos indicará si se pulsa el botón de marcha rápida hacia adelante. _root.atrasrapido nos indicará si se pulsa el botón de marcha rápida hacia atras. _root.saltorapido nos indica lo rápido que queremos que avance el avance rápido o el retroceso rápido.
Vamos al segundo frame, donde están los botones, y en las actions del botón play ponemos:
on (press) { if (_root.parado) { _root.Sonido.start(); _root.parado = false; _root.pausado = false; } else if (_root.pausado) { _root.pausado = false; _root.Sonido.start(_root.paradoen/1000); } }
En el boton stop ponemos:
on (press) {
_root.Sonido.start(); _root.Sonido.stop();
_root.paradoen = 0; _root.pausado = false; _root.parado = true;
}
En el boton Pause:
on (press) { if ((not _root.parado) and (not _root.pausado)){ _root.paradoen = _root.Sonido.position; _root.Sonido.stop(); _root.pausado = true; } else if (_root.pausado) { _root.pausado = false; _root.Sonido.start(_root.paradoen/1000);
} }
La división entre 1000 se hace porque el start lee segundos, mientras que nuestra variable paradoen va en milisegundos, que es la unidad en la que devuelve .postion, ya que la posicion que se almacena en el atributo .position va en milisegundos.
En el boton rradelante:
on (press,release) {
if (_root.adelanterapido) _root.adelanterapido=false; else _root.adelanterapido=true;
} on(ReleaseOutside) { _root.adelanterapido=false;
}
En el rratras:
on (press,release) {
if (_root.atrasrapido) _root.atrasrapido=false; else _root.atrasrapido=true;
} on(ReleaseOutside) { _root.atrasrapido=false;
}
En el segundo frame donde están los botones ponemos:
if (_root.adelanterapido) { trace(_root.Sonido.position);
temp = _root.Sonido.position; temp = temp+_root.saltorapido; _root.Sonido.stop(); _root.Sonido.start(temp/1000); _root.parado=false; _root.pausado=false;
}
if (_root.atrasrapido) { trace(_root.Sonido.position);
temp = _root.Sonido.position; temp = temp-_root.saltorapido; _root.Sonido.stop(); _root.Sonido.start(temp/1000); _root.parado=false; _root.pausado=false;
}
Esto nos valdrá para comprobar si están los botones de marcha rápida pulsados, de esta manera pararemos el cabezal de reproduccion de sonido y lo comenzaremos _root.saltorapido milisegundos antes o después, sino paráramos el sonido con .stop() se iniciaría otra vez. También hay que acordarse de poner las variables de parado y pausado a false, pues tras darle a los botones de marcha rápida la reproducción debería continuar, aunque partieramos de un stop o de un pause.
En el último frame de las acciones ponemos:
gotoAndPlay("inicio");
|
Por leon@rdo
13 de clabLevel
Envíale un mensaje privado Email Web
|