我可以为 MP3 编写类似于我自己版本的 ID3 标签的东西吗?

Posted

技术标签:

【中文标题】我可以为 MP3 编写类似于我自己版本的 ID3 标签的东西吗?【英文标题】:Can I write something like my own version of ID3 Tags to MP3s? 【发布时间】:2015-05-14 15:41:09 【问题描述】:

参考:http://id3.org/id3v2.3.0#ID3v2_overview

似乎 ID3 标签并没有做我希望它做的所有事情。我在想我可以将信息写入 cmets 并使用 cmets 字段作为更好的数据结构的存储,但这很 hacky。在一般意义上,我想知道我有哪些可用的方向。我可以在文件中写入 ID3 标签之类的东西吗?或者它是内置在 MP3 中的吗?

如果不是,这是否意味着除了将映射存储到文件之外的文件之外,我必须住在 ID3 字段中?

如果是,我可以对任何文件执行此操作吗? MP3 是否有什么特别之处可以让您编写任意元数据,或者我也可以使用 WAV 文件来执行此操作。

我知道对于某些人来说,这可能是文件工作的基本原理,所以如果很明显,我深表歉意。

谢谢!

更新:似乎使用 npmgroove 我可以将任何我想要的元数据字段写入文件。这是否意味着 ID3 只是元数据字段的标准,任何人都可以将任何 [key, value] 元数据信息写入任何文件?因为这就是它的样子,而且太棒了。

【问题讨论】:

【参考方案1】:

基本上,您可以在文件周围写入任何数据。这种围绕 MP3 音乐数据的元数据称为 ID3。 ID3 也可用于other formats。

您将遇到的主要问题:您必须确保读取此类文件的设备能够解释您的元数据。简单示例:如果您要在 JPG 文件周围编写 ID3-Tag,您可以(几乎)确定没有第 3 方程序或设备会读取此元数据。大多数图形程序甚至不再读取 JPG 图片部分,因为没有人会期望 JPG 文件周围有 ID3-Tag。 (这种元数据将被添加到 EXIF 标记中)。

只要您在 MP3 音乐文件中添加 ID3-Tag,您就可以添加任何您想要的内容。除了所有现有的standard tags,您甚至可以添加您自己的private frames,并提供您非常具体的信息。如果想在您自己的特定 ID3 标签中添加“主唱的眼睛颜色”,请随意。

【讨论】:

以上是关于我可以为 MP3 编写类似于我自己版本的 ID3 标签的东西吗?的主要内容,如果未能解决你的问题,请参考以下文章

读取远程 mp3 文件的 ID3 标签?

javascript:从 mp3 流中读取 id3 标签

Plex音乐名称乱码原因id3版本

将 id3 元数据写入应用程序包中的 mp3 文件

在 Python 中编辑类似文件的对象上的 MP3 元数据?

从mp3获取没有元数据(ID3)的数据的方法[关闭]