MP3格式

用java获取mp3文件播放时长和tag信息

只愿长相守 提交于 2019-12-01 12:21:10
需要从mp3文件拿到mp3播放时长,折腾了几个小时,绕了弯路,大致记录一下。 先是找到mp3fenge这个分割mp3文件的开源项目 http://code.google.com/p/mp3fenge/ 发现用它的API得到trackLength对很多文件处理报错。在他的项目中看到jaudiotagger这个700多K的包,猜测其是解析mp3文件的主要处理库。但粗找了一下关于这个包的用法,没找到,于是找别的解析包。 一时间瞎试了好几个包 jlayer1.0.1.zip mp3spi1.9.5.zip jid3lib-0.5.4.zip 都有问题(走马观花的试用,多半是我用的有问题)。 用网上经典的那段代码 AudioFileFormat fileFormat = AudioSystem.getAudioFileFormat(file); Map<?, ?> properties = fileFormat.properties(); Long ms = (Long) properties.get("duration"); 一直报错。又看到很多帖子说是需要装 jmf,然后下载jmf-2_1_1e-alljava.zip安装还是报错。 最可恶是 oracle官网上说 jmf支持mp3格式, http://www.oracle.com/technetwork/java/javase/tech