问题标签 [mp3agic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1713 浏览

java - 使用 mp3agic 删除封面艺术

我正在使用 mp3agic 自动编辑 mp3 标签,以便我的收音机以我喜欢的方式显示所有内容。但是,我的收音机似乎讨厌大专辑封面图像,导致无法解析 mp3 标签的其余部分。因此,我想使用 mp3agic 删除所有封面艺术。有一个名为的方法ID3v2.setAlbumImage(byte[] albumImage, String mimeType),由这里AbstractID3v2Tag看到的实现。首先,我考虑过输入值,但是在查看代码之后,这没有任何效果。null

问题:如何使用该setAlbumImage方法删除现有的专辑封面?有没有更合适的方法?

0 投票
1 回答
320 浏览

java - 通过 mp3agic 访问歌词

我不擅长java。我正在做一个使用库 mp3agic 更新音乐文件元数据的项目。我在库中找不到歌词部分。有ID3标签的高手可以帮我取歌词吗?

0 投票
1 回答
266 浏览

android - 在 RecyclerView 中对大量数据执行慢速任务

我正在构建一个音乐播放器,它从设备上的所有 mp3 文件中获取 BPM ID3v2 标签,并允许按 BPM 进行排序和过滤。要获取标签,我使用的是 mp3agic 库。事实证明,每首歌曲的此标签提取需要一些时间,并且在将每首歌曲添加到我的歌曲列表时执行提取会使播放器暂时无法正常工作。我不确定是否应该在完成构建时在整个列表上使用 AsyncTask 或为每个项目使用 AsyncTask 来检索其 BPM 并将其插入到歌曲中,或者甚至使用其他更快的方法来获取 BPM 值。任何人都可以提供任何指导吗?

这是我获取 BPM 的代码:

这是我用来构建歌曲列表的代码:

编辑:似乎可能需要很长时间才能从 Uri 获取文件路径,这是通过这种方法完成的:

我不确定如何或如果可以的话,优化它。

0 投票
2 回答
1310 浏览

java - 你如何安装 MP3agic?

MP3agic:https ://github.com/mpatric/mp3agic

Example.java:https://github.com/mpatric/mp3agic-examples/blob/master/src/main/java/com/mpatric/mp3agic/example/Example.java _

我已经用 java 编程了几年,但以前从未安装过任何与 java 相关的额外东西(如 MP3agic),而且我完全不知道该怎么做。在网站上阅读似乎应该像双击 .jar 文件一样简单,但是当我使用 MP3agic 时,我仍然没有任何运气。

上面的链接中列出了如何安装它的简要说明:下载并安装 maven(我已经正确完成),在 CMD 中运行“mvn lean package”,然后在新创建的“target”文件夹中有三个 jar: mp3agic-0.8.5-SNAPSHOT/SNAPSHOT-javadoc/SNAPSHOT-sources.jar。

此时我双击它们并假设它已安装,但是当我尝试运行为 MP3agic 制作的 Example.java 文件(顶部链接)时,Java 无法编译它。

我尝试在路径环境变量中添加我的“目标”文件夹的路径,但这没有奏效。我也不使用 Eclipse 之类的东西进行编程(只是 Notepad++ 和 CMD,尽管这可能会改变)

0 投票
1 回答
1122 浏览

java - 如何使用 mp3agic 将专辑封面添加到 .mp3 文件?

我一直在尝试使用 java 中的 mp3agic 库设置 mp3 文件的专辑封面。以下代码片段是我曾经这样做的。不幸的是,这不起作用。保存的图像文件不包含专辑封面或设置的标题。此外,程序编译没有错误。

任何有关此问题的帮助将不胜感激。

0 投票
0 回答
131 浏览

android - 如何使用任何库在 android 的 mp3 文件中嵌入 IDv3 标签中的图像

我正在尝试将图像嵌入mp3 文件中,以使其成为音乐文件的专辑封面并替换旧的。我尝试使用mp3agic库,但它不起作用。任何其他建议将不胜感激。

0 投票
1 回答
355 浏览

java - 使用 mp3agic 更改专辑名称

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

到目前为止,这是我的代码:

我收到以下错误:

线程“主”com.mpatric.mp3agic.NotSupportedException 中的异常:在 com.mpatric.mp3agic.ID3v2Frame.toBytes(ID3v2Frame. java:83) at com.mpatric.mp3agic.AbstractID3v2Tag.packSpecifiedFrames(AbstractID3v2Tag.java:275) at com.mpatric.mp3agic.AbstractID3v2Tag.packFrames(AbstractID3v2Tag.java:261) at com.mpatric.mp3agic.AbstractID3v2Tag.tagpackTag(AbstractID3v2Tag.tractID32 .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)

在这个文件中:

名称:《黑黄相间的感觉》.mp3

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

专辑:Black and Yellow - Single

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

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

0 投票
1 回答
828 浏览

android - 如何使用 JaaudioTagger 写入数据?

我正在尝试使用JaudioTagger 2.2.3编辑音频文件的标签,但到目前为止我还没有取得任何成功。这是更改mp3内部存储中文件的艺术家标签的测试代码

我的应用程序得到了很好的提升,android.permission.WRITE_EXTERNAL_STORAGEandroid.permission.READ_EXTERNAL_STORAGE 正在 Android 版本中测试Android 6.0 这段代码会抛出InvalidAudioFrameException一条消息

No audio header found within example.mp3

这并不是说音频损坏了,因为它与其他 mp3 也显示出类似的错误 此外,如果有人有任何其他用于音频标记的 wat,请告诉我,我也使用mp3agic了它反复显示:example.mp3:open failed :EROFS(Read only file system)在线

我的问题

  • 如何纠正Jaudiotagger?
  • 有没有办法使用 Mp3agic 作为 Jaudiotagger 的替代品?
  • 还是有任何其他有效的方法离开这两个?

我也使用过 JaaudioTagger-android但同样的问题仍然存在。提前致谢!

0 投票
0 回答
115 浏览

java - 编辑 MP3 标签

你们中有人知道编辑 mp3 文件标签的方法吗?
我尝试了 Mp3agic,但是当我尝试声明MP3File对象时它崩溃了,我还尝试了 tha jaudiotagger 库,但它也崩溃了。

我需要帮助。

更新:

这是应用程序崩溃的代码片段:

应用程序崩溃在行

毫无例外。

按照上述行中的所有调试步骤,应用程序在 JAudioTagger 的 MP3File 类的第 246 行崩溃。这是行:

..

所以我尝试在这里更改我的代码(我更改了 AudioFile 声明):

并在线

它在 MP3File 类的第 232 行抛出 NullPointerException (该行试图找到文件的标题):

此异常在下一行中导致此异常:

在线:

更新:

我也尝试更改线路:

至:

但它抛出了这个异常:

0 投票
1 回答
60 浏览

java - (处理/Java)将单个文件函数转换为接受数组的函数

我正在尝试创建一个程序,该程序可以上传多个文件并将它们的名称和 BPM 标签存储到ArrayList文件之间以便进行比较。我找到了两个功能来帮助我,但我无法将它们组合起来以获得我需要的功能。

第一个函数采用单个 mp3 文件并将其数据输出到控制台(使用 mp3agic 库):

第二个函数采用数据路径并输出包含文件夹中文件的名称和信息的目录

我试图创建的功能将两者结合起来。我需要第一个函数中的 Artist、Track 和 BPM 来处理目录中的文件数组列表。

任何指导将不胜感激。任何关于另一种方式的建议也将不胜感激。