java中读取mp3_Java读取Mp3

把jaudiotagger-2.0.4-20111207.115108-15.jar这个拿下来,导入项目中。

然后就可以开始MP3信息的读取了...

try {

String mp3path= "mmt/sdcard2/Music/大艺术家.mp3";

MP3File f = new MP3File(mp3Path);

MP3AudioHeader header= (MP3AudioHeader)f.getAudioHeader(); //获得头部信息

System.out.println(header.getTrackLength()); //获得歌曲时长

} catch(Exception e) {

e.printStackTrace();

}上面的方法是对MP3头部信息进行读取,接下来对MP3的歌名,歌手进行读取

try {

MP3File file = new MP3File("mmt/sdcard2/Music/大艺术家.mp3");

String songName=file.getID3v2Tag().frameMap.get("TIT2").toString();

String singer=file.getID3v2Tag().frameMap.get("TPE1").toString();

String author=file.getID3v2Tag().frameMap.get("TALB").toString();

System.out.println(new String(songName.getBytes("ISO-8859-1"),"GB2312"));

System.out.println(new String(singer.getBytes("ISO-8859-1"),"GB2312"));

System.out.println(new String(author.getBytes("ISO-8859-1"),"GB2312"));

} catch (IOException e) {

e.printStackTrace();

} catch (TagException e) {

e.printStackTrace();

} catch (ReadOnlyFileException e) {

e.printStackTrace();

} catch (InvalidAudioFrameException e) {

e.printStackTrace();

}

这样输出的格式为:

Text="大艺术家";

Text="蔡依林";

Text="MUSE";

修改一下代码:

String songName=new String(file.getID3v2Tag().frameMap.get("TIT2").toString().getBytes("ISO-8859-1"),"GB2312");

String singer=new String(file.getID3v2Tag().frameMap.get("TPE1").toString().getBytes("ISO-8859-1"),"GB2312");

String author=new String(file.getID3v2Tag().frameMap.get("TALB").toString().getBytes("ISO-8859-1"),"GB2312");

System.out.println(songName.substring(6, songName.length()-3));

System.out.println(singer.substring(6, songName.length()-3));

System.out.println(author.substring(6, songName.length()-3));

OK!成功输出:

大艺术家 蔡依林" MUSE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值