用Delphi编制MP3音乐点歌台
原理:制作一个MP3播放程序(本文以Winplay3为例)的外壳,建立中文歌曲名与MP3文件的关联,从而实现中文歌名的“点歌”。
步骤:
#1 一、新建一个文件
创建一个新的工程(New Project)和空白窗体(Form1),将Form1的Caption属性改为“我的点歌台”,在Form1中加入两个Comobobox构件,一个用来显示歌曲所在的专辑,将其Name属性改为zj,一个用来显示中文歌曲名称,将其Name属性改为Gq,在各自的上方分别加入一个Label构件,将其Caption属性改为“专辑选择”和“歌曲选择”,再加入两个Bitbotton构件,将其Caption属性分别设定为“播放”和“退出”。
#1 二、观察装有MP3文件的光盘的目录特点
一般的目录都很有规律,如以笔者的一张光盘为例,全盘共分12张专辑,其子目录分别为:c01、c02……c12,分别建立名为c01.txt、c02.txt……c12.txt的文本文件,按顺序输入相应专辑下的中文歌曲名称,注意一个歌曲名占一行,并将其放入当前目录。在Object inspector中,选择zj,双击其Lines属性,然后依次输入专辑的名称,注意一个专辑名称占据一行;选择Gq,双击其Lines属性,删除其默认内容。
#1 三、编写程序
在unit1.pas的Use语句加入Fmxutils,在Var部分加入一行:
var filename:string,path;{filename为MP3文件的文件名,path为其路径}
然后在Form1窗体中,双击zj,加入以下程序:
procedure TForm1.zjChange(Sender:TObject);
begin
case zj.itemindex of
0..8,10..20:path:=′e:\c0′+inttostr(zj.itemindex+1);
9:path:=′e:\c′+inttostr (zj.itemindex+1);
{e为光驱的盘符,据实际情况而定}
end;
filename:=inttostr(zj.itemindex)+ ′.txt′;
gq.items.loadfromfile (filename);
gq.text:=gq.Items.strings [0];
end;
{双击Caption属性为“播放”的按钮,加入以下内容}
procedure TForm1.Button1Click(Sender:TObject);
begin
case gq.itemindex of
0..8,10..20:filename:=path+′\′+′0′+inttostr(gq.itemindex+1)+′.mp3′;
9:filename:=path+′\10.mp3′;
else
filename:=path+′\01.mp3′;
end;
executefile(‘winplay3.exe’,mpname,′c:\winplay3′,sw_hide);
{winplay3.exe为mp3播放程序的文件名,c:\winplay为其路径,sw_hide表示为后台播放,需根据实际情况灵活确定。}
end;
{双击Caption属性为“关闭”的按钮,输入以下内容}
procedure TForm1.Button1Click(Sender:TObject);
begin
form1.close;
end;
#1 四、编译运行
单击Run图标,程序被编译并运行。此时,单击“专辑选择”下拉框,即会出现各个专辑名称供你选择。同时,在“歌曲选择”中也会出现专辑中所有歌曲的中文名称,选择其一后,单击“播放”按钮,所点歌曲便被播放。这样,一个简单的“点歌台”就制作成功了。