读取 ID3v2.3+ 标签非常有用,因为这些标签的帧可能被压缩。Zlib 压缩帧布局(ID3v2.3)
描述符大小
-------------------
帧头
帧 ID:4 字节
帧大小(完整帧大小 - 帧头大小):4 字节
帧标志:2 字节
第二个字节的第 7 位必须为 1(例如:%1xy00000)
帧内容解压缩大小:4 字节
--------------------
帧内容
在“帧大小”中描述的压缩字符串
<?php
$frame="[从 MP3 文件中读取]";
$frame_id=substr($frame,0,4);
$cs=substr($frame,10,4);
$checksize=$cs[3]*16777216+$cs[2]*65536+$cs[1]*256+$cs[0];
$content=substr($frame,14,$contentsize);
$content=gzuncompress($content);
if(strlen($content)!=$checksize){
echo 'Error whil uncrompessing frame data<br>';
}
echo $content;
?>