Долго мучался с созданием "минимального" рабочего примера (чтобы не работало), но в конце-концов решил проблему самостоятельно.
Вот тут не очень доступно, но вполне понимаемо, написана причина такого поведения плеера.
http://3lbmonkeybrain.blogspot.com/2...line-code.html
Добавлено через 3 минуты
Кстати, в некоторых случаях вот это:
var info:LoaderInfo = event.target as LoaderInfo;
addChild(info.content);
}
тоже не работает.
Лучше всего сразу весь лоадер аддить в спрайт, а потом уж производить с ним действия - тогда - точно работать будет.
Добавлено через 6 часов 58 минут
Но и это, оказывается, иногда не работает (при локальном прокси-кешировании). Жуть.
А вот это работает окончательно. Ну, пока не нашел ситуаций, когда не работает (псевдокод):
public function loadSwf2(func: Function, url: String, uriCode:String):void
{
var uldr : URLLoader = new URLLoader();
uldr.dataFormat = URLLoaderDataFormat.BINARY;
uldr.addEventListener(
Event.COMPLETE,
function(URLLoaderEvent:Event):void {
var bytes : ByteArray = (URLLoaderEvent.target as URLLoader).data;
var ldr : Loader = new Loader();
ldr.contentLoaderInfo.addEventListener(
Event.COMPLETE,
function(ldrEvent:Event):void {
func(ldrEvent.target.content, uriCode);
}
);
var ldrC : LoaderContext = new LoaderContext();
ldr.loadBytes(bytes, ldrC);
}
);
uldr.load(new URLRequest(url));
}