关于rm的播放(100分)

  • 主题发起人 主题发起人 balas
  • 开始时间 开始时间
B

balas

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥,我安装了realplay,并在delphi中注册了播放控件,
但是用来播放影像的时候只有声音没有图象,不知该设置那个属性才能播放影像文件。
另如何才能从指定位置开始播放?,realplay一秒播放几帧?
急!放上100分,谢谢!
 
用READPLAY.ocx是没有图像的, 要用其他的控件才行
 
无忌大侠发言了,学习!
 
当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;


这样就实现了影像的播放功能。
 
不愧为大侠
 
谢谢wjiachun,加上100分
 
后面2个问题,还请指教!
 
一个简单的复读程序
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, RealAudioObjects_TLB, ExtCtrls, StdCtrls;

type
TForm1 = class(TForm)
Bevel1: TBevel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
OpenDialog1: TOpenDialog;
Label1: TLabel;
Label3: TLabel;
Label5: TLabel;
Label2: TLabel;
Label4: TLabel;
Bevel2: TBevel;
RealAudio1: TRealAudio;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure RealAudio1PresentationClosed(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure Button1KeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
procedure RealAudio1PositionChange(Sender: TObject;
lPos,
lLen: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;


var
Form1: TForm1;
start_pos,fu:integer;
loop:boolean;


implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin

if form1.OpenDialog1.Execute then

begin

form1.RealAudio1.SetSource(form1.OpenDialog1.FileName);
label4.Caption:= form1.OpenDialog1.FileName;
if RealAudio1.CanPlay then
{当能够播放时再进行播放功能设置}
begin

loop:=true;
RealAudio1.DoPlay {执行REAL控件的播放操作}
Button2.Enabled :=false;{设置播放按钮不可用}
Button3.Enabled :=true;{设置暂停按钮为可用}
Button4.Enabled :=true;{设置停止按钮为可用}
button4.SetFocus;
end;

end;

end;


procedure TForm1.Button2Click(Sender: TObject);
begin

if RealAudio1.CanPlay then
{当能够播放时再进行播放功能设置}
begin

loop:=true;
RealAudio1.DoPlay {执行REAL控件的播放操作}
Button2.Enabled :=false;{设置播放按钮不可用}
Button3.Enabled :=true;{设置暂停按钮为可用}
Button4.Enabled :=true;{设置停止按钮为可用}
button4.SetFocus;
end;

end;


procedure TForm1.Button3Click(Sender: TObject);
begin

if RealAudio1.CanPlayPause then
{当可以进行暂停设置时再进行操作}
begin

RealAudio1.DoPlayPause {执行REAL控件的暂停功能}
Button3.Enabled :=false;{设置暂停按钮不可用}
Button2.Enabled :=true;{设置播放铵钮为可用}
button1.SetFocus;
end;

end;


procedure TForm1.Button4Click(Sender: TObject);
begin

if RealAudio1.CanStop then
{当能够进行停止操作时再进行程序设置}
begin

loop:=false;
RealAudio1.DoStop {执行REAL控件的停止功能}
Button4.Enabled :=false;{设置停止按钮为不可用}
Button3.Enabled :=false;{设置暂停按钮为不可用}
Button2.Enabled :=true;{设置播放按钮为可用}
button2.SetFocus;
end;

end;


procedure TForm1.Button5Click(Sender: TObject);
begin

RealAudio1.FreeOnRelease
application.Terminate;
end;


procedure TForm1.RealAudio1PresentationClosed(Sender: TObject);
begin

Button2.Enabled :=true;{设置播放按钮为可用}
if loop then

button2.Click;
end;


procedure TForm1.FormActivate(Sender: TObject);
begin

loop:=true;
fu:=1;
label1.Caption:='';
label4.Caption:='';
label5.Caption:='0';
end;


procedure TForm1.Button1KeyDown(Sender: TObject;
var Key: Word;
Shift: TShiftState);
begin

if button2.Enabled=false then

if key= VK_CONTROL then

begin

if fu=1 then
//第一次按ctrl
begin

start_pos:= RealAudio1.GetPosition;
label1.Caption:=inttostr(start_pos);
fu:= 2;
end
else

begin

RealAudio1.SetPosition(start_pos);
button2.Click;
end;

end;


if key= VK_SHIFT then

begin

fu:=1;
RealAudio1.SetPosition(RealAudio1.GetPosition);
label1.Caption:= '';
end;


end;


procedure TForm1.RealAudio1PositionChange(Sender: TObject;
lPos,
lLen: Integer);
begin

label5.Caption:=inttostr(RealAudio1.GetPosition);
end;


end.


 

Similar threads

D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
D
回复
0
查看
802
DelphiTeacher的专栏
D
后退
顶部