快来测试一下!!加分多多!!(适当时候公布原码)(300分)

  • 主题发起人 主题发起人 HellFire
  • 开始时间 开始时间
to hellfire
我就是没有找到这方面的资料, 请教在哪里有? 谢谢!..
 
chshanghai
好像是kingron收集的超级猛料有!!
到这里看看kingron.myetng.com
 
每一个MP3文件包含有一个ID3-Tag头, 它用来提供艺术家、标题、专辑、出版年和歌曲流派等信息。这个头总是128字节长并位于MP3文件末尾。
ID3-Tag 结构是这样的:
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;

 
不错,还用ini文件记录,不过好像一般人用得比较少!
但界面和功能都很完善。还没有发现bug.
继续关注!
 
建议:有些地方太空旷了,应该作得紧凑些,例如mp3文件改名窗口,还有在那儿的路径栏最好可以
修改!还有显示栏的文本改变不如改成换肤就更好了!希望对你有帮助!
[:)]
 
1.我也喜欢用INI文件的软件,我自己做的都是用INI,不会往注册表里面写东西,干净
2.参考一下ACDSee的文件批量改名功能改进你的软件
 
luyear:
谢谢!
不过我觉得ACDSee的文件批量改名功能不是很强,不就是序数改名吗?
 
最小话后,在打开,会闪一下;
 
综合起来,感觉不错,我也曾想过做这样一个功能的东东。
但是,如果能够提供错误操作后的撤消操作,或者保存修改信息,可以进行回退操作,
就更好了,我刚才改错了,但是无法再找回原来的信息!
 
不错,就是界面不太舒服
 
界面不太舒服,我。。。。。。
 
To:Headchen, zdb123
界面不太舒服
能否告知在界面上应在那些方面改进,还望指点!!
 
怎么有时候看不到留言内容???
 
如果您看不到问题内容怎么办? 答:用“稳健型”(蓝色)界面。
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部