Просмотр полной версии : Линия загрузки данных с CD
chingachgoog
01.11.2006, 19:50
Загрузчик в режиме эмуляции и при выкладывании в сеть работает нормально (в режиме реального времени отражает процент загрузки внешнего файла).
Но!
При записи на CD или другое внешнее устройство (флешка) загрузчик запинается: т.е. весь флеш-ролик сразу после команды loadMovie застывает и прелоадер не работает, загрузка происходит втемную при застывшем ролике и после окончания загрузки сразу происходит переход в основную тему.
Как добиться чтобы загрузчик с CD работал так же как и в сети?
при паблише, можно поиграть с параметрами local playback security...
а паблишишь как ехе или свф?
chingachgoog
02.11.2006, 11:13
без разницы как публикую - не работает в обоих случаях, хотя конечный вариант рассматривается как exe-проектор.
Просто интересно, это вообще реально? Кто-нибудь реально видел.делал это на CD?
Я так и не понял зачем для загрузки с CD делать графический прелоадер? Загрузится мгновенно, надо только дать CD время спозиционироваться, отсюда возможен и временный завис.
chingachgoog
02.11.2006, 19:16
если файл размером более 50 меговто никакой "мгновенной" загрузки нет. Реально виснет где-то секунд на 20-30!
MovieClipLoader не катит?
Проверь во время запуска загруз процессора, я так думаю, что данные с CD попадают в буфер CD, а так как его размер явно не равен размеру твоей флешки, а флешка упорно спрашивает систему скока там загрузилось, то у процессора возникает глюк, как это объяснить флешке, что над ее вопросом работают. В результате - экран не обновляется. Проще всего сделай анимацию прелодера на 30 секунд и все.
если файл размером более 50 меговто никакой "мгновенной" загрузки нет. Реально виснет где-то секунд на 20-30!Идет размещение в памяти и тп, а загрузка все равно мгновенная.
Пол года назад я сделал презентацию и записал ее на диск. Она считывала с диска 40 метровый flv, у меня все налету хваталось, а у заказчика был 10-15 секундный завис (диск он сам себе его писал)
У меня было тоже самое!
Я сделал просто:
1. Проверил правильность путей к файлу т.е. не d:\flash\loadclip.swf (пример),
а \loadclip.swf
2. Имя папок должно быть на английском!
И все должно работать!
Напиши ответ!
chingachgoog, наверное, плеер делает.
chingachgoog
по подробнее можно что, откуда, открываешь / загружаешь, как, какие пути?
.
.
не знаю, пишу
this.createEmptyMovieClip('cont',5);
content_swf='d:/tex2.swf'.//Д-локальный диск
cont.loadMovie(content_swf);
запечатываю в ИСОху монтирую её на виртуалку, работает...
mrspb, вы правила подраздела читали?
chingachgoog
03.11.2006, 02:09
MovieClipLoader не катит?
Честно говоря только присматривался к нему
(но это ведь AS2, а хотелось бы справиться в 1-ом)
А что, помогает?
при паблише, можно поиграть с параметрами local playback security...
если ставить нетворк то вообще не грузит с диска
Проверь во время запуска загруз процессора
А как он должен быть загружен?
Он вообще у меня даже до 50% не загружается ;-)
данные с CD попадают в буфер CD, а так как его размер явно не равен размеру твоей флешки, а флешка упорно спрашивает систему скока там загрузилось, то у процессора возникает глюк, как это объяснить флешке, что над ее вопросом работают. В результате - экран не обновляется.
Интересно...
Может попробывать updateAfterEvent?
Проще всего сделай анимацию прелодера на 30 секунд и все.
Тут два момента: не хочется заниматься самообманом во-первых, но главное в том, что ВСЯ флешка виснет (с главной временной шкалой и со всеми другими мувиками на ней)
Пол года назад я сделал презентацию и записал ее на диск. Она считывала с диска 40 метровый flv, у меня все налету хваталось, а у заказчика был 10-15 секундный завис (диск он сам себе его писал)
Насколько я понимаю, flv загружается потоково, (к тому же у тебя после первого запуска он наверняка закешировался) и хотя полностью он не загрузилс, но начинает показывать почти сразу.
А у заказчика наверное 15 сек диск только раскручивается.
Но у меня не flv, а именно swf. И завис в 30 сек раскруткой диска не объяснить - это как раз то время что необходимо для передачи с CD такого объема файла.
1. Проверил правильность путей к файлу т.е. не d:\flash\loadclip.swf (пример),
а \loadclip.swf
2. Имя папок должно быть на английском!
У меня загружаемый swf вообще был в той же директории потому путь не указывал вообще - не работает потом делал вариант как ты пишешь (разумеется на английском) с относительным путем - не работает также :-(((
А у тебя заработало именно с СД?
запечатываю в ИСОху монтирую её на виртуалку, работает...
скорее всего закешировался стого раза как ты просматривал его еще не в образе
код такой:
на главной временной диаграмме есть мувики Loader3D c кодом
this.loadMovie("name.swf")и мувик preload (там динамический текст с переменной loadpercent)
в первом кадре главной временной диаграммы:
onEnterFrame=function() {
// запуск прелоадера
if (preloader(_root["Loader3D"])) {
_root.gotoAndPlay("intro");// запуск основного ролика
}
}
stop()
preloader=function(targLoad) {
if (targLoad._totalframes>1) {
var l=targLoad.getBytesLoaded()
var t=targLoad.getBytesTotal()
preload.loadpercent=Math.round((l/t)*100)
if (l==t) {
_root.preload.gotoAndStop(1);// прелоадер закрывается
return true
} else {
_root.preload.play()
return false
}
}
}
stop()
Как уже писал все работает, но только не в случае с СД когда зависают ВСЕ мувики... (((((
2 chingachgoog:
1. Прочесть правила подраздела
2. Сначала думать, а потом писать. В крайнем случаи есть кнопка "изменить", и воспользоваться правкой поста, а не плодить один за другим 6 постов. Еще такое увижу, поставлю еще один плюс.
Насколько я понимаю, flv загружается потоково, (к тому же у тебя после первого запуска он наверняка закешировался) и хотя полностью он не загрузилс, но начинает показывать почти сразу.А у заказчика наверное 15 сек диск только раскручивается.
Но у меня не flv, а именно swf. И завис в 30 сек раскруткой диска не объяснить - это как раз то время что необходимо для передачи с CD такого объема файла.Бред.
1. swf тоже грузится потоково.
2. Не надо путать загрузку с сервера с standalone.
А у тебя заработало именно с СД?
Да
Честно говоря только присматривался к нему
(но это ведь AS2, а хотелось бы справиться в 1-ом)
А что, помогает?
Это не AS2. Попробуйте, может поможет.
chingachgoog
03.11.2006, 14:43
Бред.
1. swf тоже грузится потоково.
Если с СД то нет (((
2. Не надо путать загрузку с сервера с standalone.
Прости, не понял о чем ты.
Да
Собственно это самый важный ответ )))
Это не AS2. Попробуйте, может поможет.
С терминологией не спорю
Но в 6-м плеере его нет, а это пока максимальная версия плеера разрешенная на многих коммерческих сайтах.
Хотя как вариант надо попробывать, правда в случае удачи придется два файла делать - один в 6-м флеше для сайта и проектор в 8-м для СД.
chingachgoog
28.11.2006, 16:32
Краткий отчет об экспериментах (к сожалению опять тупик):
1) метод интервалов
Исходные данные:
namefile - имя внешнего файла
this.targets - имя экземпляра мувиклипа мишени куда грузяться внешние файлы
totalb, loadb, percb - переменные динамического текста
this.targets.loadMovie(namefile,2)
loader=setInterval(function(){
totalb=targets.getBytesTotal()
loadb=targets.getBytesLoaded()
percb=Math.round(loadb/totalb*100)
updateAfterEvent()
}, 25)
stop()
Результат: увы, грузиться все за раз (задержка без обновления экрана и конечные цифры)
2) метод MovieClipLoader()
Исходные данные те же
!!! обратите внимание на переменную l - о ней ниже
my_mcl = new MovieClipLoader();
myListener = new Object();
l=0
myListener.onLoadProgress = function(mov,bytesLoaded, bytesTotal) {
_root.loadb = bytesLoaded
_root.totalb= bytesTotal
l++
_root.percb=l
}
my_mcl.addListener(myListener);
my_mcl.loadClip(namefile, _root.targets);
stop()
Результат аналогичный - обновления экрана не происходит, но вот число включений обработчика легко видно (помните про переменную l): оно весьма велико - у меня около 100-400 на 20 Мб файл. Т.е. процесс ловиться, но на экране не отображается. (((
Вопрос тот же: как быть?
chingachgoog
04.12.2006, 16:02
Хм. Итак опрос (http://www.flasher.ru/forum/showthread.php?t=88718) в разделе Action Script показал ПРИНЦИПИАЛЬНУЮ НЕВОЗМОЖНОСТЬ создания прогресс-бара при локальной (например с CD) подгрузке файлов типа swf или jpg. :(
(конечно остается надежда, что кто-то знает хитрый способ)
Причина тут мне видится в самом ядре флеш-проигрывателя. Вообще подобный эффект (замораживания экрана для ЛЮБОЙ анимации и звуков) можно легко получить нажав и УДЕРЖИВАЯ кнопку мыши над кнопкой закрыть (крестиком) окна флеш-плеера. Если отпустить кнопку мыши ВНЕ крестика то вся анимация и звуки продолжаться с места удержания)
В общем прихожу к промежуточному выводу, что здесь рулит только директор (как это не печально для флеша).
ZergMaster
24.11.2008, 19:26
хитрый способ.:
var loader:MovieClipLoader=new MovieClipLoader();
var listener:Object={}
loader.addListener(listener);
loader.loadClip("img/img1.jpg", pig1);
loader.loadClip("img/img2.jpg", pig2);
loader.loadClip("img/img3.jpg", pig3);
loader.loadClip("img/img4.jpg", pig4);
loader.loadClip("img/img5.jpg", pig5);
loader.loadClip("img/img6.jpg", pig6);
listener.onLoadStart=function():Void {
_root.createTextField("preloader", 10234, 250,100,40,18);
preloader.border = true;
preloader.text ="0%";
_root.stop();
};
listener.onLoadProgress=function(clip:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void {
preloader.text= Math.round(bytesLoaded/bytesTotal*100)+"%";
var persent:Number = Math.round(bytesLoaded/bytesTotal*100)
poloska._xscale= persent;
};
listener.onLoadComplete=function():Void {
_root.gotoAndPlay(2);
preloader.text ="Complete"
poloska._visible=false;
}
pig1,2,3,4,5,6 - это пустые клипы контейнеры, в которые загружаются картинки. Все эти клипы есть во флэшке уже с первого кадра, просто в невидимом состоянии, чтобы флэшь начинала подгружать их картинки сразу при загрузке первого кадра. Иначе косяк.
preloader- поле, которое отображает проценты циферками, а а клип poloska - синий прямоугольничек, _xscale которой равно процентам.
при начале загрузки картинок клип останавливает проигрывание. При завершении загрузки - идет и проигрывает клип со второго кадра.) А заодно прячет прогресс-бар.
Вообщем вроде как все правильно.При проверке работает.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.