java mp3 信息_java 读取 mp3 信息

这篇博客介绍了如何使用Jaudiotagger库来读取MP3文件的元信息,包括时长、比特率、音轨长度、格式、声道、采样率等。博主分享了一个简单的Java代码示例,展示了如何获取歌名、歌手和专辑名等ID3标签内容。
摘要由CSDN通过智能技术生成

我是个新手,因为要做一个mp3的播放软件,网上搜到了一个读取信息的代码,在这里想分享下。原作者是 NullPointException

首先需要下载 jaudiotagger-2.2.2.jar 包,里面封装了获取信息的一些方法。网址:http://www.jthink.net/jaudiotagger/

下载好之后导入到工程当中去,之后就可以开始了。

package mp3Info;

import org.jaudiotagger.audio.mp3.MP3AudioHeader;

import org.jaudiotagger.audio.mp3.MP3File;

import org.jaudiotagger.tag.Tag;

import org.jaudiotagger.tag.id3.AbstractID3Tag;

import org.jaudiotagger.tag.id3.AbstractID3v1Tag;

import org.jaudiotagger.tag.id3.AbstractID3v2Tag;

import org.jaudiotagger.tag.id3.ID3v1Tag;

import org.jaudiotagger.tag.id3.ID3v24Tag;

import org.jaudiotagger.tag.images.Artwork;

public class JauDiotaggerTest {

public static void main(String[] args) {

getHead();

getContent();

}

private static String mp3Path = "D:\\Music\\QQMusic\\大野雄二 - A ROSE TATOO.mp3";

private static MP3File mp3File;

private static final int START=6;

private static void getHead() {

try {

System.out.println("----------------Loading...Head-----------------");

mp3File = new MP3File(mp3Path);//封装好的类

MP3AudioHeader header = mp3File.getMP3AudioHeader();

System.out.println("时长: " + header.getTrackLength()); //获得时长

System.out.println("比特率: " + header.getBitRate()); //获得比特率

System.out.println("音轨长度: " + header.getTrackLength()); //音轨长度

System.out.println("格式: " + header.getFormat()); //格式,例 MPEG-1

System.out.println("声道: " + header.getChannels()); //声道

System.out.println("采样率: " + header.getSampleRate()); //采样率

System.out.println("MPEG: " + header.getMpegLayer()); //MPEG

System.out.println("MP3起始字节: " + header.getMp3StartByte()); //MP3起始字节

System.out.println("精确的音轨长度: " + header.getPreciseTrackLength()); //精确的音轨长度

} catch (Exception e) {

System.out.println("没有获取到任何信息");

}

}

private static void getContent() {

try {

System.out.println("----------------Loading...Content-----------------");

AbstractID3v2Tag id3v2tag=  mp3File.getID3v2Tag();

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

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

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

System.out.println("歌名:"+songName.substring(START, songName.length()-3));

System.out.println("歌手:"+singer.substring(START,singer.length()-3));

System.out.println("专辑名:"+author.substring(START,author.length()-3));

} catch (Exception e) {

System.out.println("没有获取到任何信息");

}

System.out.println("All Info:"+mp3File.displayStructureAsPlainText());

}

}

输出结果:

----------------Loading...Head----------------- 时长: 202 比特率: 128 音轨长度: 202 格式: MPEG-1 Layer 3 声道: Joint Stereo 采样率: 44100 MPEG: Layer 3 MP3起始字节: 9216 精确的音轨长度: 202.84081632653061 ----------------Loading...Content----------------- 歌名:A ROSE TATOO 歌手:大野雄二 专辑名:Drive Groovin' Lupin - Lupin the Third All Info:file:D:\Music\QQMusic\大野雄二 - A ROSE TATOO.mp3   tag:ID3v1.1.0     title:A ROSE TATOO     artist:?ó?°????     album:Drive Groovin' Lupin - Lupin t     year:2005     comment:     track:7     genre:12   tag:ID3v2.30     duplicateBytes:0     duplicateFrameId:     emptyFrameBytes:0     fileReadSize:9206     invalidFrames:0     header:       unsyncronisation:false       extended:false       experimental:false       crcdata:0       paddingsize:0     body:       frame:APIC         frameSize:4899         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           MIMEType:image/jpeg           PictureType:3           Description:           PictureData:[B@1201a25       frame:TIT2         frameSize:13         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           Text:A ROSE TATOO       frame:TRCK         frameSize:2         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           Text:7       frame:TYER         frameSize:5         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           Text:2005       frame:TCON         frameSize:14         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           Text:JAZZ & FUSION       frame:TALB         frameSize:39         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           Text:Drive Groovin' Lupin - Lupin the Third       frame:TPE2         frameSize:9         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           Text:?ó?°????       frame:TPOS         frameSize:4         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           Text:1/1       frame:PRIV         frameSize:33         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           Owner:ZuneCollectionID           Data:[B@94948a       frame:TPE1         frameSize:9         statusFlags:           typeTagAlterPreservation:0           typeFileAlterPreservation:0           typeReadOnly:0         encodingFlags:           compression:0           encryption:0           groupidentity:0         body:           TextEncoding:0           Text:?ó?°???? 注:关于转码还有专辑图片等方面还是不是很清楚,希望日后能补上。最后,感谢原作者的分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值