PDA

Просмотр полной версии : Процент загрузки mp3.


boor
02.06.2005, 21:03
Народ подскажите очень надо, третий день хелп колупаю и по инету лазаю.
Суть вот в чём есть, флэшка в нее из хтмль подгружается mp3.
Вот я хочу, чтоб он показывал процент загрузки mp3 файла

UnOuter
07.06.2005, 00:56
а что через

this.createEmptyMovieClip();
mover1.loadMovie();

а потом стандартно

через _root.getBytesLoaded();


не идетть?

или конкретизируй вопрос......у тебя mp3 из вне подгружается или откуда, какого HTML??

boor
08.06.2005, 00:03
В общем щас поесню.
MP3 из вне берётся.
Причём каждый раз разный.
mp = new Sound();
mp.loadSound(var_mp, false);

Вот это у меня в самой флэшки.
В теге обжект в хтмль прописана переменная.
вот сам хтмль
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
WIDTH="250" HEIGHT="100" id="pleer" ALIGN="">
<PARAM NAME=movie VALUE="pleer.swf?var_mp=<?php echo"$mp3";?>"><PARAM NAME=menu VALUE=false> <PARAM NAME=quality VALUE=high> <PARAM NAME=bgcolor VALUE=#6666CC> <EMBED src="pleer.swf?var_mp=<?php echo"$mp3";?>" menu=false quality=high bgcolor=#6666CC WIDTH="250" HEIGHT="100" NAME="pleer" ALIGN=""
TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED>
</OBJECT>
на неё через пхп передаётся значение переменной var_mp.
Так вот получается так флешка сама загрузилась и музон ещё подгружается.
Я вот ни как не пойму как мне сделать процент загрузки музона.

UnOuter
08.06.2005, 10:27
Попробую напрвить тебя на путь истинный...

Попробуй разберись с

Sound.getBytesTotal()
Sound.getBytesLoaded()

my_sound.getBytesLoaded()

Насколько мне известно эти функции показывают общий размер в байтах и загрузки, конкретного звукового объектра, где в данном случае у тебя переменная var_mp

А если быть более точным то вот

_root.mp=new Sound(_root);
_root.mp.loadSound("test.mp3");
this.onEnterFrame=function(){
t=_root.mp.getBytesTotal();
l=_root.mp.getBytesLoaded();
if(l==t){
delete this.onEnterFrame;
_root.nextFrame();
}
}


теоретически должно работать, не проверял :)

Seich
17.06.2005, 15:21
Вот с хелпа флеша вырезал(проверено работает как часы):

// Create a new Sound object to play the sound.
var songTrack:Sound = new Sound();
// Create the polling function that tracks download progress.
// This is the function that is "polled." It checks
// the download progress of the Sound object passed as a reference.
checkProgress = function (soundObj) {
var bytesLoaded = soundObj.getBytesLoaded();
var bytesTotal = soundObj.getBytesTotal();
var percentLoaded = Math.floor(bytesLoaded/bytesTotal * 100);
trace("%" + percentLoaded + " loaded.");
};
// When the file has finished loading, clear the interval polling.
songTrack.onLoad = function () {
clearInterval(poll);
};
// Load streaming MP3 file and start calling checkProgress()
songTrack.loadSound("http://yourserver.com/songs/beethoven.mp3", true);
var poll = setInterval(checkProgress, 1000, songTrack);


Если надо разные подгружать мр3, то делай след:

myrand=random(5)+1;//это для 5 звуков, т.е. name_[1-5].mp3
songTrack.loadSound("name_" + myrand + ".mp3",true);