我们需要计算一个 mp3 文件的哈希值来唯一标识它。问题是 Traktor 软件修改了文件的标签,没有机会改变它。
我们使用 id3lib 库,所以我想也许有一些方法可以获取各种版本标签的前置和附加大小,并且只读取它们之间的媒体内容来计算它的哈希值。我一直在 id3lib 文档中搜索,我发现的唯一内容是ID3_Tag::GetPrependedBytes()
and ID3_Tag::GetAppendedBytes()
,就像这样:
const std::size_t prepend = tagOpener.GetPrependedBytes();
const std::size_t append = tagOpener.GetAppendedBytes();
const std::size_t overall = tagOpener.Size();
但他们只返回 0。
如果这有帮助,我们正在用 C++ 和 Qt 一起开发,所以也许有一些东西可以帮助解决这个问题。