Difference between revisions of "ActiveX/Delphi"

From VideoLAN Wiki
Jump to navigation Jump to search
Line 61: Line 61:
 
   // you can use any MRL with parameters instead of 'c:\video.mpg' here
 
   // you can use any MRL with parameters instead of 'c:\video.mpg' here
 
   VLCPlugin1.play;
 
   VLCPlugin1.play;
 +
end;
 +
 +
end.
 +
 +
==Usage Runtime==
 +
If you're planning to use the VLC-Player in your application but don't know when and where, use this code to create the component on-demand.
 +
 +
unit Unit1;
 +
 +
interface
 +
 +
uses
 +
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, OleCtrls,
 +
  AXVLC_TLB, StdCtrls;
 +
 +
type
 +
  TForm1 = class(TForm)
 +
    Button1: TButton;
 +
    Button2: TButton;
 +
    procedure Button2Click(Sender: TObject);
 +
    procedure Button1Click(Sender: TObject);
 +
  private
 +
    { Private-Deklarationen }
 +
  public
 +
    { Public-Deklarationen }
 +
  end;
 +
 +
var
 +
  Form1: TForm1;
 +
  VLCPlugin1: TVLCPlugin;
 +
 +
type
 +
  VLCPlaylistMode = TOleEnum;
 +
 +
const
 +
  VLCPlayListInsert      = $00000001;
 +
  VLCPlayListReplace    = $00000002;
 +
  VLCPlayListAppend      = $00000004;
 +
  VLCPlayListGo          = $00000008;
 +
  VLCPlayListCheckInsert = $00000010;
 +
 +
implementation
 +
 +
{$R *.dfm}
 +
 +
procedure TForm1.Button1Click(Sender: TObject);
 +
begin
 +
  VLCPlugin1 := TVLCPlugin.Create(Self);
 +
  VLCPlugin1.Parent := Self; // Means: Place the VLC-Player into Form1
 +
  VLCPlugin1.Width  := 400;
 +
  VLCPlugin1.Height := 300;
 +
  VLCPlugin1.Top  := 50;
 +
  VLCPlugin1.Left := 50;
 +
  VLCPlugin1.Show;
 +
  VLCPlugin1.addTarget('C:\video.mpg', null, VLCPlayListInsert, 0);
 +
  // you can use any MRL with parameters instead of 'c:\video.mpg' here
 +
  VLCPlugin1.play;
 +
end;
 +
 +
procedure TForm1.Button2Click(Sender: TObject);
 +
begin
 +
  VLCPlugin1.stop;
 +
  FreeAndNil(VLCPlugin1);
 
  end;
 
  end;
 
   
 
   
 
  end.
 
  end.

Revision as of 17:03, 20 January 2006

This page describes how to use the ActiveX control with Delphi. Other "how to" pages

Getting started

What you need

  • Borland Delphi 3 or newer
  • a running System with Microsoft Windows
  • http://www.videolan.org/ including the ActiveX Plugin installed

Import the ActiveX-Component

  • Start your Borland Delphi
  • < Delphi2005: Select Components --> Import ActiveX --> VideoLan VLC ActiveX Plugin
  • >= Delphi 2006: Select Components --> Import component --> Import ActiveX Control --> VideoLan VLC ActiveX Plugin
  • Otherwise try creating a new package using the created AXVLC_TLB.pas

Confirm successfull installation

  • You should now be able to add the TVLCPlugin from the ActiveX-Tab of your Component toolbox.

Usage Development-Time

The VLC-Player Object TVLCPlugin can be found in your ActiveX-Components Tabsheet. Place one of it in your Form1, place a TButton and use the following code:

unit Unit1;

interface

uses
  Windows, Variants, Forms, Classes, Controls, StdCtrls, OleCtrls,
  AXVLC_TLB;

type
  TForm1 = class(TForm)
    VLCPlugin1: TVLCPlugin;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

type
  VLCPlaylistMode = TOleEnum;

const
  VLCPlayListInsert      = $00000001;
  VLCPlayListReplace     = $00000002;
  VLCPlayListAppend      = $00000004;
  VLCPlayListGo          = $00000008;
  VLCPlayListCheckInsert = $00000010;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  VLCPlugin1.addTarget('C:\video.mpg', null, VLCPlayListInsert, 0);
  // you can use any MRL with parameters instead of 'c:\video.mpg' here
  VLCPlugin1.play;
end;

end.

Usage Runtime

If you're planning to use the VLC-Player in your application but don't know when and where, use this code to create the component on-demand.

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, OleCtrls,
  AXVLC_TLB, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  VLCPlugin1: TVLCPlugin;

type
  VLCPlaylistMode = TOleEnum;

const
  VLCPlayListInsert      = $00000001;
  VLCPlayListReplace     = $00000002;
  VLCPlayListAppend      = $00000004;
  VLCPlayListGo          = $00000008;
  VLCPlayListCheckInsert = $00000010;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  VLCPlugin1 := TVLCPlugin.Create(Self);
  VLCPlugin1.Parent := Self; // Means: Place the VLC-Player into Form1
  VLCPlugin1.Width  := 400;
  VLCPlugin1.Height := 300;
  VLCPlugin1.Top  := 50;
  VLCPlugin1.Left := 50;
  VLCPlugin1.Show;
  VLCPlugin1.addTarget('C:\video.mpg', null, VLCPlayListInsert, 0);
  // you can use any MRL with parameters instead of 'c:\video.mpg' here
  VLCPlugin1.play;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  VLCPlugin1.stop;
  FreeAndNil(VLCPlugin1);
end;

end.