php读取mp3信息,php读取mp3文件信息 (转)

一个读取的程序。其实稍作改动,就可以变成读写的(id3v1),id3v2复杂的多,以后看情况再写吧。

$file=”回到我身边.mp3″; //要读取的文件–俺偶像的

$mp3info=readmp3($file); //获得文件信息,数组

print_r($mp3info); //输出数组

function readmp3($mp3_file)

{

$fp=fopen($mp3_file,”rb”); //读取mp3文件

//首先判断是否有TAG,如果没有,那就没必要读取了,方法就是读取倒数128-126字节,看是否是TAG

//详情参看http://www.readlog.cn/archives/2961/

fseek($fp,-128,SEEK_END); //指针移到倒数128字节处

$tag=fread($fp,3); //读取倒数128-126字节位置的数据

if($tag==”TAG”) //如果这3个字节是TAG,表明有TAG

{

$mp3=array();

//标题30个字节,从倒数125字节到倒数96字节

//现在直接读就可以了

$mp3[‘标题’]=fread($fp,30);

//艺术家30个字节,从倒数95字节到66字节

$mp3[‘艺术家’]=fread($fp,30);

//专辑30个字节,从倒数65字节到36字节

$mp3[‘专辑’]=fread($fp,30);

//年份4个字节,从倒数35字节到32字节

$mp3[‘年份’]=fread($fp,4);

//注释28个字节,从倒数31字节到4字节 (有的是30个字节,那就把倒数第2,3位归入注释了)

$mp3[‘注释’]=fread($fp,28);

fseek($fp,1,SEEK_CUR); //跳过倒数第3位保留位

//第几首1个字节,倒数第2位

$mp3[‘编号’]=ord(fread($fp,1));

//流派1个字节,就是倒数第一个字节了

//流派这里是存放的整型数据,可以写个函数来把数字变成具体的文字。

//具体含义参看http://www.readlog.cn/archives/2961/

$mp3[‘流派’]=ord(fread($fp,1));

return $mp3;

}

}

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值