比较前卫的问题?(100分)

  • 主题发起人 主题发起人 kingqc
  • 开始时间 开始时间
K

kingqc

Unregistered / Unconfirmed
GUEST, unregistred user!
在realaudio的active控件中如何
其realaudio的方法中有一个setcontrol其后面的参数没有公开,
有哪为高手知道吗?请告诉我?
 
好象是前卫啊,没有人好象见过么,你惨了,西西
 
看来比较麻烦了......
 
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节目感觉如何?如果你有兴趣,还可以开发出更多更好的播放器!

 
多人接受答案了。
 
如果用realaudio控件,对于本机的文件用doplaypause起作用,但对于播放网上的链接时,
用doplaypuase根本不起作用,只能用dopause,但想要继续播放用doplay却不行,用
doplaypuase也不行,这不知是不是控件的BUG
 
后退
顶部