Странная ситуация,в функции removeAllSounds трейс перед while показывает, что длина массива равна 8, после while равна 0. Но, трейс в функции:

Код AS3:
private function OnSFXComplete(e:Event):void
{
trace("Удалился");
var thisSoundChannel:SoundChannel = e.currentTarget as SoundChannel;
thisSoundChannel.removeEventListener(Event.SOUND_COMPLETE, OnSFXComplete);
var idx:int = mSoundChannels.indexOf(thisSoundChannel);
mSoundChannels.splice(idx, 1);
soundTransforms.splice(idx, 1);
thisSoundChannel = null;
}
срабатывает столько раз, сколько было элементов в массиве. Срабатывает после вызова функции removeAllSounds. Пробовал снимать слушателя - не помогает, звуки все равно проигрываются
