用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功能要差得很远,比如对于媒体文件播放时间的实现方法等。但如果想实现其他功能,这些可以起到一个基础工程的作用,在以后的编程栏目中关于其他功能的开发将慢慢地介绍给大家,让编程爱好者们更深入地学习。