Чтение тегов ID3 ​​файла MP3

Я пытаюсь читать ID3 из mp3 файла, который локально хранится на SD-карте.

Я хочу в основном извлечь

  • Название
  • Исполнитель
  • Альбом
  • Длина трека
  • Искусство альбома

Ответ 1

Вы можете получить все это, используя MediaMetadataRetriever

MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(filePath);

String albumName =
     mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_ALBUM);

Ответ 2

Отметьте формат файла MP3. В основном, вы должны прочитать последние 128 байт файла; если первые 3 байта "TAG", продолжайте и прочитайте нужные поля; если нет, файл не имеет прикрепленной информации.

Ответ 3

если последний 128-байт начинается с токена "TAG", файл имеет ID3v1 (или ID3v1.1). Теги ID3v2.3 расположены в начале файла (подходящий для потоковой передачи), обозначенный токеном "id3". Я считаю, что ID3v2.4 обозначается "3DE", но я не уверен...