java 读取mp3,java 解析MP3文件

java 解析MP3文件

首先需要知道的是,MP3文件的文件信息都放在文件最后的128个字节里面,这128个字节分别存储的信息如下:

char Header[3];    /* 标签头必须是"TAG"否则认为没有标签 */

char Title[30];    /* 标题 */

char Artist[30];   /* 作者 */

char Album[30];    /* 专集 */

char Year[4];      /* 出品年代 */

char Comment[28]; /* 备注 */

char reserve;      /* 保留 */

char track;;       /* 音轨 */

char Genre;        /* 类型 */

代码:

public class ReadMP3 {

/**

* @param args

* @throws Exception

*/

public static void main(String[] args) throws Exception {

// TODO Auto-generated method stub

String path = System.getProperty("user.dir")+"/images/wenbie.mp3";

readMp3ID3V1(path);

}

public   static   void   readMp3ID3V1(String path)   throws   Exception{

byte[] buf = new byte[1024];

File file = new File(path);

FileInputStream fis = new FileInputStream(file);

/*---读取MP3文件尾部信息,并显示----*/

long size = file.length();

System.out.println("文件总字节数:"+size);

fis.skip(size-128);

//标志位TAG:3  byte

fis.read(buf,0,3);

String tag = new String(buf,0,3);

System.out.println( "ID3V1:  "+tag);

//歌曲名称 30 byte

fis.read(buf,0,30);

String songname = new St

相关文档:

堆栈是一种先进后出的数据结构,只能在一端进行输入或输出数据的操作  Stack类在java.util包中

向栈中输入数据的操作称为“压栈”;而从栈中输出数据的操作称为“弹栈”

1.构造方法:Stack()

2.常用方法

public Object push(Object data):向栈中输入数据,实现压栈 ......

向量的数据类型类似一个数组,但它存储的元素数据类型不要求一致   Vector类是在java.util包中

1.构造方法:Vector()

2.常用方法

public void add(Object o):将对象o添加到向量的末尾

public void add(int index,Object o):将对象o添加到向量的指定位置 ......

Java

虚拟机中的类加载器分为两种:原始类加载器(primordial class loader

)和类加载器对象(class loader objects

)。

原始类加载器是Java

虚拟机实现的一部分,类加载器对象是运行中的程序的一部分。不同类加载器加载的类被不同的命名空间所分割。

类加载器调用了许多Java ......

1.散列集HashSet

HashSet类在java.util包中

A.构造方法:HashSet()

B.常用方法

public boolean add(Object o):向集合中添加指定元素o

&nb ......

Introduction to XML and XML With Java

If you are looking for sample programs to parse a XML file using DOM/SAX parser or looking for a program to generate a XML file please proceed directly to programs.

This small tutorial introduces you to the basic concepts of XML and using Xer ......