`
limon87
  • 浏览: 68229 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

php获取音乐文件的相差属性,包括歌曲名,歌手,专辑名称

 
阅读更多
function parse_mp3($file_name) {  
 
        $info_struct = array (
                        "song_name"   => array(3,  33, 'trim'),
                        "artist_name"  => array(33,  63, 'trim'),
                        "album_name"   => array(63,  93, 'trim'),
                        "year"    => array(93,  97, 'trim'),
                        "comment" => array(97, 126, 'trim'),
                        "genre"   => array(127, 128, 'genre_name')
        );
        $fp = fopen($file_name, "rb") or die("cannot open file!");
        fseek($fp, -128, SEEK_END);
        $mp3_info = array();
        $tag = fread($fp, 3);
        if ($tag == 'TAG') {
                //fseek($fp, -125, SEEK_END);
                foreach ($info_struct as $key => $arr) {
                                fseek($fp, $arr[0] - 128, SEEK_END);
                                $mp3_info[$key] = call_user_func($arr[2], fread($fp, $arr[1] - $arr[0]));
                }
        }
        fclose($fp);
        return $mp3_info;
}  
 
//file genre name accoding by genre number;
function genre_name($genre) {
        $genre = ord($genre);
        $genre_arr = array (
                '8'         =>        'Jazz',
                '10' => 'New Age ',
                '11' => 'Oldies ',
                '12' => 'Other',
                '13' => 'Pop',
                '14' => 'R&B',
                '15' => 'Rap',
                '16' => 'Reggae',
                '17' => 'Rock'
        );  
 
        if (array_key_exists($genre, $genre_arr)) {
                return $genre_arr[$genre];
        }
        else {
                return "Unknow";
        }
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics