如何从android

时间:2015-10-27 11:17:29

标签: java android

如何从api 8获取mp3或mp4的元数据,但不想使用ffmpegMediametadataretriever库,因为这个库的大小为13 MB,对我来说不是一个好的解决方案!谁能帮助我获取URL的id3tag?!!我尝试了很多方法,比如id3tag的可用java库我无法做到。请帮助我。我很感谢你的代码示例。 我使用的代码:

Mp3File mp3file = null;             尝试{                 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());
        }

2 个答案:

答案 0 :(得分:2)

尝试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();

答案 1 :(得分:1)

我做到了最后,只需将arm-fmmr.aar添加到app libs文件夹,然后在build.gradle中添加以下行:

   repositories {
    flatDir {
        dirs 'libs'
    }
   }

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