用Delphi做Media播放器
IT商界
所用工具:Delphi 6/7,这期我们主要以Delphi 6为例。
要求:熟悉开发Media播放器所用到的基本控件以及使用方法,利用一些简单的编程知识开发一个Media播放程序。
目的:Windows自带的MediaPlayer是一款非常不错的媒体播放程序,这里使用Delphi也可以开发自己的媒体播放器,我们利用一些简单的编程知识就可以实现属于自己的MediaPlayer。下面就教大家亲自动手来做。
第一步:首先启动Delphi 6,程序会自动新建一个工程,程序开发之前需要对工程做一些必要的设置:
①执行主菜单“Project/Options…”命令,打开“Project Options”对话框,选择“Application”选项卡,设置程序名称“Title”为“我的记事簿”,并为程序指定一个“Icon”(如图1)。
②用鼠标点击窗体,在Object Inspector(如图2)中设置Form1窗体的相关属性。
提示:“Object Inspector” 即是“对象检查器”,有关程序中涉及到的窗体及控件的属性均在这里设置。
③修改Caption属性值为“MediaPlayer”。
④修改BorderStyle属性为bsSingel。
⑤展开BorderIcons属性,修改biMaximize属性为False。
第二步:向Form1窗体中添加控件,并设置各个控件的属性。
①在Win32组件夹中选择ImageList控件(如图3)。该控件用于保存工具按钮图标,双击该控件,打开“Form1.ImageList1 ImageList”窗口(如图4),单击Add按钮,导入工具栏按钮所需要的图标。这里,需要准备“打开”和“停止”工具栏按钮图标文件。最后设置ToolBar控件的Images属性为imageslist1。
②在Win32组件夹中选择CoolBar控件,将它添加到Form1窗体中,同时再选择ToolBar控件,将它添加到窗体的CoolBar控件中,并设置CoolBar控件的Height值为29,ToolBar控件的Flat属性为True。添加这两个控件用于提供工具栏按钮所存放的位置。
右键单击ToolBar控件,分别执行“New Button”命令向工具栏添加两个按钮,更改按钮的name属性分别为openButton和stopButton,并分别更改各个按钮的Imageindex属性相应图标的索引值,设置stopButton按钮的Enable属性为False。
③在Win32组件夹中选择TrackBar 控件,将它添加到窗体中,并设置其ThumbLength属性为15;TickMarks属性为tmBoth;TickStyle属性为tsNone。
④选择System组件夹,添加Timer控件和MediaPlayer控件(如图5),并设置Media Player控件的Visible属性为False。
⑤选择Dialogs组件夹,添加OpenDialog组件,并点击OpenDialog控件的Filter属性右侧按钮,打开“Filter Editor”窗口,建立一个媒体文件过滤Filter(如图6),控制媒体文件(*.wav;*.mid;*.rmi;*.cda;*.mp3;*.avi;*.dat)的格式。
⑥选择Standard组件夹中Label控件(如图7),向Form1窗体中添加Label控件,并设置其Caption属性为“没有加载Media文件”。
⑦最后调整以上控件的位置,界面如图8所示。
第三步:接下来在“打开、停止”工具栏按钮和Timer控件的“begin … end”代码之间简单地写几行代码:
①点击窗体中的“打开”按钮,在代码窗口中输入代码:
if not OpenDialog1.Execute then exit;
begin
Mediaplayer1.FileName :=OpenDialog1.FileName;
Mediaplayer1.Open;
mediaplayer1.EndPos :=mediaplayer1.Length;
TrackBar1.Position :=mediaplayer1.Position;
TrackBar1.Max:=mediaplayer1.Length;
mediaplayer1.Play;
StopButton.Enabled :=true;
end;
②点击窗体中的“停止”按钮,在代码窗口中输入代码:
mediaplayer1.Pause;
StopButton.Enabled:=false;
Label1.caption:='停止播放'+'"'+ExtractFileName(OpenDialog1.FileName)+'"'+'文件';
③双击Timer控件,我们在begin … end代码之间添加如下代码:
if mediaplayer1.Mode = mpPlaying then
begin
TrackBar1.Max:=mediaplayer1.Length;
TrackBar1.Position :=mediaplayer1.Position;
mediaplayer1.EndPos :=mediaplayer1.Length;
Label1.caption:='正在播放'+'"'+ExtractFileName(OpenDialog1.FileName)+'"'+'文件';
end;
这样,一个简单的MediaPlayer程序就制作好了,当然,这个程序比Windows中的MediaPlayer功能要差得很远,比如对于媒体文件播放时间的实现方法等。但如果想实现其他功能,这些可以起到一个基础工程的作用,在以后的编程栏目中关于其他功能的开发将慢慢地介绍给大家,让编程爱好者们更深入地学习。







