Bitrate von mp3 auslesen? Aber wie?

Hawkster

Erfahrenes Mitglied
Kann mir jemand sagen wie ich die Bit-Rate einer mp3 auslesen kann? Und wie lang die mp3 is?

MFG Hawkster
 
Es geht per Stream sowieso nicht. Ich mage mich zu erinnern, dass es durch den ID3 Tag funktionieren sollte aber ich lege dafür nicht meine chiroplastische Hand in das Feuer.

In diesem Sinne
 
Warum sollte das nicht gehen...?

PHP:
<?
$bitrates = array(0 => "VBR", 1 => 32, 2 => 40, 3 => 48, 4 => 56,
	5 => 64, 6 => 80, 7 => 96, 8 => 112, 9 => 128, 10 => 160,
	11 => 192, 12 => 224, 13 => 256, 14 => 320);

$sampling_freqs = array(0 => 44100, 1 => 48000, 2 => 32000);

$modes = array(0 => "stereo", 1 => "joint stereo",
	2 => "dual channel", 3 => "single channel");

$fp = fopen("foobar.mp3", "r");
$header = fread($fp, 4);
fclose($fp);

$header = unpack("n2word", $header);

if ($header['word1'] != 0xFFFB) {
	die("No MPEG1.0 Layer-III file!");
}

$bitrate_index = $header['word2'] >> 12;
$bitrate = $bitrates[$bitrate_index];

$sampling_freq_index = ($header['word2'] >> 10) & 0x03;
$sampling_freq = $sampling_freqs[$sampling_freq_index];

$mode_index = ($header['word2'] >> 6) & 0x03;
$mode = $modes[$mode_index];

printf("%d kbps, %dHz %s", $bitrate, $sampling_freq, $mode);
?>

Länge sollte sich auch berechnen lassen, hab aber momentan keine Zeit, das zusammenzufrickeln.

@Krypthonas: Mit dem ID3-Tag hat das nichts zu tun, das steht alles im Header.
 

Neue Beiträge

Zurück