Просмотр полной версии : loadSound preloader
нужен прелоадер для подгружаемого звука, но блин что-то не работает вот такой скрипт: (в первом кадре)
_root.stop();
_root.createEmptyMovieClip("s", 10);
snd = new Sound(s);
snd.onLoad = function() {
this.start();
}
snd.loadSound("so1.mp3", false);
_root.onEnterFrame = function() {
t = snd.getBytesTotal();
l = snd.getBytesLoaded();
pr.txt.text = (l/t) * 100 + "% loaded";
if (l >=t) {
delete _root.enterFrame;
_root.gotoAndStop(2);
}
}
тут сразу переходит на второй кадр, не дожидаясь загрузки звука. То есть getBytesLoaded==getBytesTotal вначале загрузки. Почему так происходит :wacko:
такая тема бывает в локале. t = l = 0.
попробуй поставить условие
А имитация загрузки что показывала?
Я что хочу сказать. Недавно я поднимал похожую тему, меня попинали, я и сам стал думать, что ошибся.
На самом деле у меня есть уже 3 проекта, в которых недоделанность общепринятого механизма прелоадинга дает нестабильные сбои.
Для себя я теперь полную загрузку ролика фиксирую таким набором условий: if(o.obj.getBytesLoaded() == o.obj.getBytesTotal() && o.obj.getBytesTotal()>0 && o.obj._width)
ЗЫ. это, понятно, для мувов. Для звука последнее условие не нужно ;-)
в том то и прикол что в локалке вначале загрузки показывает что загружено ВСЕ 94775 байт звука!
В нэт выкладывал - то же самое: они оба (getBytesLoaded & getBytesTotal) не равны нулю, а равны 94775 :rolleyes: и сразу на второй кадр
попробовал у себя - все крутится как надо
_root.stop();
_root.createEmptyMovieClip("s", 10);
snd = new Sound(s);
snd.onLoad = function() {
this.start();
}
snd.loadSound("tr1.mp3", false);
_root.onEnterFrame = function() {
t = snd.getBytesTotal();
l = snd.getBytesLoaded();
_root.text = int(l/t * 100) + "% loaded";
if (l == t) {
delete _root.enterFrame;
_root.gotoAndStop(2);
}
}
to elzone: будешь смеяться, но твой код действительно работает ... только локально :eek:
поправочка небольшая
_root.stop();
_root.createEmptyMovieClip("s", 10);
snd = new Sound(s);
snd.onLoad = function() {
this.start();
}
snd.loadSound("tr1.mp3", false);
_root.onEnterFrame = function() {
t = snd.getBytesTotal();
l = snd.getBytesLoaded();
_root.text = int(l/t * 100) + "% loaded";
if (l == t && t > 0) {
delete _root.enterFrame;
_root.gotoAndStop(2);
}
}
http://elzone.net/test/mp3/1.html
просто при загрузке из инета не всегда стразу определяет размер
ща попробую...
неа. даже локально не катается :eek:
работать со звуком можно начинать со следующего кадра после окончания загрузки, не спрашивайте почему.
ЗЫ
ушел спать.
Тогда уж проще всего loadSound(url, true);
работать со звуком можно начинать со следующего кадра после окончания загрузки, не спрашивайте почему.
А я думал звук потоково можно грузить.
прошу прощения, глупость сказал.
я уж не знаю что и делать. с изображениями проблем нет, а вот звук подводит зараза. что же с ним делать... :wacko:
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.