如今RealPlayer的流式媒体文件以其强大的视频压缩比正逐步悄然兴起。RealPlayer Plus播放器也理所当然地成为大家播放RealPlayer格式文件的首选软件。不过RealPlayer Plus也不是十全十美的,比如启动时间慢,占用空间大,留有历史记录等等。其实我们可以利用C++ Builder打造一个完全符合自己要求的RealPlayer播放器。下面我将向大家介绍如何利用C++ Builder来帮助你实现这一愿望。但前提是:你的机器中必须装有RealPlayer Plus播放器,因为我们要用到其自带的ActiveX控件。
首先,我们要在C++ Builder中导入所需的ActiveX控件。点击菜单“Component→Import ActiveX Control...”打开“Import ActiveX”对话框,在“Import ActiveX”列表框中,我们可以看到Windows中所有注册的AxctiveX控件。选择其中的“RealPlayer ActiveX Control Library(Version 1.0)”控件。然后单击“Install”按钮。
回到C++ Builder主界面,你会发现在VCL面板中的ActiveX标签中增加了一个名为RealAudio的组件。我们先把它放入窗体中。不过在默认情况中RealAudio组件没有视频播放窗口,也就是只能播放声音。这是我们不愿看到的,这时我们可以在RealAudio组件的Controls属性中添加如下代码:
IMAGEWINDOW,CONTROLPANEL,STATUSBAR
其中:IMAGEWINDOW、CONTROLPANEL、STATUSBAR分别表示显示视频播放窗口、控制条状态条。
添加代码后,我们可以发现控件外观已经改变成了视频播放窗口形状。然后设置Align属性为alClient,使播放窗口可以随窗体的变化而变化,方便大家在观看影视动画时可以随意拉动播放窗口大小。
然后,在窗中加入TMainMenu组件、TOpenDialog组件各一个。用于选择并打开播放影视文件。双击TMainMenu组件,进入菜单设计器。在这里,我们要设计一个菜单项File及二个子菜单Open、Exit。设计完毕后:
双击Open添加如下代码:
void __fastcall TForm1::O1Click(TObject *Sender)
{
if(OpenDialog1->Execute())
{RealAudio1->Source=OpenDialog1->FileName;
RealAudio1->DoPlay();
//打开并启动播放器
}
}
双击Exit添加如下代码:
//---------------------------------------------------------------------------
void __fastcall TForm1::X1Click(TObject *Sender)
{
Close(); //终止程序运行
}
为了在打开一个文件时,便于用户选择文件,要将OpenDialog组件的Filter属性设置如下:所有媒体文件(*.rm,*.ram,*.ra,*.swf,*.mp3)|*.rm;*.ram;*.ra;*.swf;*.mp3|*.*|*.*。
最后就可以进行编译、运行。此程序在Windows 98,C++ Builder 5.0的环境中调试通过。