سؤال

I am trying to read ID3 from a mp3 file thats locally stored in the SD card.

I want to basically fetch

  1. Title
  2. Artist
  3. Album
  4. Track Length
  5. Album Art
هل كانت مفيدة؟

المحلول

You can get all of this using MediaMetadataRetriever

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

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

نصائح أخرى

Check the MP3 file format. Basically, you have to read the last 128 bytes of the file; if the first 3 bytes are "TAG", carry on and read the fields you need; if not, the file doesn't have the info attached.

if the last 128 byte begins with the token "TAG" the file has an ID3v1 (or ID3v1.1) tag. ID3v2.3 tags are located in the beginning of the file (suitable for streaming) indicated by the token "id3". I believe ID3v2.4 is indicated by "3DE", but i'm not sure...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top