如何使用元数据创建文件格式

时间:2012-06-17 12:57:40

标签: file audio format

我正在尝试为音乐制作新的文件格式。它需要是一个实际存储多个音频文件的文件,例如zip文件。我正在寻找一种方法将zip文件转换为这种新的文件格式。但是,我仍然希望将id3标签与这些新文件一起使用。我想知道如何制作这种新文件格式,这是一个包含多个音频文件的文件,但仍然包含该文件的整体id3标签,以便我可以将其加载到我的移动应用程序中。 任何帮助/建议将不胜感激。 干杯, AJ

2 个答案:

答案 0 :(得分:1)

创建自己的新文件格式的问题是只有您可以使用它。除非你让很多其他人相信它是一种有用的新格式,否则其他任何人都无法使用这些工具对你创建的文件做任何事情。

要使现有的音乐播放器程序能够处理新的文件格式,您必须以该播放器的插件样式为您的文件格式编写CODEC。可能不止一个插件,因为您的文件格式既是音乐容器也是目录。

创建新文件格式的另一种方法是将您拥有的MP3文件放入新的MP3文件中,每个旧文件都在新文件中添加新的TRACK。务必将每个新曲目的开始时间设置为所有先前曲目播放持续时间的总和,这样它们就不会互相踩踏。将有关每个文件的元数据合并到新文件的元数据中。对于具有大量常见元数据(如同一位艺术家)的集合,这可能正常,但如果元数据变化很大,则可能无法正常工作。

另一种方法是将它们转换为CDA格式,然后放入音频CD图像文件,就像将它们刻录到CD一样。

第三种方法是将文件放入SQLite数据库文件中。每个MP3文件中的元数据都会填写记录,您可以选择将MP3文件保留在外部并只链接到它,或者将MP3文件的blob存储在数据库中。如果你确实存储了blob,那么SQLite数据库文件就是一个包含你放入其中的所有内容的文件。

-Jesse

答案 1 :(得分:0)

除非你真的有充分的理由这样做,否则不要创建新的格式。

它的声音Matroska可以做任何你需要的事情。但与您自己的格式相比,您和其他开发人员将有一堆随时可用的工具来处理这种格式。这包括编辑,玩家......另外,你可以将初始工程错误留给其他人。

如果您真的想要创建自己的格式:只需将支持id3标签的音频文件放入zip文件中,或者将XML文件(例如XML格式)创建到您的zip文件中,即包含您希望包含的元信息。