Difference between revisions of "ActiveX/HTML"

From VideoLAN Wiki
Jump to navigation Jump to search
(How-to embed ActiveX using m3u playlists instead of javascript)
m (+{{Example code}})
 
(21 intermediate revisions by 13 users not shown)
Line 1: Line 1:
 +
{{howto| use the [[ActiveX]] control within a webpage|nosort=yes}}
 +
{{Example code}}
 +
 
==Embedding Activex using Javascript==
 
==Embedding Activex using Javascript==
  
 
You can insert the [[ActiveX]] control in your HTML pages like this :
 
You can insert the [[ActiveX]] control in your HTML pages like this :
  
   <OBJECT classid="clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8"
+
<syntaxhighlight lang="html4strict">
     codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab"
+
   <OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
 +
     codebase="https://downloads.videolan.org/pub/videolan/contrib/win32/axvlc.cab"
 
         width="640" height="480" id="vlc" events="True">
 
         width="640" height="480" id="vlc" events="True">
 
   <param name="Src" value="" />
 
   <param name="Src" value="" />
Line 11: Line 15:
 
   <param name="AutoPlay" value="False" />
 
   <param name="AutoPlay" value="False" />
 
   </OBJECT>
 
   </OBJECT>
 +
</syntaxhighlight>
  
Then, using Javascript, you can select another source, or change the audio track :
+
Then, using JavaScript, you can select another source, or change the audio track :
  
 +
<syntaxhighlight lang="javascript">
 
   document.vlc.playlistClear();
 
   document.vlc.playlistClear();
 
   var options=[":audio-track=5"]; // select audio track 5 (=6th, 1st is 0)
 
   var options=[":audio-track=5"]; // select audio track 5 (=6th, 1st is 0)
 
   document.vlc.addTarget("...",options,2,0); // replace entry 0
 
   document.vlc.addTarget("...",options,2,0); // replace entry 0
 
   document.vlc.play();
 
   document.vlc.play();
 +
</syntaxhighlight>
 +
 +
See [https://web.archive.org/web/20081218063905/http://people.videolan.org/~damienf/plugin-0.8.6.html http://people.videolan.org/~damienf/plugin-0.8.6.html (Internet Archive)] for a complete demo.
  
 
==Embedding ActiveX using m3u Playlists==
 
==Embedding ActiveX using m3u Playlists==
Maybe a better to show VLC in an HTML Website is to use m3u Playlists. It has got the advantage that users with turned-off Javascript can also use this plugin, since document.vlc.addTarget won't work with javascript turned off.
+
Maybe a better to show VLC in an HTML Website is to use [[m3u]] Playlists. It has got the advantage that users with turned-off JavaScript can also use this plugin, since <code>document.vlc.addTarget()</code> won't work with JavaScript turned off.
  
 
* Step 1: Create the HTML website with the VLC-Object linked to the m3u playlist
 
* Step 1: Create the HTML website with the VLC-Object linked to the m3u playlist
 
* Step 2: Create your m3u playlist with all options, save and upload it to your webspace.
 
* Step 2: Create your m3u playlist with all options, save and upload it to your webspace.
* Step 3 (optional): Create buttons and other objects to control VLC (like document.vlc.play();)
+
* Step 3 (optional): Create buttons and other objects to [[control VLC]] (like <code>document.vlc.play();</code>)
  
  
 
'''Step 1: Creating the website to embed ActiveX Control'''
 
'''Step 1: Creating the website to embed ActiveX Control'''
 +
<syntaxhighlight lang="html4strict">
 
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
 
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
  <HTML>
+
  < HTML >
 
   <BODY marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
 
   <BODY marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
 
     <OBJECT classid="clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8"
 
     <OBJECT classid="clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8"
         codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab"
+
         codebase="https://downloads.videolan.org/pub/videolan/contrib/win32/axvlc.cab"
 
         width="400" height="300" id="vlc" events="True">
 
         width="400" height="300" id="vlc" events="True">
 
       <param name="Src" value="myplaylist.m3u" />
 
       <param name="Src" value="myplaylist.m3u" />
Line 41: Line 51:
 
     </OBJECT>
 
     </OBJECT>
 
   </BODY>
 
   </BODY>
  </HTML>
+
  < /HTML >
You should modify the values of width, height and volume (0-100) fitting to your desires. If you don't know them, simply delete them (e.g. remove ''width="640"'' from the code).
+
</syntaxhighlight>
  
 +
You should modify the values of width, height and volume (0-100) fitting to your desires. If you don't know them, simply delete them (e.g. remove <code>width="640"</code> from the code).
  
 
'''Step 2: Creating the m3u playlist'''
 
'''Step 2: Creating the m3u playlist'''
  
 
Open Notepad, create your playlist and save it as 'myplaylist.m3u' for this example.
 
Open Notepad, create your playlist and save it as 'myplaylist.m3u' for this example.
 +
 
  #EXTM3U                                    // Required to identify this file as m3u file
 
  #EXTM3U                                    // Required to identify this file as m3u file
 
  #EXTVLCOPT--input-repeat=-1                // repeat the following file/playlist
 
  #EXTVLCOPT--input-repeat=-1                // repeat the following file/playlist
Line 54: Line 66:
 
  #EXTINF:0, Test Description                // set the title for the following file shown in your playlist
 
  #EXTINF:0, Test Description                // set the title for the following file shown in your playlist
 
  video.mpg                                // the actual file to be displayed
 
  video.mpg                                // the actual file to be displayed
 
  
 
'''Annotations:'''
 
'''Annotations:'''
Line 66: Line 77:
 
   :option  An option that only applies to the playlistitem directly before it
 
   :option  An option that only applies to the playlistitem directly before it
 
             and that overrides previous settings.
 
             and that overrides previous settings.
 +
 +
==Known Problems and how to solve them==
 +
 +
'''Problem'''
 +
 +
A know problem is, that the VLC-Plugin won't be displayed. Instead, you are asked whether you want to install the VLC-ActiveX-Component. "Don't install" cancels the installation and nothing happens. "Install" runs the usual VLC-Setup (mind to install the ActiveX-Plugin), but after reopening an HTML-page with the VLC-Plugin, it's the same situation as before.
 +
 +
'''Solution'''
 +
 +
* Use the "other" ClassID in your HTML-Source as shown above:
 +
:<syntaxhighlight lang="html4strict">
 +
<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" ...
 +
</syntaxhighlight>
 +
 +
* You have to lower the security settings on your PC. '''Do this at your own risk! Use [https://www.getfirefox.com Firefox] to browse the web!'''
 +
 +
* In Internet Explorer select [Tools], [Internet Options]. The "Internet Options" window opens. Select the Tab "Advanced". Scroll down until you see the main point "Security".
 +
 +
* Check the following entries:
 +
** Allow active content to CDs to run on My Computer
 +
** Allow active content to run in files on My Computer
 +
** Allow software to run or install even if the signature is invalid
 +
 +
* Instead of lowering security level, you can add the website address to the right security area.
  
 
==See also==
 
==See also==
*[[ActiveX/Delphi|Delphi Implementation]]
+
* [[ActiveX/Delphi]] for a Delphi implementation
 +
* [[ActiveX]] for a description of ActiveX
  
* [[ActiveX|ActiveX Description]]
+
[[Category:Development‏‎]]

Latest revision as of 02:40, 19 March 2019

This page describes how to use the ActiveX control within a webpage. Other "how to" pages
This page contains example code.

Embedding Activex using Javascript

You can insert the ActiveX control in your HTML pages like this :

  <OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
     codebase="https://downloads.videolan.org/pub/videolan/contrib/win32/axvlc.cab"
        width="640" height="480" id="vlc" events="True">
  <param name="Src" value="" />
  <param name="ShowDisplay" value="True" />
  <param name="AutoLoop" value="False" />
  <param name="AutoPlay" value="False" />
  </OBJECT>

Then, using JavaScript, you can select another source, or change the audio track :

  document.vlc.playlistClear();
  var options=[":audio-track=5"]; // select audio track 5 (=6th, 1st is 0)
  document.vlc.addTarget("...",options,2,0); // replace entry 0
  document.vlc.play();

See http://people.videolan.org/~damienf/plugin-0.8.6.html (Internet Archive) for a complete demo.

Embedding ActiveX using m3u Playlists

Maybe a better to show VLC in an HTML Website is to use m3u Playlists. It has got the advantage that users with turned-off JavaScript can also use this plugin, since document.vlc.addTarget() won't work with JavaScript turned off.

  • Step 1: Create the HTML website with the VLC-Object linked to the m3u playlist
  • Step 2: Create your m3u playlist with all options, save and upload it to your webspace.
  • Step 3 (optional): Create buttons and other objects to control VLC (like document.vlc.play();)


Step 1: Creating the website to embed ActiveX Control

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
 < HTML >
   <BODY marginwidth="0" marginheight="0" topmargin="0" leftmargin="0">
     <OBJECT classid="clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8"
         codebase="https://downloads.videolan.org/pub/videolan/contrib/win32/axvlc.cab"
         width="400" height="300" id="vlc" events="True">
       <param name="Src" value="myplaylist.m3u" />
       <param name="ShowDisplay" value="True" />
       <param name="AutoLoop" value="True" />
       <param name="AutoPlay" value="True" />
       <param name="Volume" value="100">
     </OBJECT>
   </BODY>
 < /HTML >

You should modify the values of width, height and volume (0-100) fitting to your desires. If you don't know them, simply delete them (e.g. remove width="640" from the code).

Step 2: Creating the m3u playlist

Open Notepad, create your playlist and save it as 'myplaylist.m3u' for this example.

#EXTM3U                                     // Required to identify this file as m3u file
#EXTVLCOPT--input-repeat=-1                 // repeat the following file/playlist
#EXTVLCOPT--http-reconnect=true             // required for a streaming-client to enable repeat
#EXTVLCOPT--any further parameter goes here // see also VLC command-line help
#EXTINF:0, Test Description                 // set the title for the following file shown in your playlist
video.mpg                                // the actual file to be displayed

Annotations:

  • For actual looping of the entire playlist, the user has to have check 'Repeat all' under Preferences --> Playlist --> General
  • Mind that options have different names if you play a file locally or if you want to stream it (--sub-filter --> --s-filter)


Mind the different Options-styles:

 --option  A global option that is set for the duration of the program.
  -option  A single letter version of a global --option.
  :option  An option that only applies to the playlistitem directly before it
           and that overrides previous settings.

Known Problems and how to solve them

Problem

A know problem is, that the VLC-Plugin won't be displayed. Instead, you are asked whether you want to install the VLC-ActiveX-Component. "Don't install" cancels the installation and nothing happens. "Install" runs the usual VLC-Setup (mind to install the ActiveX-Plugin), but after reopening an HTML-page with the VLC-Plugin, it's the same situation as before.

Solution

  • Use the "other" ClassID in your HTML-Source as shown above:
 <OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" ...
  • You have to lower the security settings on your PC. Do this at your own risk! Use Firefox to browse the web!
  • In Internet Explorer select [Tools], [Internet Options]. The "Internet Options" window opens. Select the Tab "Advanced". Scroll down until you see the main point "Security".
  • Check the following entries:
    • Allow active content to CDs to run on My Computer
    • Allow active content to run in files on My Computer
    • Allow software to run or install even if the signature is invalid
  • Instead of lowering security level, you can add the website address to the right security area.

See also