phpbar.de logo

Mailinglisten-Archive

[php] mp3-Informationen auslesen

[php] mp3-Informationen auslesen

Clemens Gutweiler php_(at)_gutweiler.net
Sat, 21 Oct 2000 09:54:19 +0200


-----Original Message-----
From: php-admin_(at)_php-center.de [mailto:php-admin_(at)_php-center.de]On Behalf

Gibt es irgendwo ein Tool, mit dem ich über PHP die Informationen von
MP3-Dateien
(Bitrate, Zeit, Artist, Title, Genre etc)auslesen kann?

Hallo,
ja dass gibt es, und zwar stehen in den letzten 128 bytes die Informationen,
die du suchst:

$genre = array(
	0 =>  "Blues", 1 =>  "Classic Rock", 2 =>  "Country",
	3 =>  "Dance", 4 =>  "Disco", 5 =>  "Funk",
	6 =>  "Grunge", 7 =>  "Hip-Hop", 8 =>  "Jazz",
	9 =>  "Metal", 10 =>  "New Age",
	11 =>  "Oldies", 12 =>  "Other", 13 =>  "Pop", 14 =>  "R&B",
	15 =>  "Rap", 16 =>  "Reggae", 17 =>  "Rock", 18 =>  "Techno",
	19 =>  "Industrial", 20 =>  "Alternative", 21 =>  "Ska",
	22 =>  "Death Metal", 23 =>  "Pranks", 24 =>  "Soundtrack",
	25 =>  "Euro-Techno", 26 =>  "Ambient", 27 =>  "Trip-Hop",
	28 =>  "Vocal", 29 =>  "Jazz+Funk", 30 =>  "Fusion",
	31 =>  "Trance", 32 =>  "Classical", 33 =>  "Instrumental",
	34 =>  "Acid", 35 =>  "House",
	36 =>  "Game", 37 =>  "Sound Clip", 38 =>  "Gospel",
	39 =>  "Noise", 40 =>  "Alternative Rock",
	41 =>  "Bass", 42 =>  "Soul", 43 =>  "Punk",
	44 =>  "Space", 45 =>  "Meditative",
	46 =>  "Instrumental Pop", 47 =>  "Instrumental Rock",
	48 =>  "Ethnic", 49 =>  "Gothic", 50 =>  "Darkwave",
	51 =>  "Techno-Industrial", 52 =>  "Electronic",
	53 =>  "Pop-Folk", 54 =>  "Eurodance", 55 =>  "Dream",
	56 =>  "Southern Rock", 57 =>  "Comedy", 58 =>  "Cult",
	59 =>  "Gangsta", 60 =>  "Top 40",
	61 =>  "Christian Rap", 62 =>  "Pop/Funk",
	63 =>  "Jungle", 64 =>  "Native American", 65 =>  "Cabaret",
	66 =>  "New wave", 67 =>  "Psychadelic", 68 =>  "Rave",
	69 =>  "Showtunes", 70 =>  "Trailer",
	71 =>  "Lo-Fi", 72 =>  "Tribal", 73 =>  "Acid Punk",
	74 =>  "Acid Jazz", 75 =>  "Polka",
	80 =>  "Folk", 81 =>  "Folk-Rock", 82 =>  "National Folk",
	83 =>  "Swing", 84 =>  "Fast Fusion", 85 =>  "Bebob",
	86 =>  "Latin", 87 =>  "Revival", 88 =>  "Celtic",
	89 =>  "Bluegrass", 90 =>  "Avantgarde",
	91 =>  "Gothic Rock", 92 =>  "Progressive Rock",
	93 =>  "Psychedelic Rock", 94 =>  "Symphonic Rock", 95 =>  "Slow Rock",
	96 =>  "Big Band", 97 =>  "Chorus", 98 =>  "Easy Listening",
	99 =>  "Acoustic", 100 =>  "Humour",
	101 =>  "Speech", 102 =>  "Chanson", 103 =>  "Opera",
	104 =>  "Chamber Music", 105 =>  "Sonata",
	106 =>  "Symphony", 107 =>  "Booty Bass", 108 =>  "Primus",
	109 =>  "Porn Groove", 110 =>  "Satire",
	111 =>  "Slow Jam", 112 =>  "Club", 113 =>  "Tango",
	114 =>  "Samba", 115 =>  "Folklore",
	116 =>  "Ballad", 117 =>  "Power Ballad",
	118 =>  "Rhythmic Soul", 119 =>  "Free Style",
	120 =>  "Duet", 121 =>  "Punk Rock", 123 =>  "A capella",
	124 =>  "Euro-House", 125 =>  "Dance Hall");


function id3($filename){
	global $genre;
	if (!is_file($filename) or filesize($filename) < 128){
		return false;
		break;
	}
	$fp = _(at)_fopen($filename,  "r");
	fseek($fp, _(at)_filesize($filename) - 128);
	$id3 = _(at)_fread($fp, 128);
	$arr = array();
	if (strtoupper(substr($id3, 0, 3)) ==  "TAG"){
		$arr[ "song"] = trim(substr($id3, 3, 30));
		$arr[ "artist"] = trim(substr($id3, 33, 30));
		$arr[ "album"] = trim(substr($id3, 63, 30));
		$arr[ "year"] = trim(substr($id3, 93, 4));
		$arr[ "comment"] = trim(substr($id3, 97, 30));
		$arr[ "genre"] = $genre[ord($id3[127])];
		return $arr;
	}
	else
		return false;
	fclose($fp);
}

HTH,
Clemens Gutweiler.
--
          web m_(at)_king -=- media solutions
      Fa. D. Brenner  -  cg_(at)_webmaking.de
     Auf dem Sand 15  -  0 65 33 - 96 01 31
       54497 Morbach -=- www.webmaking.de



php::bar PHP Wiki   -   Listenarchive