RT

解决方案 »

  1.   

    Delphi能做播放RM格式的播放器吗?
    我不知道
    近来学习学习
    !!
      

  2.   

    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;interfaceuses
      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格式的播放器随着网络的日益普及,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;interfaceuses
      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;这样就实现了影像的播放功能。
      

  3.   

    你也可以用DSpack的PlayWin程序播放RM格式文件
    主要流程为:
    先装RealOne Player, 再装RealMediaSplitter.ax并注册,先用媒体播放器试着播放一个.rm或.rmvb文件,如果能成功播放,那么就可以用delphi/dspack写播放程序了。
    Source(.rm/.rmvb) -> RealMediaSplitter -> Video(Audio) -> real a/v decoder -> A/V Render
      

  4.   

    谢谢了 Kshape_zh(//伟大的大伟//)