当前位置:首页 > 网络编程 > 软件语言 > DELPHI > 利用Mpegplayer控件编写简单的mp3播放程序

利用Mpegplayer控件编写简单的mp3播放程序

点击次数:56 次 发布日期:2008-11-09 08:39:51 作者:源代码网
源代码网推荐
广告载入中
  1.前言
源代码网推荐
源代码网推荐 ---- mp3因其较高的压缩率,较好的音质,成为越来越多的使用者的喜爱,用自己编制的mp3播放器听mp3音乐一定很有乐趣.我以下介绍一个用delphi编制的简单mp3播放器,因为mp3音乐的解码比较复杂,普通的程序员很难编制其解码程序,但不要紧,我们可以用别人写好的解码程序来完成我们的程序.
源代码网推荐
源代码网推荐 ---- 2.设计构思
源代码网推荐
源代码网推荐 ---- 我们使用mpegdll.dll来解码(很多国产的mp3播放器都用它),mpegdll.dll的作者提供了它的delphi的控件,在各大delphi网站都有下载,或在作者的主页http://www.ig.com.ua/wabbit/programs/workshop.html下载之后,我们安装控件(必须delphi3.0以上),在component中选择install component,安装控件包中的mpegplayer.dcu,安装完成后在控件栏里多出一个add-ons来,控件就在里面.
源代码网推荐
源代码网推荐 ---- 介绍一下用到的参数
源代码网推荐
源代码网推荐 mpeg.streamname 所要播放的文件名
源代码网推荐 mpeg.length 文件程度
源代码网推荐 mpeg.bitrate 压缩位率
源代码网推荐 mpeg.frequency 压缩频率
源代码网推荐 mpeg.layer 压缩层次
源代码网推荐 mpeg.mode 压缩模式
源代码网推荐 mpeg.pathtodll dll文件的路径
源代码网推荐
源代码网推荐 ---- 新建一个from,放入6个label,5个button,1个checkbox,1个mpeg,1个time,1个trackbar,1个opendialog控件调整为适当的布局,点击opendialog1使*.mp3成为打开文件的后缀名.调整5个button,把其属性name改为 openbutton,pausebutton,stopbutton,playbutton和exitbutton,并把caption改为播放,暂停,停止,打开,和退出. 使3个label的caption成为,压缩位率,压缩频率,压缩层次,调整其他3个label使label4对应label1,label5对应label2,label6对应label3 caption为空,autosize为true,trackbar的tickstyle设为tsNone,chickbox的caption设为循环播放,timer的ontimer设为timer1timer
源代码网推荐 ---- 3.程序清单如下
源代码网推荐
源代码网推荐 unit Unit1;
源代码网推荐
源代码网推荐 interface
源代码网推荐
源代码网推荐 uses
源代码网推荐 Windows, Messages, SysUtils, Classes,
源代码网推荐 Graphics, Controls, Forms, Dialogs,
源代码网推荐 ExtCtrls, MPEGPlayer,Gauges,
源代码网推荐 ComCtrls,Mask, StdCtrls;
源代码网推荐
源代码网推荐 type
源代码网推荐 TForm1 = class(TForm)
源代码网推荐 Label1: TLabel;
源代码网推荐 Label2: TLabel;
源代码网推荐 Label3: TLabel;
源代码网推荐 Label4: TLabel;
源代码网推荐 Label5: TLabel;
源代码网推荐 openButton: TButton;
源代码网推荐 playButton: TButton;
源代码网推荐 pauseButton: TButton;
源代码网推荐 stopButton: TButton;
源代码网推荐 exitButton: TButton;
源代码网推荐 CheckBox1: TCheckBox;
源代码网推荐 TrackBar1: TTrackBar;
源代码网推荐 MPEG: TMPEGPlayer;
源代码网推荐 Timer1: TTimer;
源代码网推荐 OpenDialog1: TOpenDialog;
源代码网推荐 Label6: TLabel;
源代码网推荐 procedure exitButtonClick(Sender: TObject);
源代码网推荐 procedure openButtonClick(Sender: TObject);
源代码网推荐 procedure playButtonClick(Sender: TObject);
源代码网推荐 procedure pauseButtonClick(Sender: TObject);
源代码网推荐 procedure stopButtonClick(Sender: TObject);
源代码网推荐 procedure FormCreate(Sender: TObject);
源代码网推荐 procedure TrackBar1Change(Sender: TObject);
源代码网推荐 procedure Timer1Timer(Sender: TObject);


源代码网推荐 procedure FormClose(Sender:
源代码网推荐 TObject; var Action: TCloseAction);
源代码网推荐 private
源代码网推荐 { Private declarations }
源代码网推荐 dontseek:boolean;
源代码网推荐 public
源代码网推荐 { Public declarations }
源代码网推荐 end;
源代码网推荐
源代码网推荐 var
源代码网推荐 Form1: TForm1;
源代码网推荐
源代码网推荐 implementation
源代码网推荐
源代码网推荐 {$R *.DFM}
源代码网推荐
源代码网推荐
源代码网推荐 procedure TForm1.exitButtonClick(Sender: TObject);
源代码网推荐 begin
源代码网推荐 close;
源代码网推荐 end;
源代码网推荐
源代码网推荐 procedure TForm1.openButtonClick(Sender: TObject);
源代码网推荐 var s:string;
源代码网推荐 begin
源代码网推荐 if not opendialog1.execute then exit;
源代码网推荐 mpeg.autoplay:=false;
源代码网推荐 mpeg.streamname:=opendialog1.filename;
源代码网推荐 mpeg.open;
源代码网推荐 trackbar1.Max:=mpeg.length;
源代码网推荐 trackbar1.position:=0;
源代码网推荐 str(trackbar1.max,s);
源代码网推荐 playbutton.Enabled:=true;
源代码网推荐 stopbutton.enabled:=true;
源代码网推荐 pausebutton.Enabled:=true;
源代码网推荐 end;
源代码网推荐
源代码网推荐 procedure TForm1.playButtonClick(Sender: TObject);
源代码网推荐 var a,b,c:string;
源代码网推荐 begin
源代码网推荐 playbutton.Enabled:=false;
源代码网推荐 openbutton.Enabled:=false;
源代码网推荐 mpeg.Play;
源代码网推荐 str(mpeg.Bitrate,a);
源代码网推荐 label4.Caption:=a;
源代码网推荐 str(mpeg.Frequency,b);
源代码网推荐 label5.caption:=b;
源代码网推荐 str(mpeg.layer,c);
源代码网推荐 label6.caption:=c;
源代码网推荐 end;
源代码网推荐 procedure TForm1.pauseButtonClick(Sender: TObject);
源代码网推荐 begin
源代码网推荐 mpeg.paused:=not (mpeg.Paused);
源代码网推荐 end;
源代码网推荐
源代码网推荐 procedure TForm1.stopButtonClick(Sender: TObject);
源代码网推荐 begin
源代码网推荐 if mpeg.mode>2 then
源代码网推荐 begin
源代码网推荐 mpeg.stop;
源代码网推荐 mpeg.close;
源代码网推荐 end;
源代码网推荐 trackbar1.Position:=0;
源代码网推荐 openbutton.Enabled:=true;
源代码网推荐 playbutton.enabled:=false;
源代码网推荐 stopbutton.enabled:=false;
源代码网推荐 pausebutton.enabled:=false;
源代码网推荐 label4.Caption:="";
源代码网推荐 label5.Caption:="";
源代码网推荐 label6.Caption:="";
源代码网推荐 end;
源代码网推荐
源代码网推荐 procedure TForm1.FormCreate(Sender: TObject);
源代码网推荐 begin
源代码网推荐 mpeg.pathtodll:="";
源代码网推荐 //存放dll闻家的路径本例程序和dll在同一路径下
源代码网推荐 //dll一定要放在程序同一目录,否则不能编译
源代码网推荐 mpeg.init;
源代码网推荐 playbutton.Enabled :=false;
源代码网推荐 pausebutton.enabled:=false;
源代码网推荐 stopbutton.enabled:=false;
源代码网推荐 end;
源代码网推荐 procedure TForm1.FormClose(Sender:
源代码网推荐 TObject; var Action: TCloseAction);
源代码网推荐 begin
源代码网推荐 mpeg.deinit;
源代码网推荐 end;
源代码网推荐 procedure TForm1.TrackBar1Change(Sender: TObject);

源代码网推荐 begin
源代码网推荐 if not(dontseek) then
源代码网推荐 if (mpeg.mode=3)or((mpeg.mode=4))
源代码网推荐 then mpeg.CurrentPosition:=trackbar1.Position;
源代码网推荐 end;
源代码网推荐 procedure TForm1.Timer1Timer(Sender: TObject);
源代码网推荐 var a,b,c:string;
源代码网推荐 begin
源代码网推荐 if (mpeg.mode=3) then
源代码网推荐 begin
源代码网推荐 dontseek:=true;
源代码网推荐 trackbar1.Position:=mpeg.CurrentPosition;
源代码网推荐 dontseek:=false;
源代码网推荐
源代码网推荐 end;
源代码网推荐 if mpeg.PlayStopped then
源代码网推荐 begin
源代码网推荐 if checkbox1.Checked then
源代码网推荐 begin
源代码网推荐 mpeg.Play;
源代码网推荐 playbutton.Enabled:=false;
源代码网推荐 openbutton.Enabled:=false;
源代码网推荐 str(mpeg.Bitrate,a);
源代码网推荐 label4.Caption:=a;
源代码网推荐 str(mpeg.Frequency,b);
源代码网推荐 label5.caption:=b;
源代码网推荐 str(mpeg.layer,c);
源代码网推荐 label6.caption:=c;
源代码网推荐 end
源代码网推荐 else
源代码网推荐 begin
源代码网推荐 mpeg.close;
源代码网推荐 trackbar1.Position:=0;
源代码网推荐 openbutton.Enabled:=true;
源代码网推荐 playbutton.Enabled :=false;
源代码网推荐 pausebutton.enabled:=false;
源代码网推荐 stopbutton.enabled:=false;
源代码网推荐 label4.Caption:="";
源代码网推荐 label5.Caption:="";
源代码网推荐 label6.Caption:="";
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐 end;
源代码网推荐 end.
源代码网推荐 ---- 以上是一个简单的mp3播放器的例程,mpegplayer是一个强大的控件可以实现很多功能,如多曲播放,请大家自己研究把,愿大家都能做出很好的mp3播放器


源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华