uaviplayer.pas
上传用户:hbszzs
上传日期:2008-08-20
资源大小:628k
文件大小:3k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit uaviplayer;
  2. interface
  3. { This program only provides an example of how to use some of the
  4.   Varian Led Studio components.
  5.   It is not intended to be a fully functional avi player.}
  6. uses
  7.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  8.   VrBlotter, VrControls, VrProgressBar, MPlayer, VrNavigator,
  9.   ExtCtrls, VrDeskTop, VrLcd, VrLabel, VrButtons;
  10. type
  11.   TForm_AviPlayer = class(TForm)
  12.     MediaPlayer1: TMediaPlayer;
  13.     VrNavigator1: TVrNavigator;
  14.     VrBlotter1: TVrBlotter;
  15.     OpenDialog: TOpenDialog;
  16.     VrDeskTop1: TVrDeskTop;
  17.     Panel1: TPanel;
  18.     VrShadowButton1: TVrShadowButton;
  19.     VrShadowButton2: TVrShadowButton;
  20.     VrShadowButton3: TVrShadowButton;
  21.     VrLabel1: TVrLabel;
  22.     VrLabel2: TVrLabel;
  23.     procedure VrShadowButton1Click(Sender: TObject);
  24.     procedure VrNavigator1ButtonClick(Sender: TObject;
  25.       Button: TVrButtonType);
  26.     procedure FormDestroy(Sender: TObject);
  27.     procedure VrShadowButton3Click(Sender: TObject);
  28.     procedure FormCreate(Sender: TObject);
  29.     procedure VrShadowButton2Click(Sender: TObject);
  30.   private
  31.     procedure FormClosed(Sender: TObject; var Action: TCloseAction);
  32.   public
  33.     { Public declarations }
  34.   end;
  35. var
  36.   Form_AviPlayer: TForm_AviPlayer;
  37. implementation
  38. uses uaviscreen;
  39. {$R *.DFM}
  40. procedure TForm_AviPlayer.FormCreate(Sender: TObject);
  41. begin
  42.   Caption := Application.Title;
  43.   Icon.Assign(Application.Icon);
  44. end;
  45. procedure TForm_AviPlayer.VrShadowButton1Click(Sender: TObject);
  46. begin
  47.   if OpenDialog.Execute then
  48.   begin
  49.     Application.ProcessMessages;
  50.     try
  51.       VrNavigator1.EnabledButtons := [];
  52.       VrShadowButton2.Enabled := False;
  53.       MediaPlayer1.Display := Panel1;
  54.       MediaPlayer1.DisplayRect := Panel1.ClientRect;
  55.       MediaPlayer1.FileName := OpenDialog.FileName;
  56.       MediaPlayer1.Open;
  57.       MediaPlayer1.Play;
  58.       MediaPlayer1.Stop;
  59.       VrNavigator1.EnabledButtons := [btPlay, btStop, btPause, btBack, btStep];
  60.       VrShadowButton2.Enabled := True;
  61.       Caption := Application.Title +
  62.         Format(' - [%s]', [ExtractFileName(OpenDialog.FileName)]);
  63.     except
  64.       raise Exception.Create('Error loading requested avi file');
  65.     end;
  66.   end;
  67. end;
  68. procedure TForm_AviPlayer.VrNavigator1ButtonClick(Sender: TObject;
  69.   Button: TVrButtonType);
  70. begin
  71.   try
  72.     case Button of
  73.       btPlay: MediaPlayer1.Play;
  74.       btStop: begin
  75.                 MediaPlayer1.Previous;
  76.                 MediaPlayer1.Stop;
  77.               end;
  78.       btPause: MediaPlayer1.Pause;
  79.       btBack: begin
  80.                 MediaPlayer1.Back;
  81.                 MediaPlayer1.Play;
  82.               end;
  83.       btStep: begin
  84.                 MediaPlayer1.Step;
  85.                 MediaPlayer1.Play;
  86.               end;
  87.     end;
  88.   except end;
  89. end;
  90. procedure TForm_AviPlayer.FormDestroy(Sender: TObject);
  91. begin
  92.   try
  93.     MediaPlayer1.Close;
  94.   except end;
  95. end;
  96. procedure TForm_AviPlayer.VrShadowButton3Click(Sender: TObject);
  97. begin
  98.   Application.Terminate;
  99. end;
  100. procedure TForm_AviPlayer.VrShadowButton2Click(Sender: TObject);
  101. begin
  102.   Visible := false;
  103.   Form_AviScreen.OnClose := FormClosed;
  104.   MediaPlayer1.Display := Form_AviScreen;
  105.   MediaPlayer1.DisplayRect := Form_AviScreen.ClientRect;
  106.   Form_AviScreen.Show;
  107. end;
  108. procedure TForm_AviPlayer.FormClosed(Sender: TObject; var Action: TCloseAction);
  109. begin
  110.   MediaPlayer1.Display := Panel1;
  111.   MediaPlayer1.DisplayRect := Panel1.ClientRect;
  112.   Visible := True;
  113. end;
  114. end.