2011-11-14 64 views

回答

2

在99%的情况下,如果您首先下拉前10个字节,那么您将拥有ID3v2标头,其中最后4个字节将是ID3v2标签的大小,其中将包含封面艺术。

的ID3v2的大小是一个“同步安全整数”,但标签库有一个函数来解码正常整数:

TagLib::ID3v2::SynchData::toUInt(const ByteVector &data) 

因此,基本算法是:

  • 抓住前10个字节
  • 完整性检查他们以“ID3”开始的那些字节
  • 读取这10个字符的最后4个字节,并通过上面的函数传递它们以获得ID3v 2标签长度
  • 抓斗从流多少额外数据
  • 传递数据的块的TagLib
  • 提取封面
1

mp3规范并没有像歌曲名或专辑封面那样的元数据。它是id3的一部分,它通常放在文件的末尾。

+0

假。 ID3v2标签,它们是能够包含专辑封面的标签,几乎普遍存在于文件的开头。 – scotchi

相关问题