2014-12-12 6 views
0

Я использую библиотеку JAudioTagger для чтения метаданных из музыкальных файлов. Я смог получить информацию, но просмотрел спецификацию сопоставления тегов http://www.jthink.net/jaudiotagger/tagmapping.html. Я пытаюсь восстановить идентификатор записи MusicBrainz и не знаю, как выбрать этот конкретный. Mp3-файл - это ID3v23 или v24, не знаю, какой из них. Я попытался выполнить поиск с помощью «UFID» и «MUSICBRAINZ_TRACK_ID».Нужна помощь в понимании JAudioTagger, отображение тегов

File file = new File("09 Bleeding Out.mp3"); 

    AudioFile mp3 = null; 
    try { 
     mp3 = AudioFileIO.read(file); 
    } catch (CannotReadException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (TagException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (ReadOnlyFileException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (InvalidAudioFrameException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 


    Tag tag = mp3.getTag(); 
    System.out.println(tag.getFirst("UFID")); 
    Iterator<TagField> it = tag.getFields(); 
    while(it.hasNext()) { 
     System.out.println(it.next()); 
    } 

ответ

1

Вы можете использовать FieldKey.MUSICBRAINZ_TRACK_ID - это идентификатор записи. Он отображает UFID:http://musicbrainz.org т. Е. Поле, дающее UFID для этого трека в соответствии с MusicBrainz.

Альтернативой может быть использование TXXX:MusicBrainz Recording Id.

Наконец, обратите внимание, что это поле не так часто встречается в файлах.