Comunidad de diseño web y desarrollo en internet online

No funciona evento soundComplete

Citar            
MensajeEscrito el 30 Jul 2013 08:25 pm
Hola, estoy probando el evento soundComplete, que al final de la reproduccion de un archivo mp3 salga en la pantalla un "hola", con el siguiente codigo:

Código :

var soundClip:Sound;
var sTransform:SoundTransform = new SoundTransform(0.2);
var sonidocanal:SoundChannel = new SoundChannel();
function init() {
soundClip = new Sound();
soundClip.load(new URLRequest("magneto.mp3"));
soundClip.addEventListener(Event.COMPLETE, soundLoaded);
sonidocanal.addEventListener(Event.SOUND_COMPLETE, alfinal);
}
init();
 
function soundLoaded(e:Event) {
   sonidocanal = soundClip.play(200000,0,sTransform);
}
function alfinal(e:Event){
   trace("hola");
}

Le puse 200000 para que empiece a reproducir desde el minuto 3 para no tener que esperar mucho.
Pero al final no aparece el "hola".

Graciass de antemano cualquier respuesta.

Por edavio

23 de clabLevel



 

chrome
Citar            
MensajeEscrito el 30 Jul 2013 08:46 pm
BuenAS:

añade el listener después de empezar a reproducir el audio

Código ActionScript :

function soundLoaded(e:Event) {
   sonidocanal = soundClip.play(200000,0,sTransform);
   sonidocanal.addEventListener(Event.SOUND_COMPLETE, alfinal);
}

y NO crees sonidocanal antes. Un SoundChannel se crea automáticamente al reproducir el audio (cuando llamas al método play).

Un saludo

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome
Citar            
MensajeEscrito el 30 Jul 2013 10:05 pm
Gracias, así sí funciona, entonces tiene que descargarse totalmente el mp3 para que recien se pueda asignar al objeto sonidocanal un listener ¿siempre tiene que ser asi?.

Por edavio

23 de clabLevel



 

chrome
Citar            
MensajeEscrito el 31 Jul 2013 09:36 am
BuenAS:

No tiene por qué, el código lo puse ahí porque era donde empezabas a reproducir el audio (llamando al método play) en el código que habías puesto.

Lo que sí tienes que tener claro es que sonidocanal se genera cuando llamas a play, y por tanto, debes añadirle el listener DESPUES de que se haya generado.

Código ActionScript :

sonidocanal = soundClip.play(200000,0,sTransform);
sonidocanal.addEventListener(Event.SOUND_COMPLETE, alfinal);


Un saludo.

Por Lukánicos

Claber

468 de clabLevel



Genero:Masculino  

chrome

 

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