Форум 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=87770)

Tankian 11.11.2006 00:52

Прелодер для файлов из вне!
 
Всем привет. Это снова я. И, наверное, снова с глупым вопросом. Ну так вот: с горем пополам написал я прелодер( для самого мувика):
Код:

onClipEvent (load) {
        total = _root.getBytesTotal();
}
onClipEvent (enterFrame) {
        loaded = _root.getBytesLoaded();
        percent = int(loaded/total*100);
        this.gotoAndStop(percent);
        if (percent == 100) {
        _root.gotoAndPlay(2);
        }
}

Он работает прелестно.

Теперь я загружаю музыку:
Код:

snd1 = new Sound();
snd1.loadSound("http://www.site.ru/music1.mp3", true);

и мне нужен прелодер для этой музыки.
Первое, что пришло на ум:
Код:

onClipEvent (load) {
        total = snd1.getBytesTotal();
}
............

не работает(
Помогите, плз, кто чем сможет...

2: это к делу не относится... так, для общего развития:

я тут в одном прелодере( уже готовом) увидел вот что:
Код:

...........
if (loaded == total and total>380 and a<>1) {
                a=1;
        _root.gotoAndStop(2);
        }

ну что написано в первой части этого условия понятно. А вот что такое "total>380", что это за число 380 непонятно... И уж совсем не понятно что такое "а"... объясните плз.

Всем заранее примного благодарен!

Хемуль 11.11.2006 01:48

2 Tankian:
Удивительно, но Гугл почему-то выдал в первой же ссылке ответ. о_0
http://209.85.129.104/search?q=cache...1&client=opera

Dessert 11.11.2006 03:39

Недавно нашол исходник на одном сайте, попробуй это:

Чтобы подгрузить mp3 во флешку, воспользуемся функцией Sound.loadSound.
Берём любой mp3, называем его sound.mp3 и кладём в папку рядом с флешкой. Создаём флешку и в первом кадре пишем код:
Код:

my_sound = new Sound();
my_sound.loadSound("sound.mp3", false);

Тестим и проверяем работоспособность. Остаётся добавить прелоадер - для этого дописываем наш код следующим образом:
my_sound = new Sound();
my_sound.loadSound("sound.mp3", false);
//
my_sound.onLoad = function(ok) {
if (ok) {
clearInterval(interval);
this.start();
tf_txt.text = "100%";
}
};
_root.createTextField("tf_txt", 1, 100, 100, 350, 200);
function loader(sound) {
var gbl = sound.getBytesLoaded();
var gbt = sound.getBytesTotal();
tf_txt.text = int(gbl/gbt*100)+"%";
}
interval = setInterval(loader, 100, my_sound);


Хемуль 11.11.2006 03:46

Да, поскольку у обьекта Sound нет обработчиков, вызываемых при загрузке, нужно использовать либо setInterval, либо onEnterFrame для отображения прогресса загрузки.

iNils 11.11.2006 03:48

Dessert, для оформления своего кода, надо использовать теги [code][/code].

Dessert 11.11.2006 18:24

тоесть?

Хемуль 11.11.2006 22:46

2 Dessert:
То есть, например, без форумных тэгов ваш текст выглядит так:
function myFunction()
{
trace("Что такое форумные тэги?");
}

А если вставить код между тэгами, про которые вам написал iNils, получите:
Код:

function myFunction()
{
    trace("Вау, форумные тэги - это круто!");
}

Сохраняется форматирование, да и код выделяется из остального текста.

Diestro 11.11.2006 23:50

Думаю стоит обратить внимание на второй параметр передаваемый в фукцию loadSound, true это потоковый звук, который проирывается по мере загрузки. Попробуйте false.

Хемуль 12.11.2006 00:02

2 Diestro:
В последнем куске кода вроде было false...

Diestro 12.11.2006 01:16

В коде то оно было, не было сказно что в этом причина, на что я и обратил внимание вопрошающего :)


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

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