问题标签 [jaudiotagger]

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 投票
1 回答
3001 浏览

android - JAudioTagger 和 Android - 更改 mp3 中的值?

我可以从音频文件中读取标题、艺术家、专辑封面等元信息,但我一直无法成功写入元信息。

有人有这方面的经验吗?有比 JAudioTagger 更好的库吗?

我会提供一些示例代码,但我尝试了十几种不起作用的方法。

0 投票
1 回答
617 浏览

java - jaudiotagger 获取mp3频率

任何人都知道如何使用 Java 的 jaudiotagger 库获取 mp3 频率(以 Hz 为单位)?jaudiotagger 网站

0 投票
3 回答
2563 浏览

java - Android 使用 jaudiotagger

我尝试像这样使用 jaudiotagger 但它崩溃了

主app.java:导入java.io.File;导入 java.io.IOException;

日志猫:

02-22 21:12:22.546: E/AndroidRuntime(19738): 致命异常: main 02-22 21:12:22.546: E/AndroidRuntime(19738): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. mp3.tag.editor.alexander.fuchs/com.mp3.tag.editor.alexander.fuchs.App}:java.lang.NullPointerException 02-22 21:12:22.546:E/AndroidRuntime(19738):在 android.app .ActivityThread.performLaunchActivity(ActivityThread.java:1651) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 02-22 21:12:22.546 : E/AndroidRuntime(19738): 在 android.app.ActivityThread.access$1500(ActivityThread.java:117) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 android.app.ActivityThread$H.handleMessage (ActivityThread.java:935) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 android.os。Handler.dispatchMessage(Handler.java:99) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 android.os.Looper.loop(Looper.java:130) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 android.app.ActivityThread.main(ActivityThread.java:3691) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 java.lang.reflect.Method.invokeNative(Native方法) 02-22 21:12:22.546: E/AndroidRuntime(19738): at java.lang.reflect.Method.invoke(Method.java:507) 02-22 21:12:22.546: E/AndroidRuntime(19738) : 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 com.android.internal.os.ZygoteInit.main (ZygoteInit.java:665) 02-22 21:12:22.546: E/AndroidRuntime(19738): at dalvik.system.NativeStart.main(Native Method) 02-22 21:12:22.546: E/AndroidRuntime(19738) :引起:java.lang.NullPointerException 02-22 21:12:22.546: E/AndroidRuntime(19738): at com.mp3.tag.editor.alexander.fuchs.App.onCreate(App.java:72) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 02-22 21:12:22.546: E/AndroidRuntime(19738): 在 android.app.ActivityThread .performLaunchActivity(ActivityThread.java:1615) 02-22 21:12:22.546: E/AndroidRuntime(19738): ... 11 更多performLaunchActivity(ActivityThread.java:1615) 02-22 21:12:22.546: E/AndroidRuntime(19738): ... 11 更多performLaunchActivity(ActivityThread.java:1615) 02-22 21:12:22.546: E/AndroidRuntime(19738): ... 11 更多

0 投票
1 回答
311 浏览

java - 需要帮助了解 JAudioTagger、标签映射

我正在使用 JAudioTagger 库从我的音乐文件中读取元数据。我能够检索信息,但查看标签映射规范http://www.jthink.net/jaudiotagger/tagmapping.html。我正在尝试检索 MusicBrainz 录音 ID,但不知道如何选择那个特定的 ID。MP3 文件是 ID3v23 还是 v24,不确定是哪一个。我尝试使用UFIDand进行搜索MUSICBRAINZ_TRACK_ID

0 投票
1 回答
727 浏览

android - Android : JAudioTagger 不会更改标签

所以我试图在我的应用程序中编辑音乐文件的标签。这是代码

我已经尝试过AudioFileIO.write(f)f.commit()但我所做的更改并未反映在文件中。他们仍然拥有相同的旧数据。

我尝试了多个版本的 JAudioTagger,但没有运气。有人可以帮帮我吗。提前致谢 !!

0 投票
0 回答
1021 浏览

android - 如何在 android 中使用 Jaudiotagger 和 MediaScanner 更改专辑封面?

我正在将 Jaudiotagger 2.2.5 用于 android 音乐标记应用程序。我可以更改专辑名称、艺术家姓名、流派等元数据。但无论我尝试什么,我都无法让专辑封面部分正常工作。我已经用尽了所有可以在网上找到的建议,但似乎没有任何效果。Jaudiotagger 本身缺乏文档,开发人员也不是很有帮助回答这些问题。

此外,我正在使用另一种方法来更新媒体存储:

但是当我这样做时,它只会删除封面艺术。

自从我试图做到这一点以来已经有几个月了。我尝试过的任何事情都没有奏效。

0 投票
5 回答
907 浏览

android - java.io.IOException:无法更改文件

我正在使用 JAudioTagger 库来读取和写入音频文件的标签。我能够阅读标签但无法编写它们。

我正在检索这样的音频文件路径:

然后使用 JAudioTagger 编写标签:

commit() 方法给出以下异常:

org.jaudiotagger.audio.exceptions.CannotWriteException: java.io.IOException: 无法在 com.techapps.musicplayerplus 的 org.jaudiotagger.audio.mp3.MP3File.commit(MP3File.java:799) 中更改文件 xyz.mp3。 MainActivity$17.onClick(MainActivity.java:2125) 在 android.support.v7.app.AlertController$ButtonHandler.handleMessage(AlertController.java:157) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android。 os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 06-18 10:59:48.134 8802-8802/com.techapps.musicplayerplus W/System.err:
在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit. java:616) 原因:java.io.IOException: 无法在 org.jaudiotagger.audio.mp3.MP3File.precheck(MP3File.java:824) 的 org.jaudiotagger.audio.mp3.MP3File 中更改文件 Saibo.mp3 .save(MP3File.java:850) at org.jaudiotagger.audio.mp3.MP3File.save(MP3File.java:783) at org.jaudiotagger.audio.mp3.MP3File.commit(MP3File.java:795)

我在 Android 6 上运行此代码,而我的应用程序针对 SDK 22。我还在清单中提到了以下权限。

android.permission.WRITE_EXTERNAL_STORAGE

我仍然无法写入 SD 卡。请帮我。提前致谢。

0 投票
1 回答
120 浏览

java - Jaudiotagger getAll(FieldKey.COMMENT) 产生一个 0 和 1 的数组

我在我的 Java 应用程序中使用 JAudioTagger 从 mp3 文件中检索元数据。除了“评论”之外,我能够毫无问题地检索 ID3 中的所有元数据。评论是我通过选择曲目从 iTunes 添加的内容,右键单击它并获取信息。添加评论并保存。问题是在实际注释可以打印出来之前,下面代码中的注释字段给了我一个大小为 4 的 0 和 1 的数组,其中索引 3 是实际注释,索引 0 到 2 是 0 和 1 的数组。这是我提取/打印评论字段的代码:

以下是各自的输出:

请注意如何在输出#1 中最后一个索引(即实际注释)之前创建一个数组。在进一步调查中,我发现索引 0 到 2 与iTunSMPBID3 中的字段完全相同,无论它应该是什么意思。如果文件没有注释,getAll(FieldKey.COMMENT)则将导致相同的数组没有大小为 3 的注释。

知道为什么要附加额外的 0 和 1。我不希望对索引 3 进行硬编码以提取预期的评论。

0 投票
1 回答
788 浏览

java - 在android上提取像MFCC这样的音频特征

我想从 android 上的音频文件中提取 MFCC。我到处搜索,但找不到任何工作代码。有人可以分享任何相同的工作代码吗?

0 投票
1 回答
283 浏览

android - jaudiotagger 流行音乐标签

我正在将我的应用程序从使用 org.blinkenlights.jid3 迁移到 jaudiotagger。我已经成功地实现了大多数 mp3 标签,但在 POPM 标签上遇到了困难。我正在尝试通过获取框架来阅读 POPM。它似乎是正确的方法,因为代码识别了这三种方法

我应该在括号中放入什么 FrameBodyPOPM popmframe = id3v24tag.getFrame( );。使用 JID3 我得到了如下结果:

使用 jaudiotagger 到目前为止我有以下代码:

对于问号,它报告字符串,但是当我输入诸如“POPM”之类的字符串时,它报告需要: org.jaudiotagger.tag.id3.framebody FramebodyPOPM ,找到 java.lang.Object

谁能展示如何使用 jaudiotagger 库读取和写入 POPM 标签?

更新:我认为该值应该是一个框架标识符,所以

编译但导致错误:

但是如果我将 popmframe 设为 ID3v24Frame,这 3 种方法不再可用,所以我认为 FrameBodyPOPM 是正确的方法。