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();
}
}
}
}
} 