Вы запускаете это в отладочном плеере? Глядя на ваш код, кажется, он должен выдать хотя бы ошибку в этой строке:
holder.addChild(mLoader);
Кажется, holder
не инициализируется в этот момент. Возможно, вы не видите ошибку, которая нарушает ваш код ... Код для отключения звука выглядит правильно (хотя я не пробовал). Может быть, вы могли бы применить его к holder
вместо самого контента; в противном случае возможно, что ваш заголовочный файл swf частично загрузился и начал воспроизводить звуки до вызова вашего полного обработчика.
Также SoundMixer позволяет вам управлять общей громкостью (я упоминаю об этом, потому что, хотя это может быть не идеальный способ сделать это, может быть, это просто работает здесь).
Редактировать
Это эффективно отключает загруженный SWF в быстром тесте, который я сделал:
var mRequest:URLRequest = new URLRequest('banner.swf');
var mLoader:Loader = new Loader();
mLoader.load(mRequest);
var holder:Sprite = new Sprite();
holder.addChild(mLoader);
addChild(holder);
var t:SoundTransform = new SoundTransform(0);
holder.soundTransform = t;
Я удалил полный обработчик, так как он больше не нужен.