重写id3v2标记java

时间:2014-07-17 14:47:10

标签: java file-io mp3

我希望能够从各种mp3获取元数据并将其存储为字符串。使用ID3v1这很容易,因为它是最后的128位,但是对于ID3v2,所有元数据都存储在可变大小的帧中,而我目前无法提取它。任何帮助非常感谢,谢谢 目前的代码是:

    Path fromC = Paths.get("C:\\whatever.mp3");
    byte[] data = Files.readAllBytes(fromC);
    String[] bytesInString = new String[768];
    //uses a loop 768 times as its up to 256mb in size, and 3 digit numbers
    for (int i = 0; i < (768); i++) {
        bytesInString [i] = Character.toString((char) (data[i]));
    }
    StringBuilder byteResult = new StringBuilder();
    for (int i = 0; i < bytesInString .length; i++) {
        byteResult.append(title[i]);
    }
    String allMeta= byteResult.toString();
    System.out.println(allMeta);

只是将元数据保存为字符串以供其他地方使用,但目前将其打印出来以便进行检查。 然而,这给出了诸如ID3 OTRCK 2TALB FeelTIT2这里我们GoPRIV的结果WM / MediaClassSecondaryID PRIV&#39; WM /MediaClassPrimaryID￑#¯¬KニㄱHㄴPRIV&#39; - 这表明它几乎无法获取元数据,但目前无法使其易于阅读/有用。任何人都可以解释或提供任何示例代码,以便如何使其更清晰,只有标题,艺术家等,而不是框架信息。

0 个答案:

没有答案
相关问题