Просмотр полной версии : Определить длину аудио файла в секундах
Как средствами флеш определить длину аудиофайла более точно?
Пока нашел такое решение:
sd_sound.duration*getBytesTotal()/getBytesLoaded()/1000
есть более точное? у меня оно некорректно работает!
Nata_cher
05.12.2007, 12:32
а просто Sound.duration();
вот пример из хелпа:
var my_sound:Sound = new Sound();
my_sound.onLoad = function(success:Boolean) {
var totalSeconds:Number = this.duration/1000;
trace(this.duration+" ms ("+Math.round(totalSeconds)+" seconds)");
var minutes:Number = Math.floor(totalSeconds/60);
var seconds = Math.floor(totalSeconds)%60;
if (seconds<10) {
seconds = "0"+seconds;
}
trace(minutes+":"+seconds);
};
my_sound.loadSound("song1.mp3", true);
Nata_cher - вы показали пример, определения длины звука, после его подгрузки, а мне нужно в его процессе.
Я делаю полосу состояния в мп3 плеере, мне нужно заранее определить длину звука! Как?
koIIImarik
05.12.2007, 12:53
sd_sound.duration*getBytesTotal()/getBytesLoaded()/1000
По моему очень даже действенный способ, можно ещё использовать Math.round(); Единственное что, лучше использовать его не сразу, а после загрузки опр. количества данных. Т.е. сделать проверку:
if(sd_sound.getBytesLoaded()>1000){
setInterval(function(){
trace(sd_sound.duration*sd_sound.getBytesTotal()/sd_sound.getBytesLoaded()/1000);
},30);
}
screamge
05.12.2007, 13:37
http://flasher.ru/forum/showthread.php?t=102654
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.