Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   проблемы с загрузкой из сети... (http://www.flasher.ru/forum/showthread.php?t=75259)

flash_cool 08.02.2006 17:08

проблемы с загрузкой из сети...
 
Здравствуйте, уважаемые флэшеры. :)

Столкнулся с такой вот проблемкой, многое уже перепробовал, пока безрезультатно, может кто сталкивался и сможет помочь.

Если упрощённо, то выглядит всё так: есть MoveClip и кнопка, кликая на которую в этот MC должен подгружаться видио файл формата swf при помощи MC.LoadMovie('clip.swf');
при загрузке видио клипа при помощи getBytesTotal() и getBytesLoaded() организован прелоадер, показывающий процент загрузки клипа в MC и по её завершении под MC отображаються кнопки play и stop, которые соответственно управляют проигрыванием этого видио в MC.
Так вот локально на компе и при эмуляции загрузки из сети флэшем всё работает хорошо и правильно, а когда эту флэшку вешаю в сеть и гружу броузером из инета уже, то начинаються баги.
Видио файл начинает просто подгружаться не обращая внимания не на прелоадер (каторый работать перестаёт) ни на кнопки play и stop (каторые так и не выводяться после полной загрузки видио).
видио просто загружаетьс и начинает само себе проигрываться...

Есть подозрение, что сбоят именно getBytesTotal() и getBytesLoaded() при загрузке из сети и, следовательно, перестают работать зависящие от них функции...

Подскажите, плз, в чём может быть дело...
Заранее большое спасибо.

Вот код, который я вешаю на MC:

Код:

onClipEvent(load) {
        this.gotoAndStop(1);
        this.onEnterFrame = function() {
        if (this.getBytesTotal() > 100){
                if (this.getBytesLoaded() < this.getBytesTotal()){
                proc = Math.round(getBytesLoaded()/this.getBytesTotal()*100);
                _parent.load_proc.load_proc.text = "Loaded " + proc + "%";
                _parent.load_proc.gotoAndStop(proc);
} else {
                _parent.load_proc._visible = false;
                _parent.load_proc._alpha = 0;
                _parent.btn_play._visible = true;
                _parent.btn_stop._visible = true;
                _parent.span._visible = true;
                _parent.btn_play._alpha = 100;
                _parent.btn_stop._alpha = 100;
                _parent.span._alpha = 100;
                _parent.span.pos._x = _global.startPosX;
                this.play();
                _parent.span.pos._x = _global.rangePosX/this._totalframes*this._currentframe+_global.startPosX;
}
if (this._currentframe == this._totalframes){
        this.stop();
        }
}//enterFrame
}//getByteTotal
}//end


flash_cool 09.02.2006 10:55

Что, неужели всё так плохо и никто не сможет мне помочь...
Пожалуйста, кто знает или предпологает хотя бы в чём может быть дело, напишите, плз, ну оочень нужно...

Double 09.02.2006 11:21

Tip: If you want to monitor the progress of the download, use MovieClipLoader.loadClip() instead of this function.
это из хелпа про loadMovie. пересаживайся на MovieClipLoader, сдался тебе этот loadMovie. можно, конечно, и на нём, но разбираться в твоём куске кода (пользуйся тегом code, читать легче) как-то не хочется...

Antares 09.02.2006 12:10

Я советую также пользоваться тэгом code, так как в противном случае код будет вырезан.

flash_cool 09.02.2006 16:47

to Double

думал над этим, только пришол к выводу, что достаточно много кода нужно переписывать и дополнять, проект давольно объёмный... но, похоже, другого выхода нет, сча попробую...



з.ы. неуж-то больше никто с подобной проблемой не сталкивался... ? :confused:

smamyan 09.02.2006 17:03

Naskolko ya ponyal u tebya tam clip.swf v kotorom est video i ti zagrujaesh ego v drugoi swf !
navernoe u tebya vieo vedet sebya kak stream poetomu i nachinaet avtomatichski proigrivatsya, poprobuy kontralirovat prokrutku video v samom clip.swf

Double 09.02.2006 17:04

да нет, никакого криминала-то в loadMovie нет. код внимательно посмотри. навскидку: где-то есть this.getBytes..., тут же лепишь уже без this. локально эта ошибка может быть и не видна, т.к. подгрузка завершается ещё до твоих телодвижений по её мониторингу, а через сеть вылезают баги. сделай новый fla и сделай загрузку какого-нить жипега, по окончании которой какому-нить textField-у чего-нить присвой и протестируй с сервера. Если получится, значит в большом коде где-то просто накосячил. Если не получится, значит чего-то делаешь не то.

flash_cool 09.02.2006 23:18

to Double

Спасибо тебе огромаднейшее за советы.
Попробовал грузить при помощи MovieClipLoader.loadClip()... работает :D
Потом прочитал твой комент по поводу недописанного this и проверил работоспособность строго кода... заработало :D :D

Вот, блин, ламо :)

Просто даписывал этот код уже ночью и мозг слабо соображал, вот и не заметил эту мелочь, а в итоге - такой залом...

Карочь спасибо те, всё запалило.


Часовой пояс GMT +4, время: 20:00.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.