Java 如何在android中从上面的api 8获取流式mp3 url的id3tag

Java 如何在android中从上面的api 8获取流式mp3 url的id3tag,java,android,Java,Android,如何从api 8获取mp3或mp4的元数据,但不想使用ffmpegMediametadataretriever库,因为该库的大小为13 mb,这对我来说不是一个好的解决方案!有谁能帮我获取URL的id3tag?!!我尝试了很多方法,比如id3tag可用的java库,但我都做不到。请帮帮我。任何代码示例我都很感激。 我使用的代码是: Mp3File Mp3File=null; 试一试{ mp3file=新的mp3file(“”); }捕获(IOE异常){ e、 printStackTrace();

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

Mp3File Mp3File=null; 试一试{ mp3file=新的mp3file(“”); }捕获(IOE异常){ e、 printStackTrace(); }捕获(不支持的异常e){ e、 printStackTrace(); }捕获(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());
        }
尝试:


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

   repositories {
    flatDir {
        dirs 'libs'
    }
   }

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

我试着把它写在sd卡上,然后通过这个mp3agic库读取它,但是如果文件的大小很大怎么办?!!我使用了FFmpegMediaMetadataRetriever,但渐变依赖性使我的apk大小达到16MB!!!是的,正如文档所述,您还可以使用预构建的AAR生成多个APK。
   repositories {
    flatDir {
        dirs 'libs'
    }
   }

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