Недавно столкнлся с проблеммой того что необходимо было преобразовать ByteArray() в изображение, соответсвенно я задействовал свтроеный метод Loader.loadBytes(), но к сожалению у него не оказалось события COMPLETE, а так как мне не хотелось извращаться и разширять класс Loader, я нашол другой способ. Во временном цикле я начал проверять значения Loader.content, если оно присудствует то и loadBytes() завершил свою работу, в противном случае продолжаем проверять.
пример
- public var var timer:Timer = new Timer(1);//создаю таймер в одну милисекунду, можно даже в 10
- public var loader:Loader = new Loader();//создаю обект Loader
- public function ByteArrayLoader(byteArray:ByteArray)
- {
- this.loader.loadBytes(byteArray);//инициализирую loadBytes
- timer.addEventListener(TimerEvent.TIMER, this.CompleteHendler);
- timer.start();//Запускаю таймер
- }
- private function CompleteHendler(event.TimerEvent = null):void{
- if(this.loader.content){//Если существует Loader.content останавливаем таймер
- timer.stop();
- //далее код обработки изображения.
- }
- }
Не совсем правельный способ, и может даже слегка грубоватый, но работающий
RSS Feed
Twitter
Posted in 
хм. а у меня событие complete работает исправно при использовании loadBytes
Спасибо, это я немного ошибся и запутался.
В скором перепишу статью для более подходящих случаев.
Еще раз спасибо
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onInitializationCompleteHandler);
такая задача возникла и у меня при использовании urlstream 3 часа мучался, не верилось что при comlpete нету контента…сделал как в этом примере…в инете встречал совет далть через delayedCall с интевалом в пол секунды(вообще бред)…так что в любом случае спасибо
при urlstream надо обращаться не к content а к data в котором будет валяться ByteArray полученных данных.
Моя статья все таки была ошибочной