gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 12:30:03 27 4
gpt4 key购买 nike

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

Tag tag = null;
file = /some/path/file-name.mp3

System.out.println("tag.getAll(FieldKey.COMMENT)-->" + tag.getAll(FieldKey.COMMENT)); // Check output 1 below
System.out.println("tag.getFirst ? "+tag.getFirst(FieldKey.COMMENT) ); // output 2 below

以下是各自的输出:

// Output for System.out 1
[0,
00000368 000002C0 00003670 00003005 0001DC53 0001DC53 00008489 00008566 000378AC 00038CE0,
00000000 00000210 00000A8D 0000000000E16863 00000000
00A37EB2 00000000 00000000 00000000 00000000 00000000 00000000,
This is a comment ]
// Output for System.out 2
0

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

知道为什么要附加额外的 0 和 1 吗?我不想对索引 3 进行硬编码以提取预期的注释。

最佳答案

这是因为 iTunes 额外字段,例如 iTunSMPB(还有 iTunNORMiTunPGAP 等)都存储在具有 COMMENT 框架键的注释字段中,但具有特定的子键。

您可以尝试过滤返回的 TagField。

关于java - Jaudiotagger getAll(FieldKey.COMMENT) 生成一个由 0 和 1 组成的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37950317/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com