2

我有一个读取 mp3 标签的代码,它是文件的最后 128 个字节

try{
    final int TAG_LONG = 128;
    fileInputStream = new FileInputStream(file.getAbsolutePath());
    byte[] bytesSong = new byte[128];
    byte[] byteTitleArry = new byte[length];
    for (int i = 0; i < 30; i++) {
        byteTitleArry[i] = arrayTag[3+ i];
    }
    String title = new String(byteTitleArry);
}

当标题标签(或其他任何东西)写成英文字符时,这段代码工作得很好,但是当标签是非英文字符的值时,我得到了错误的值,所以我使用了:

String title = new String(byteTitleArry, "ISO-8859-8");

但这还不够通用,有没有办法找出标签 unicode 是什么?

4

2 回答 2

0

尝试改用 ID3 库,例如JAudioTagger

于 2012-10-03T14:14:04.803 回答
0

您尝试使用的 ID3v1 似乎不包含任何 i18n 信息。但是 ID3v2 可以。来源:http ://en.wikipedia.org/wiki/ID3

于 2012-10-04T04:39:22.160 回答