Reputation: 155
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
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
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