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

Ja-Ja 04.09.2005 17:41

не работает предзагрузчик звука!!!
 
Короче пишу такой код AS2

this.createEmptyMovieClip("song_mc", this.getNextHighestDepth());
var sound:Sound = new Sound(song_mc);
sound.loadSound("song1.mp3", false);
function loadSound() {
var proc:Number = (sound.getBytesLoaded()/sound.getBytesTotal())*100;
if (proc<100 && isNaN(proc)) {
player_mc.preloader_mc.mask_mc._width = proc;
}
if (proc == 100) {
clearInterval(time);
sound.start();
player_mc.preloader_mc.visible = false;
player_mc.play_mc._visible = true;
}
}
var time:Number = setInterval(loadSound, 500);

player_mc.play_mc - кнопка включения и выключения звука-это не важный элемент
player_mc - родительский клип плеера
player_mc.preloader - это сам прелоадер пока без текстового поля
player_mc.preloader_mc.mask_mc - это клип - маска,котроя отображает количество загруженных байтов информации

При трассировке sound.getBytesLoaded() равен сразу всему размеру файла в режиме теста локального,а так же и в сети :confused:!!!
Загрузка не поточная,значит загрузчик должен работать,скажите что тут не правильного? Вроде бы все как надо написал!

Если хотите пишите приватом,у меня есть несколько интересных скриптов,можем поменяться информацией.... :cool: ;)

Ja-Ja 04.09.2005 23:01

что никто не знает?????мдаа.....

Ja-Ja 15.09.2005 11:46

Беда........................................Тут этого никто не знает!!!!!!!!:%)))

Бармалей 15.09.2005 13:47

попробуй изменить условие if (proc == 100) на if (sound.getBytesLoaded() == sound.getBytesTotal())
и еще функция isNaN(proc) выдает значение true только в том случае, если proc==NaN. Т.е. предложение

if (proc<100 && isNaN(proc)) {
player_mc.preloader_mc.mask_mc._width = proc;
}

выполнится только в том случае если proc меньше 100 И!!! равно NaN
сделай просто проверку на значение величины

if (proc<100) {
player_mc.preloader_mc.mask_mc._width = proc;
}
if (sound.getBytesLoaded() == sound.getBytesTotal()) {
clearInterval(time);
sound.start();
player_mc.preloader_mc.visible = false;
player_mc.play_mc._visible = true;
}

Бармалей 15.09.2005 13:50

а еще лучше:

if (sound.getBytesLoaded() < sound.getBytesTotal()) {
player_mc.preloader_mc.mask_mc._width = proc;
}
if (sound.getBytesLoaded() == sound.getBytesTotal()) {
clearInterval(time);
sound.start();
player_mc.preloader_mc.visible = false;
player_mc.play_mc._visible = true;
}

Бармалей 15.09.2005 13:50

Отпишись, если заработало.


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

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