【问题标题】:How to prevent “Tagging time” being set when tagging mp3 files from python (eyeD3)从python(eyeD3)标记mp3文件时如何防止设置“标记时间”
【发布时间】:2016-01-14 09:00:27
【问题描述】:

我想使用来自 http://snipplr.com/view/4025/mp3-checksum-in-id3-tag/ 装备我的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  ........ ........

在其他文件中引入了更多更改,我会回到那个 解决第一个问题时的问题。

【问题讨论】:

  • 我想添加但仅作为评论的内容:我尝试首先将问题发布到项目的邮件列表 (groups.google.com/forum/?fromgroups#!forum/eyed3-users)。我什至通过电子邮件订阅了列表(我没有谷歌帐户),但我的帖子仍然被拒绝。
  • 你用的是什么版本的 eyeD3?
  • 我查看了 0.7.9(我认为是当前版本),找不到标记时间更改的代码。或许你可以试试那个版本?
  • 实际上看起来 API 不同,并且 0.7 不适用于您的驱动程序代码...

标签: python mp3 eyed3


【解决方案1】:

我认为最好的解决方案是迁移到更新的 0.7 系列(或者甚至使用其他一些库 - 我喜欢诱变剂)。 0.6.18 版本已经很老了。但执行其中任何一项都会破坏您的脚本 - API 已更改。

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

tag.do_tdtg = False

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

【讨论】:

    猜你喜欢
    • 2016-07-25
    • 2019-01-16
    • 2021-05-29
    • 2016-08-06
    • 2014-08-04
    • 2023-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    相关资源
    最近更新 更多