请教:关于mp3的 TAG 信息。(50分)

  • 主题发起人 xiaolin0522
  • 开始时间
X

xiaolin0522

Unregistered / Unconfirmed
GUEST, unregistred user!
怎么发现一些mp3,没有tag信息,可是 wimnap 却还是可以显示 歌曲名,作者之类的信息出来
这是怎么回事?
 

type
TID3Tag = packed record // 128 字节
TAGID: array[0..2] of char; // 3 字节: 必须是TAG
Title: array[0..29] of char; // 30 字节: 歌曲标题
Artist: array[0..29] of char; // 30 字节: 歌曲的艺术家
Album: array[0..29] of char; // 30 字节: 歌曲专辑
Year: array[0..3] of char; // 4 字节: 出版年
Comment: array[0..29] of char; // 30 字节: 评论
Genre: byte; // 1 字节: 种类标识
end;

为读取ID3-Tag信息并在一个对话框中显示,试试这个函数:

procedure TForm1.Button1Click(Sender: TObject);
const
_mp3file='G:/Mp3/Miscellaneous/ATC - Around The World.mp3';
var
id3tag: Tid3tag;
mp3file: Tfilestream;
begin
mp3file:=Tfilestream.create(_mp3file,fmOpenRead);
try
mp3file.position:=mp3file.size-128; // 跳到id3-tag
mp3file.Read(id3tag,SizeOf(id3tag));
showmessage(' Title: '+id3tag.title+#13+
' Artist: '+id3tag.artist+#13+
' Album: '+id3tag.album+#13+
' Year: '+id3tag.year+#13+
' Comment: '+id3tag.comment+#13+
' Genre-ID: '+inttostr(id3tag.genre)
);
finally
mp3file.free;
end;
end;

 
thx,不过怎么有些mp3没有这个tag信息,可是winmap还是可以显示 那些信息?
怀疑 这个128字节的东东 还有其他格式
 
winamp在没有tag时,将文件的名字直接做为tag显示。[:)]
 
没有tag, 可是 winmap 却能显示 相关信息, 如 标题,专辑等
 
tag有两种tag1和tag2,在winamp按alt+3看看右边是不是有tag2
 
请问,mp3的 的两个tag的具体信息
 
这个里面有很详细的信息!
Audio Tools Library
http://jfaul.de/atl/
 
多人接受答案了。
 
顶部