ActiveX/Delphi

From VideoLAN Wiki
Revision as of 03:35, 24 July 2006 by 1153712129 (talk | contribs)
Jump to navigation Jump to search
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
  • VideoLan 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, Registry, Dialogs;

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;
  blVLCPluginFound: boolean;

type
  VLCPlaylistMode = TOleEnum;

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

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  Reg: TRegistry;
begin
  blVLCPluginFound := false;

  // Is VLC ActiveX Plugin installed on this PC?
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_LOCAL_MACHINE;
    if Reg.OpenKeyReadOnly('\Software\Classes\VideoLAN.VLCPlugin.1\') then begin
        blVLCPluginFound := true;
    end;
  finally
    FreeAndNil(Reg);
  end;

  if blVLCPluginFound then 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 else begin
    ShowMessage('I am really sorry, but VLC (or its ActiveX Plugin) is currently not installed on this PC!');
  end;
end;

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

end.

Alternative way to bring VLC to your Delphi Application

Much easier way to bring VLC to your Delphi Application is to paste a TWebbrowser Object in your Form, is generate Code for the HTML and m3u file and let the Webbrowser load the HTML-file. For detailed information have a look at ActiveX/HTML.

See also

ActiveX/HTML

















[We are delicate. We do not delete your content.]


eureka vacuum bag magna rx diaper bag norwegian cruise line norwegian cruise lines bra and pantie bra and panties match bra and panties bulma bra sheer bra nursing bra vicodin no prescription tramadol hcl tramadol cod diethylpropion nurse anesthetist programs soccer replica jersey philippine airline wireless dog fence clenbuterol westjet atv tire coffee roaster feng shui products feng shui tips wilson tennis racket skylights beach wedding favors personalized wedding favors wedding favor boxes

simmons beauty rest mattress pur water filter purifier water softener water lonnie waters muddy waters schlitterbahn water park tankless water heater elkay water cooler water cooler dispenser bottled water cooler igloo water cooler oasis water cooler