Ok, visto que nadie me ayuda he tenido que solucionarlo yo solito... jeje era una tonteria... Basta con añadir una condición (&& sonando==false) para que el sonido solo se inicie la primera vez.
var listKey:Object = new Object();
listKey.onKeyDown = function () {
if (Key.getCode() == 65 && _root.sonando==false) {sona("f1");_root.sonando=true;}
if (Key.getCode() == 83 && _root.sonando==false) {sona("f2");_root.sonando=true;}
if (Key.getCode() == 68 && _root.sonando==false) {sona("f3");_root.sonando=true;}
if (Key.getCode() == 70 && _root.sonando==false) {sona("f4");_root.sonando=true;}
}
function sona(sonido:String){
_root.so=new Sound();
_root.so.attachSound(sonido);
_root.so.play();
_root.so.start(0,999);
}
El problema (porque siempre hay un problema) ahora es que al hacer
_root.so.stop(); me detiene el sonido (_root.so) y ademas me detiene todos los otros sonidos que se estan ejecutando!
Alguien sabe como es que sucede esto? o como puedo arreglarlo??
Muchas gracias!!