Katyushka
24.03.2009, 20:20
Добрый вечер!
Возникла следующая проблема. Я загружаю swf-ку c сервера, содержащую видео. Пока она грузится показываю лоадер. Затем добавляю ее в <mx:Canvas>. Все хорошо работает, вот только если загрузка идет долго, я заметила,что видео в загружаемой свфке при отображении проигрывается с середины уже. Т.е. проигрывание начинается до конца загрузки. Необходимо это исправить. Гугл выдает множество советов и все они сводятся к тому чтобы грузить swf-ку в MovieClip и затем делать ему stop(). Пробовала в различные вариантах - не работает. :wacko: Думаю проблема вполне может быть в том что руки кривоваты... :confused: но уже замучалась.
Вот код как я загружаю:
private function createImageWithLoading(source:String, isFullScreen:Boolean):UIComponent
{
var image:Image = new Image();
preloaderTitleWindow(_preloadWindow);
image.load(source);
image.addEventListener(Event.OPEN,onOpenWithLoading);
image.addEventListener(Event.COMPLETE,onCompleteWithLoading);
image.addEventListener(ProgressEvent.PROGRESS,onProgressWithLoading);
return image;
}
protected function onProgressWithLoading(event:ProgressEvent):void
{
if ((_popupWindow!=null)&&(_popupWindow is IProgress))
{
IProgress(_popupWindow).progress(event.bytesLoaded,event.bytesTotal);
if (event.bytesLoaded == event.bytesTotal)
{
event.target.stop();
this.fullScreenContainer.addChild(event.target as DisplayObject);
this.imageLoadComplete(event);
}
}
}
<mx:Canvas width="550" id="fullScreenContainer" alpha="1.0"
verticalScrollPolicy="off" horizontalScrollPolicy="off" top="60" height="411" horizontalCenter="0"/>
Возникла следующая проблема. Я загружаю swf-ку c сервера, содержащую видео. Пока она грузится показываю лоадер. Затем добавляю ее в <mx:Canvas>. Все хорошо работает, вот только если загрузка идет долго, я заметила,что видео в загружаемой свфке при отображении проигрывается с середины уже. Т.е. проигрывание начинается до конца загрузки. Необходимо это исправить. Гугл выдает множество советов и все они сводятся к тому чтобы грузить swf-ку в MovieClip и затем делать ему stop(). Пробовала в различные вариантах - не работает. :wacko: Думаю проблема вполне может быть в том что руки кривоваты... :confused: но уже замучалась.
Вот код как я загружаю:
private function createImageWithLoading(source:String, isFullScreen:Boolean):UIComponent
{
var image:Image = new Image();
preloaderTitleWindow(_preloadWindow);
image.load(source);
image.addEventListener(Event.OPEN,onOpenWithLoading);
image.addEventListener(Event.COMPLETE,onCompleteWithLoading);
image.addEventListener(ProgressEvent.PROGRESS,onProgressWithLoading);
return image;
}
protected function onProgressWithLoading(event:ProgressEvent):void
{
if ((_popupWindow!=null)&&(_popupWindow is IProgress))
{
IProgress(_popupWindow).progress(event.bytesLoaded,event.bytesTotal);
if (event.bytesLoaded == event.bytesTotal)
{
event.target.stop();
this.fullScreenContainer.addChild(event.target as DisplayObject);
this.imageLoadComplete(event);
}
}
}
<mx:Canvas width="550" id="fullScreenContainer" alpha="1.0"
verticalScrollPolicy="off" horizontalScrollPolicy="off" top="60" height="411" horizontalCenter="0"/>