Comunidad de diseño web y desarrollo en internet online

Problemas con el Pause en un reproductor mp3

Citar            
MensajeEscrito el 21 Jun 2006 02:43 pm
Hola a todos!!!
Resulta que estoy haciendo un reproductor de mp3, y ya lo tnego casi todo listo.
Lo unico que me falta es poder poner un boton de pause.
Buscando he encontrado las propiedades de Start y Stop, pero este último te lleva al inicio de la cancion, y no veo ninguna propiedad como Pause o algo asi...
Como puedo hacer un boton de pause sin que vuelva al principio??

Haber si me he espresado bien.

saludos!!!! ^^

Por Pepyu

18 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 21 Jun 2006 03:38 pm

Código :

/* Primero declaramos dos variables, pausa y estado; pausa nos servirá para almacenar la posición donde esta la canción, y estado para saber en que estado se encuentra la canción, 1 si el sonido se está reproduciendo y 0 para el estado en que el sonido esté en pause*/ 
var pausa:Number = 0; 
var estado:Number = 0; 
/* Como no le pusimos ninguna acción al Movie Clip, para que no se reprodujera como loco, lo frenamos al comienzo*/
 Boton_btn.stop(); 
/*Atachamos inmediatamente el sonido linkeado desde la biblioteca a una variable llamada: "misonido"*/ 
_root.onLoad = function(){ 
  misonido = new Sound(); 
  misonido.attachSound("Sonido"); 
} 
//En el evento onPress ó cuando presione el botón 
Boton_btn.onPress = function (){
  if (estado == 0){ 
     /* se verifica en que estado se encuentra el sonido, si está en 0, ósea el sonido no se esta reproduciendo, ponemos play al sonido; usamos la variable de pausa que contiene lo que lleva la canción reproducida hasta el momento en milisegundos, por eso lo dividimos entre 1000; para que nos de exactamente la posición donde se encuentra*/ 
     misonido.start(pausa/1000); 
     //Una vez el sonido en play, cambiamos el estado a 1, ósea reproduciéndose 
     estado = 1; 
     //y finalmente cambiamos la apariencia del botón 
    Boton_btn.gotoAndStop("pause"); 
  } else { 
     /*En caso de que no sea 0, significa que se esta reproduciendo la canción y queremos detenerla, primero calculamos la posición donde se va a quedar en pause almacenándolo en la variable pausa*/ 
     pausa = misonido.position; 
     //detenemos totalmente el sonido 
     misonido.stop(); 
     //cambiamos el estado a 0, ósea sin sonido 
     estado = 0; 
     //y finalmente cambiamos la apariencia del botón 
     Boton_btn.gotoAndStop("play");
   }
}


No lo he probabo :P, me dices si funciona :lol: :lol:

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

safari
Citar            
MensajeEscrito el 21 Jun 2006 04:03 pm
Si que funciona Nasho. Es de un tutorial de Flash de aquí de Cristalab. La próxima vez pónle mejor el enlace para que él pueda hacerlo con todas las explicaciones.

Saludos!

Por _hermano_

755 de clabLevel

1 tutorial
1 articulo

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 21 Jun 2006 04:06 pm
Pues ya te aviso que funciona perfectamente!!! xD xD

Gracias!!!!!

Por Pepyu

18 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 04 Jul 2006 11:46 am
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

Por pitger

Claber

201 de clabLevel



Genero:Masculino  

Cáceres

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.