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");

しかし、これは十分に一般的ではありません.タグのユニコードが何であるかを知る方法はありますか?

4

2 に答える 2

0

使用しようとしている ID3v1 には i18n 情報が含まれていないようです。ただし、ID3v2 はそうです。ソース: http://en.wikipedia.org/wiki/ID3

于 2012-10-04T04:39:22.160 に答える
0

代わりに、 JAudioTaggerなどの ID3 ライブラリを使用してみてください。

于 2012-10-03T14:14:04.803 に答える