我写了程序差异,并复制的文件全部或分段的基础上的变化的两端(可以式的...但更像是一致).主要的想法是保持我的音乐文件夹(所有mp3)日在多个地点。

我想送给分段更新如果只有一小部分文件已经改变,而不是复印的整个文件。为此,我需要一种方法比较分段的文件。

我最初试图产生哈希块的每一个文件(每n bytes我的散列的分段)。我注意到,当时我改变了一个属性(id3v2标签上的一个mp3)所有的散列块会变化。这是有道理的,因为我猜头越来越大,因为它获得的新信息。

这使我想到我的实际问题。我想知道如何确定长度的一个mp3的标题,这样我就可以创造2可比较的散列。

1)的元信息的文件(标题)

2)实际mpeg流与音频(本哈希应保持不变,如果我所做的就是改变标签的信息)

我错过了什么吗?

谢谢!

有帮助吗?

解决方案 3

我卷起使用TagLibSharp。 developer.novell.com/wiki/index.php/TagLib_Sharp

其他提示

如果你想要确定的头信息,则无论是:

  • a)需要使用一个mp3播放的图书馆,可以做的分析,或
  • b)去 mp3说明书 和解析出来作为必要的。

如果你想检查的长度是ID3v2标签,那么你可以在的 http://www.id3.org/id3v2.4.0-structure

如果你读前3个字节,它们是等于“ID3”,然后跳到第7字节,则读出报头大小。但要小心,因为尺寸被存储为“synchsafe整数”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top