这是一个2部分问题。首先,是否可以独立于ID3标签访问MP3中的音频数据,其次,有没有办法使用可用的库?
我最近从3台计算机整合了我的音乐收藏,最后得到了改变了ID3标签的歌曲,但音频数据本身未经修改。运行搜索重复文件失败,因为文件随ID3标签更改而更改,但我认为如果我只是使用音频数据运行重复数据删除进行比较,则应该可以识别重复文件。
我知道可以通过文件中的ID3标头寻找特定位置,并直接读取数据,但是想知道是否有一个库可以公开音频数据,所以我可以提取数据,运行对其进行校验和,并将计算结果存储在某处,然后查找相同的校验和。 (另外,考虑到可变长度标题时,我可能不得不使用某种库。)
答案 0 :(得分:0)
巧合的是,我想在前几天做类似的事情。
这是我编写的Ruby脚本:
http://code.google.com/p/kodebucket/source/browse/trunk/bin/mp3dump.rb
它将mpeg帧转储到stdout,因此可以像这样获取校验和:
# mp3dump.rb file.mp3 | md5sum