哪位高手知道怎么获得mp3中的id3信息

谁知道如何获得mp3中的id3信息?
最好给个源程序,谢谢

------解决方案--------------------
http://www.codeproject.com/audio/mp3fileinfo.asp

http://id3lib.sourceforge.net/
这个需要一个id3lib.dll的库

http://www.codeproject.com/audio/cmp3tags.asp
这个不需要库,但是算法比较简单
------解决方案--------------------
下面是ID3V1和V2的定义,很简单的
不过ID3 V2的WXXX tag有点古怪,tag的记录内容大小的长度和内容实际长度不一样,总要多1,2个字节,你自己可以测试一下

-------------------------
ID3v1
ID3V1比较简单,它是存放在MP3文件的末尾,用16进制的编辑器打开一个MP3文件,查看其末尾的128个顺序存放字节,数据结构定义如下:
char Header[3]; /*标签头必须是 "TAG "否则认为没有标签*/
char Title[30]; /*标题*/
char Artist[30]; /*作者*/
char Album[30]; /*专集*/
char Year[4]; /*出品年代*/
char Comment[30]; /*备注*/
char Genre; /*类型*/
ID3V1的各项信息都是顺序存放,没有任何标识将其分开,比如标题信息不足30个字节,则使用 '\0 '补足,否则将造成信息错误。Genre使用原码表示,对照表如下:
/* Standard genres */
0= "Blues ";
1= "ClassicRock ";
2= "Country ";
3= "Dance ";
4= "Disco ";
5= "Funk ";
6= "Grunge ";
7= "Hip-Hop ";
8= "Jazz ";
9= "Metal ";
10= "NewAge ";
11= "Oldies ";
12= "Other ";
13= "Pop ";
14= "R&B ";
15= "Rap ";
16= "Reggae ";
17= "Rock ";
18= "Techno ";
19= "Industrial ";
20= "Alternative ";
21= "Ska ";
22= "DeathMetal ";
23= "Pranks ";
24= "Soundtrack ";
25= "Euro-Techno ";
26= "Ambient ";
27= "Trip-Hop ";
28= "Vocal ";
29= "Jazz+Funk ";
30= "Fusion ";
31= "Trance ";
32= "Classical ";
33= "Instrumental ";
34= "Acid ";
35= "House ";
36= "Game ";
37= "SoundClip ";
38= "Gospel ";
39= "Noise ";
40= "AlternRock ";
41= "Bass ";
42= "Soul ";
43= "Punk ";
44= "Space ";
45= "Meditative ";
46= "InstrumentalPop ";
47= "InstrumentalRock ";
48= "Ethnic ";
49= "Gothic ";
50= "Darkwave ";
51= "Techno-Industrial ";
52= "Electronic ";
53= "Pop-Folk ";
54= "Eurodance ";
55= "Dream ";
56= "SouthernRock ";
57= "Comedy ";
58= "Cult ";
59= "Gangsta ";
60= "Top40 ";
61= "ChristianRap ";
62= "Pop/Funk ";
63= "Jungle ";
64= "NativeAmerican ";
65= "Cabaret ";
66= "NewWave ";
67= "Psychadelic ";
68= "Rave ";
69= "Showtunes ";
70= "Trailer ";
71= "Lo-Fi ";
72= "Tribal ";
73= "AcidPunk ";
74= "AcidJazz ";
75= "Polka ";
76= "Retro ";
77= "Musical ";
78= "Rock&Roll ";
79= "HardRock ";
/* Extended genres */
80= "Folk ";
81= "Folk-Rock ";
82= "NationalFolk ";
83= "Swing ";
84= "FastFusion ";
85= "Bebob ";
86= "Latin ";
87= "Revival ";
88= "Celtic ";