java - 在 Android 上阅读 .m4a 标签

标签 java android audio tags m4a

我最近开始构建一个音频标签编辑器,但现在我发现了一个我无法通过低谷的问题。
我的问题是我不知道如何读取 .m4a 文件中的标签。

我使用此代码使用名为“Jaudiotagger”的公共(public)外部库在 mp3 文件上读取它,并且效果很好。

   try {
       File file = new File(TrackPath);
       AudioFile f = AudioFileIO.read(file);
       Tag tag = f.getTag();

       audioAlbum.setText(tag.getFirst(FieldKey.ALBUM));
       audioArtist.setText(tag.getFirst(FieldKey.ARTIST));
    }catch(Exception e) {
       e.printStackTrace();
    };

但是当我尝试使用 .m4a 文件时,即使使用 Mp4Tag 和 Mp4FieldKey 而不是 Tag 和 FieldKey,也只会返回空白字符串。

有谁知道任何其他外部库可以读取这种类型的音频文件或任何解决方法?

而且我不想使用 Android MediaStore,因为我希望将标签合并到文件中,这样我就可以将文件移动到另一台设备并保留它们。
提前致谢。

最佳答案

Jaudiotagger 处理 mp4 和 m4a 完全一样

您正在使用该库从文件中读取元数据,但在我看来,您假设文件中已经包含艺术家和专辑元数据,但可能您的第二个文件中没有任何元数据。

关于java - 在 Android 上阅读 .m4a 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43050742/

相关文章:

java - 如何保护 GAE 灵活环境上的 google cron 服务任务?

安卓 jar 。如何 build 它们?

c++ - 什么是样本格式?

java - 使用javafx创建一个从数字开始倒数并在0播放音乐的程序

iphone - 对于某些用户,系统声音不受设备音量的影响

java - 调度程序未在 Spring Boot 中运行

java - 从计算机读取文件

java - JAXB 2.x : How to override an XmlElement annotation from parent class - Mission Impossible?

java - 如何在android中的文本加密/解密中正确地将String转换为byte[]? (错误 - WRONG_FINAL_BLOCK_LENGTH 和 IllegalBlockSizeException)

android - "Value too large for defined data type"在某些设备上为 "tar"