【问题标题】:Change album names using mp3agic使用 mp3agic 更改专辑名称
【发布时间】:2017-12-07 04:32:36
【问题描述】:

我想循环浏览一个包含 .mp3 文件的文件夹,并使用 @ 将他们的专辑名称(如果他们没有的话)更改为他们的标题(例如,标题为“Remix”的 Remix.mp3 获得专辑“Remix”) 987654321@.

这是我目前的代码:

if (mp3file.hasId3v1Tag()) {
    ID3v1 id3v1Tag = mp3file.getId3v1Tag();

    try {
        if (id3v1Tag.getAlbum().equals("")) {
            id3v1Tag.setAlbum(id3v1Tag.getTitle());
            mp3file.save(SAVE_DIR + "\\" + child.getName());
            System.out.println(SAVE_DIR + "/" + child.getName());
        } else {
            mp3file.save(SAVE_DIR + "/" + child.getName());
        }
    } catch (Exception e) {
        mp3file.save(SAVE_DIR + "/" + child.getName());
    }
}

我收到以下错误:

线程“main”com.mpatric.mp3agic.NotSupportedException 中的异常:不支持打包废弃帧 在 com.mpatric.mp3agic.ID3v2ObseleteFrame.packFrame(ID3v2ObseleteFrame.java:32) 在 com.mpatric.mp3agic.ID3v2Frame.toBytes(ID3v2Frame.java:83) 在 com.mpatric.mp3agic.AbstractID3v2Tag.packSpecifiedFrames(AbstractID3v2Tag.java:275) 在 com.mpatric.mp3agic.AbstractID3v2Tag.packFrames(AbstractID3v2Tag.java:261) 在 com.mpatric.mp3agic.AbstractID3v2Tag.packTag(AbstractID3v2Tag.java:227) 在 com.mpatric.mp3agic.AbstractID3v2Tag.toBytes(AbstractID3v2Tag.java:218) 在 com.mpatric.mp3agic.Mp3File.save(Mp3File.java:450) 在 de.thejetstream.main.Iterator.(Iterator.java:57) 在 de.thejetstream.main.Main.main(Main.java:12)

在这个文件中:

名称:Feel Good in Black and Yellow.mp3

title: Feel Good in Black and Yellow (feat. Gorillaz & De La Soul)

专辑:Black and Yellow - Single

它在第 57 行崩溃,这等于最后一次保存(在 catch 中)。

这段代码有什么问题?仅仅是因为文件使用了旧的编解码器或类似的东西吗?

【问题讨论】:

  • 想想这个......为什么你需要try catch?如果您需要它,那么 catch 中的 mp3agic.save() 方法是否也需要它?此外,你真的应该始终确保你捕捉到了正确的异常。
  • @DevilsHnd 只是一个批量修改一些音乐文件的小程序,以后不会用到。这就是为什么我不使用正确的异常,因为它应该只循环一些文件。我认为损坏的文件可能使用了 .mp3 的旧编解码器,因此不能被 mp3agic 保存,但我不太确定。

标签: java mp3 mp3agic


【解决方案1】:

我找到了解决办法:

问题是这些文件使用 ip3v2 标签而不是 ip3v1。只需检查它是哪个并相应地调整代码即可解决所有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多