Comunidad de diseño web y desarrollo en internet online

Detener Timer Event dentro de una clase ????

Citar            
MensajeEscrito el 17 Jun 2008 10:04 am
¿Por qué no puedo detener INTERVALO?
Se supone que cuando se cumpla la condición debería de detenerse, ¿no?

Código :

package classes {
import classes.myClass;   
import flash.media.SoundChannel;
import flash.media.SoundLoaderContext;
import flash.media.Sound;
import flash.net.URLRequest;
import flash.utils.Timer;
import flash.events.*;
public class converter   {    
public var intervalo:Timer;
public var data:String = new String();
public var sc:SoundChannel = new SoundChannel();
public var sound:Sound = new Sound();
public function converter(){
    }
public function loadSound (data){
var req:URLRequest = new URLRequest(data);
var buffer:SoundLoaderContext = new SoundLoaderContext(3000, true);
sound.load(req, buffer);
return true;
}
public function transform(str){
var snd:myClass = new myClass(onComplete);
function onComplete(valor:String){
data = valor;
snd.sendData(str);
}
snd.sendData(str);
intervalo = new Timer(1000);
intervalo.addEventListener(TimerEvent.TIMER, retry);
intervalo.start();
function retry(event:TimerEvent):void{ 
if(loadSound(data)==true){
intervalo.stop();
sc = sound.play();
    }
   }
  }
 }
}

Por PrincesaLeya

39 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 17 Jun 2008 12:56 pm
Primera obvia pregunta:

¿Se está ejecutando el intervalo.stop() ?

Si la respuesta es si

¿Se está volviendo a ejecutar intervalo.start() ?

Algunos trace en los lugares adecuados te darán la respuesta

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Jun 2008 01:41 pm
intervalo.stop(); debería ejecutarse, puesto que el sonido se reproduce, y ambos están metidos en la misma condición.
Lo que no sé entonces es si una vez detenido el intervalo se vuelve a ejecutar intervalo.start();
En teoría no debería, pero supongo que si que lo hace.
Lo que no entiendo es porqué se vuelve a ejecutar el play();

Por PrincesaLeya

39 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 17 Jun 2008 04:28 pm
Usa trace para confirmar si se está ejecutando, luego busca las llamadas a transform y por que se ejecutan

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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