Java代码读取Mp3信息

这篇博客介绍了如何利用jaudiotagger库在Java项目中读取MP3文件的元信息,包括艺术家、歌曲名称等。通过示例代码展示了具体的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在http://www.jthink.net/jaudiotagger/

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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值