RM格式的播放器
随着网络的日益普及,RM(Real Media)格式的多媒体文件由于压缩比高而受到世界范围的认同和欢迎。安装完RealPlayer之后,系统中将会被加入一个播放RM格式的ActiveX控件,我们就是利用这个控件来实现RM格式文件的播放。
1、安装ActiveX控件
点击Component菜单下的Import ActiveX Control选项,就会出现一个现在可安装的控件列表,如果你已经安装了RealPlayer的话,选中RealPlayer ActiveX Control Librarry然后按Install键即可 。在出现了许多确认信息之后,一个名为RealAudio的ActiveX控件就装入了你的Delphi之中。
2、学习控件的使用
打开目录/Delphi5/Imports/,找到RealAudioObjects_TLB.pas文件并打开,这里面包含了控件全部的操作函数、过程及属性。以下是对几个常用的函数和过程的简要介绍:
SetSource(文件路径):设置索要播放的文件的完整路径;
DoPlay:播放;
DoPlayPause:暂停;
DoStop:停止;
SetControls():设置播放面板显示情况,具体的使用方法后面介绍;
SetFullScreen:设置全屏播放;
SetMute(True/False):设置静音;
其他功能详见RealAudioObjects_TLB.pas。
3、播放器的制作
点击File/New Application,创建一个新的窗体;
在窗体上加载RealAudio控件,设置属性Visable为False;
在窗体上再分别加上OpenDialog控件和5个Button控件,并设置Button控件的Caption属性分别为“打开”、“播放”、“暂停”、“停止”、“全屏”;(见附图1)
输入如下代码:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, OleCtrls, RealAudioObjects_TLB;
type
TForm1 = class(TForm)
RealAudio1: TRealAudio;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
OpenDialog1: TOpenDialog;
Button5: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
if form1.OpenDialog1.Execute then
form1.RealAudio1.SetSource(form1.OpenDialog1.FileName);
end
//打开
procedure TForm1.Button2Click(Sender: TObject);
begin
form1.RealAudio1.DoPlay;
end
//播放
procedure TForm1.Button3Click(Sender: TObject);
begin
form1.RealAudio1.DoPlayPause;
end
//暂停 点击1次则暂停,点击2次则恢复播放
procedure TForm1.Button4Click(Sender: TObject);
begin
form1.RealAudio1.DoStop;
end
//停止
procedure TForm1.Button5Click(Sender: TObject);
begin
form1.RealAudio1.SetFullScreen;
end
//设置全屏
end.
运行程序后发现了什么问题?播放器只能播放声音而没有图像!此时就要用到刚才所提到的SetControls函数。
当SetControls函数在程序中没有被调用时,是没有图像窗口的。SetControls函数后可带多个参数,主要有:ImageWindow(图像窗口),ControlPanel(控制板),StatusBar(状态条)用于设置控件面板上应显示的构件。
例如:SetControls('ImageWindow');
在procedure TForm1.Button1Click(Sender: TObject);(打开过程)中加入如下代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
if form1.OpenDialog1.Execute then begin
form1.RealAudio1.SetSource(form1.OpenDialog1.FileName)
form1.RealAudio1.DoPlay
//打开后自动播放
form1.RealAudio1.SetControls('ImageWindow')
//设置图像窗口显示
form1.RealAudio1.Visible:=True
//显示图像窗口
end;
end;
这样就实现了影像的播放功能。
用自己制作的播放器播放RM节目感觉如何?如果你有兴趣,还可以开发出更多更好的播放器!