Lily Sedghi
Lily Sedghi

Reputation: 155

how to get id3tag for streaming mp3 url from api 8 above in android

how to get metadata of mp3 or mp4 from api 8 but don't want to use ffmpegMediametadataretriever library because this library have 13 mb size and its not a good solution for me! can anyone help me for getting id3tag of an URL ?!! i tried so many ways such as available java libraries for id3tag i could not make it. help me please.any code sample I appreciate. the code i used:

Mp3File mp3file = null; try { mp3file = new Mp3File("http://www.stephaniequinn.com/Music/Commercial%20DEMO%20-%2009.mp3"); } catch (IOException e) { e.printStackTrace(); } catch (UnsupportedTagException e) { e.printStackTrace(); } catch (InvalidDataException e) { e.printStackTrace(); }

        if (mp3file.hasId3v1Tag()) {
            ID3v1 id3v1Tag = mp3file.getId3v1Tag();
            System.out.println("Track: " + id3v1Tag.getTrack());
            System.out.println("Artist: " + id3v1Tag.getArtist());
            System.out.println("Title: " + id3v1Tag.getTitle());
            System.out.println("Album: " + id3v1Tag.getAlbum());
            System.out.println("Year: " + id3v1Tag.getYear());
            System.out.println("Genre: " + id3v1Tag.getGenre() + " (" + id3v1Tag.getGenreDescription() + ")");
            System.out.println("Comment: " + id3v1Tag.getComment());
        }

Upvotes: 1

Views: 334

Answers (2)

Lily Sedghi
Lily Sedghi

Reputation: 155

I did it Finally, just add arm-fmmr.aar to app libs folder and then add this lines in build.gradle:

   repositories {
    flatDir {
        dirs 'libs'
    }
   }

   dependencies {
   compile (name:'arm-fmmr', ext:'aar')
   }

Upvotes: 1

William Seemann
William Seemann

Reputation: 3530

Try FFmpegMediaMetadataRetriever:

FFmpegMediaMetadataRetriever mmr = new FFmpegMediaMetadataRetriever();
mmr.setDataSource("some MP3 URL");
mmr.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_ALBUM);
mmr.extractMetadata(FFmpegMediaMetadataRetriever.METADATA_KEY_ARTIST);
byte [] artwork = mmr.getEmbeddedPicture();

mmr.release();

Upvotes: 2

Related Questions