Re: duration of mp3 file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, July 11, 2007 8:32 am, Steven Macintyre wrote:
> Allow bunnies ...
>
> Any takers on this ... I JUST want the duration of the mp3 file - with
> a
> small function if possible ... I honestly don't want to use a class
> like
> http://www.phpclasses.org/browse/package/112.html
>
> The coding is terrible and SERIOUSLY over inflated for what I want.
>
> Anyone know of a simple class / function ?

id3_lib and/or the PHP ID3 project may or may not let you pull the
duration out of the early frames of the MP3...

Though those are also quite a bit over-inflated for what you want...

If all else fails, and if a reasonable margin of error is acceptable...

A CRUDE hack to get an estimate, if you know in advance that all the
files are a certain audio quality, is to just divide the filesize by
some factor that's an average of the ratio between duration/filesize
of some known sample files...

I often eyeball an MP3 filesize in the shell and can tell you to
within a few seconds how long it is, just based on filesize, as they
are all stereo 128K, at least in my collection.

Except the ones named lofi which are mono 64K, and that's a different
ratio is all :-)

The point being that if it's just eye candy to tell the user how long
the thing is, you don't NEED microsecond accuracy anyway, just do
something like:

//very crude estimate, if I did the math in my head right...
$ratio = 60000000; //128K, stereo, a meg a minute, give or take...
$filesize = filesize($mp3);
$duration = $filesize / $ratio;
$minutes = floor($duration / 60);
$seconds = $duration - ($minutes * 60);
echo "$minutes:$seconds minutes";

Sometimes we programmers get so wrapped up in perfection and detail
work, we ignore a seemingly overly simplistic solution, to our
detriment.

-- 
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some indie artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux