2

我有可以从云端播放音乐的音乐应用程序。用户可以下载他们喜欢的歌曲以在没有互联网连接的情况下收听。下载歌曲的早期文件名与其在云中的 ID 完全匹配。例如 a34dsa335dkf.mp3, 34fdnn34n2n1.mp3, ...

这种命名方式方便快速搜索。但对人们来说并不方便,因为像 a34dsa335dkf.mp3 这样的文件名并没有告诉他们任何信息。例如,如果有人想将他下载的歌曲复制到其他地方,他将不知道要复制什么。

我正在寻找一些索引机制,因此我可以将文件命名为人类可读的(例如 Madonna-Frozen.mp3 而不是 a34dsa335dkf.mp3),并且我可以根据需要快速找到这些文件。我不能简单地将文件名与云中的 ID 匹配。因为可能重复。

有人可以给我建议我该怎么做吗?

4

1 回答 1

1

我对此没有很好的经验,所以请将此作为新手建议。我建议使用 MP3metadata将您的用户 ID 放入并将文件重命名为更具描述性的名称,例如您提到的名称,例如Madonna-Frozen.mp3

很少有Java库可以读取和写入 MP3 元数据,您可以尝试一下:

  • jd3Lib是一个用 Java 编写的id3/mp3库。它提供读取mpeg信息的功能,例如比特率、采样率、通道模式等。它还允许读取、写入和删除id3v1id3v2标签

  • JavaMusicTag该库从 MP3 文件中读取歌曲信息,例如歌曲名称、艺术家和专辑。它支持ID3v1ID3v1.1Lyrics3v1Lyrics3v2ID3v2.2ID3v2.3ID3v2.4标签。MP3 帧头也可以读取。有一个FilenameTag,一个从文件名智能派生的ID3v2.4标记。它包含标签同步实用程序、多个保存选项和简单的标签转换方法。

  • JAudioTagger是 Jaikoz 使用的音频标记库,用于标记音频文件中的数据。它目前完全支持Mp3Mp4Mp4音频、M4aM4p音频)OggVorbisFlacWma,对WavReal格式的支持有限。

我很确定你会从专家那里得到更好的方法。

于 2013-04-17T11:55:06.650 回答