如何预防“;标记时间”;在标记python中的mp3文件时设置(eyeD3)

如何预防“;标记时间”;在标记python中的mp3文件时设置(eyeD3),python,mp3,eyed3,Python,Mp3,Eyed3,我想使用来自的脚本 装备我的mp3 使用md5校验和的集合。脚本可以添加一个自定义ID3标记 保存音频数据的校验和,它还可以选择 删除该校验和。不幸的是,添加和删除校验和并不能 通过往返测试有几个原因。我想改变这一点。一个 原因是脚本运行时会创建“标记时间”字段 但当校验和被移除时,它不会被移除,时间是偶数 更新。IIUC命令行上的--no tagging time frame选项将阻止eyed3工具执行此操作,但我找不到与python等效的选项。如何防止在python中更改或设置标记时间 更

我想使用来自的脚本 装备我的mp3 使用md5校验和的集合。脚本可以添加一个自定义ID3标记 保存音频数据的校验和,它还可以选择 删除该校验和。不幸的是,添加和删除校验和并不能 通过往返测试有几个原因。我想改变这一点。一个 原因是脚本运行时会创建“标记时间”字段 但当校验和被移除时,它不会被移除,时间是偶数 更新。IIUC命令行上的
--no tagging time frame
选项将阻止eyed3工具执行此操作,但我找不到与python等效的选项。如何防止在python中更改或设置标记时间


更多详情:

我在原件的副本上添加并随后删除了校验和 并比较了两个文件。这就是二进制数据的区别 最好的情况是:

原件:

0003 3060: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 3070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 3080: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 3090: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 30A0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 30B0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
使用校验和复制:

0003 3060: 00 00 00 00 00 00 54 58  58 58 00 00 00 21 00 00  ......TX XX...!..
0003 3070: 00 54 61 67 67 69 6E 67  20 74 69 6D 65 00 32 30  .Tagging time.20
0003 3080: 31 36 2D 30 31 2D 31 32  54 32 32 3A 33 31 3A 30  16-01-12 T22:31:0
0003 3090: 38 55 46 49 44 00 00 00  24 00 00 6D 64 35 00 64  8UFID... $..md5.d
0003 30A0: 34 35 64 30 62 32 34 36  38 62 31 64 38 31 31 35  45d0b246 8b1d8115
0003 30B0: 31 39 30 32 30 62 37 62  30 30 33 35 37 33 34 00  19020b7b 0035734.
已删除校验和的副本:

0003 3060: 00 00 00 00 00 00 54 58  58 58 00 00 00 21 00 00  ......TX XX...!..
0003 3070: 00 54 61 67 67 69 6E 67  20 74 69 6D 65 00 32 30  .Tagging time.20
0003 3080: 31 36 2D 30 31 2D 31 34  54 30 38 3A 33 34 3A 35  16-01-14 T08:34:5
0003 3090: 39 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  9....... ........
0003 30A0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
0003 30B0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ........ ........
在其他文件中引入了更多的更改,我将回到这里
第一个问题解决后的问题。

我认为,最好的解决方案是转移到较新的0.7系列(或者甚至使用其他库-我喜欢诱变剂)。0.6.18版本已经很旧了。但是执行这两种操作都会破坏您的脚本—API已经更改

如果您只想对现有脚本进行最小的更改,我建议您只添加

tag.do_tdtg = False

在脚本中的每个
标记.update
调用之前。我认为这将关闭时间更新行为。

我想添加的内容,但只是作为评论:我试图先将问题发布到项目的邮件列表()。我甚至通过电子邮件(我没有谷歌账户)订阅了这个列表,但我的帖子仍然被拒绝。你使用的是什么版本的eyeD3?我查看了0.7.9(我想是当前版本),找不到标记时间更改的代码。也许你可以试试那个版本?实际上看起来API是不同的,0.7不适用于你的驱动程序代码。。。