Вы не показали весь свой код, поэтому я предполагаю, что вы не использовали метод unload класса Loader. Также swfLoader.load (null) мне кажется неправильным, так как метод load ожидает объект URLRequest. Когда вы хотите очистить вещи в конце, установите значение объекта в null вместо вызова нулевой загрузки. Тот факт, что вы все еще слышите звук, указывает на то, что ваши данные не были выгружены или аудиофайл не находится внутри контента, который был выгружен. Пройдемся через это.
Пример ниже
var loader:Loader = new Loader();
var request:URLRequest = new URLRequest('test.swf');
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onSwfLoad, false, 0, true);</p>
<p>function onSwfLoad(e:Event):void
{
addChild(loader);
loader.contentLoaderInfo.addEventListener(Event.UNLOAD, onLoaderUnload, false, 0, true);</p>
<p>loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onSwfLoad, false);
}
function onLoaderUnload(e:Event):void
{
trace('LOADER WAS SUCCESSFULLY UNLOADED.');
}
//Now to remove this with the click of a button, assuming the buttons name is button_mc
button_mc.addEventListener(MouseEvent.MOUSE_DOWN, onButtonDown, false, 0, true);</p>
<p>function onButtonDown(e:MouseEvent):void
{
loader.unload();
loader.contentLoaderInfo.removeEventListener(Event.UNLOAD, onLoaderUnload);
//When you want to remove things completely from memory you simply set their value to null.
loader = null;
<code>button_mc.removeEventListener(MouseEvent.MOUSE_DOWN, onButtonDown);</code>
}
Я действительно надеюсь, что это было полезно, и мне жаль, если это было излишним, но не видя ваш код, я не могу точно знать, как вы подошли к этому.