ActiveX
The Windows build of VLC includes an (optionaly installed) ActiveX control. The ActiveX control enables VLC to be embedded in web browsers and third-party applications.
Contents
Properties
The ActiveX control includes the following properties:
name | type | get or set | description |
Length | Integer | get | Returns length of the current clip. |
playlistCount | get | Returns the count of items in the playlist | |
playlistIndex | get | Returns the index of the current item in the playlist. | |
AutoLoop | Boolean | get/set | Determines if the player should automatically loop when it finishes the current playlist. |
AutoPlay | Boolean | get/set | Determines if the player should start playing a new file/playlist immediately upon being loaded. |
Volume | Integer | get/set | Current volume (scaled from 0 to 100) |
MRL | String | get/set | Presumably returns the MRL of the currently loaded file. |
Time | Integer | get/set | Time elapsed in seconds playing current MRL, 0 for live feed |
showdisplay | Boolean | get/set | show/hide control viewport |
Playing | Boolean | get | Returns whether some MRL is playing |
Position | 'real' | get/set | Playback position within current MRL, scaled from 0.0 to 1.0. Live feed returns 0.0 |
VersionInfo | String | get | Returns version and build information. |
Note: In Visual Basic, type "Long" should be used for properties listed with type "Integer".
Methods
The ActiveX control includes the following methods (functions):
name | type | description | syntax (VB) |
setVariable | method | Assigns a value to a variable that is defined in libvlc.c | controlname.setVariable name as String, value |
getVariable | method | Returns the contents of a variable that is defined in libvlc.c | x = controlname.getVariable(name as String) |
pause | method | Pauses the currently playing clip | controlname.pause |
play | method | Plays as in the normal player, if a clip is not loaded, does nothing. | controlname.play |
playFaster | method | Makes the currently playing clip play faster. | controlname.playFaster |
playSlower | method | Makes the currently playing clip play slower. | controlname.playSlower |
stop | method | Makes the currently playing clip stop. | controlname.stop |
shuttle | method | Moves the playback position a specified number of seconds in either direction. | controlname.shuttle(seconds as Long) |
playlistClear | method | Clears the playlist | controlname.playlistClear |
playlistNext | method | Goes to next item in the playlist | controlname.playlistNext |
playlistPrev | method | Goes to previous item in the playlist | controlname.playlistPrev |
addTarget | method | Adds a uri to the current playlist or replaces the current playlist with the uri. | controlname.addTarget(uri as String, options, mode as VLCPlaylistMode, Position as Long) |
toggleMute | method | Toggles between the muted/unmuted state of the embedded player. | controlname.toggleMute |
fullscreen | method | Toggles between fullscreen and non-fullscreen modes. | controlname.fullscreen |
Options
The addTarget
method accepts most of the command line options; including, but not limited to, the following :
:audio-track=index
:vout-filter=output-filter
(deinterlace
for example):deinterlace-mode=mode
(linear
for example)
Samples
Installing
Introduction
VideoLAN is not a good source for the installation of an VLC ActiveX control. At some point, IE6 stopped allowing the installation of unsigned ActiveX control distributions unless:
- they are signed to associate the software vendor's name with the file containing the ActiveX distribution, or
- they resides on a IE6 "trusted site"
The second option is only feasible where both server and client infrastructure are managed under the same umbrella. The first option requires a Certificate Authority to sign the control. This comes at a cost which the VideoLAN project is not able to bear. The solution is to create one's own ActiveX distribution, which in turn can be signed by you, the distributor, if necessary.
Creating an VLC ActiveX Distribution
The following requisites are required:
- CABSDK by Microsoft to create a Cabinet File (.cab-file) containing the relevant VLC files. MSDN has a good description how to package an ActiveX Control including a link to the CABSDK download page here
- The .cab-file contents, consisting of
- axvlc.inf - The INF file, which would be called manifest in the modern age
- axvlc.dll - ActiveX DLL
- VLC setup file