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

goword 05.12.2007 12:16

Определить длину аудио файла в секундах
 
Как средствами флеш определить длину аудиофайла более точно?
Пока нашел такое решение:
Код:

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);


goword 05.12.2007 12:49

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);
}


telit 05.12.2007 12:54

Metadata...

screamge 05.12.2007 13:37

http://flasher.ru/forum/showthread.php?t=102654


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

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