2012-04-13 2 views
1

Я использую этот код, чтобы получить ID3 информацию о файле MP3.Получить обложку альбома из MP3 PHP

<?php 
    class CMP3File { 
    var $title;var $artist;var $album;var $year;var $comment;var $genre; 
    function getid3 ($file) { 
     if (file_exists($file)) { 
     $id_start=filesize($file)-128; 
     $fp=fopen($file,"r"); 
     fseek($fp,$id_start); 
     $tag=fread($fp,3); 
     if ($tag == "TAG") { 
     $this->title=fread($fp,30); 
     $this->artist=fread($fp,30); 
     $this->album=fread($fp,30); 
     $this->year=fread($fp,4); 
     $this->comment=fread($fp,30); 
     $this->genre=fread($fp,1); 
     fclose($fp); 
     return true; 
     } else { 
     fclose($fp); 
     return false; 
     } 
     } else { return false; } 
    } 
    } 
    ?> 

Я использую этот код для его использования.

 include ("CMP3File.php"); 
    $filename="music_file.mp3"; 
    $mp3file=new CMP3File; 
    $mp3file->getid3($filename); 
    echo "Title: $mp3file->title<br>\n"; 
    echo "Artist: $mp3file->artist<br>\n"; 
    echo "Album: $mp3file->album<br>\n"; 
    echo "Year: $mp3file->year<br>\n"; 
    echo "Comment: $mp3file->comment<br>\n"; 
    echo "Genre: " . Ord($mp3file->genre) . "<br>\n"; 

Есть ли способ, чтобы также получить и отразить облик обложки альбома как изображение?

+0

Он отправляет код того, что он пробовал, и хочет знать, как включать обложки. Как это слишком локализовано? – DanMan

ответ

3

Вы читаете тег ID3v1 из файла, который не поддерживает встроенные изображения. Чтобы прочитать обложку альбома из тега ID3v2, я бы предложил использовать существующую библиотеку, такую ​​как KTagLib.

В качестве альтернативы вы можете придумать свою собственную реализацию, просмотрев ID3v2 spec.