Показать сообщение отдельно
Старый 29.08.2011, 20:38
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 12  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
проблема здесь в том, что загрузить\показать плееру позволено откуда угодно, но использовать можно только то, что разрешено (читай про sandbox\policy files)
т.е. надо либо разобраться с разрешениями (crossdomain.xml) либо грузить с помощью хаков типа:
Код AS3:
public class TestLoader extends Sprite
{
 
	public function TestLoader():void
	{
		var loader:Loader = new Loader();
		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete1);
		loader.load(new URLRequest("http://flasher.ru/forum/images/russian/flasher_logo.gif"));
	}
 
	private function loader_complete1(e:Event):void
	{
		e.target.removeEventListener(e.type, arguments.callee);
 
		// попытка использовать здесь e.target.content вызовет Security sandbox violation RTE
		// поэтому скармливаем  лоадеру полученные данные через loadBytes
		var loader:Loader = new Loader();
		loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete2);
		loader.loadBytes(LoaderInfo(e.target).bytes);
	}
 
	private function loader_complete2(e:Event):void 
	{
		e.target.removeEventListener(e.type, arguments.callee);
 
		// а здесь уже как бы и можно :), 
		// только это будет не Bitmap
		var content:DisplayObjectContainer = e.target.content as DisplayObjectContainer;
		// Bitmap внутри
		var bmp:Bitmap = content.getChildAt(0) as Bitmap;
		addChild(bmp);
 
	}
}