Attention : Le contenu de ces pages n'a pas été mis à jour depuis au moins 2016.
Les informations techniques ne sont pertinentes que pour les versions 4.0 maximum de Firefox/Gecko.
Il est fort probable que des liens vers des sites web externes ne fonctionnent plus.

Media player

Un media player avec XulRunner et VLC

Voici un exemple très simple d'intégration d'un plugin multimédia dans une application XulRunner. Ici nous prendrons l'exemple du plugin VLC de VideoLan http://www.videolan.org/

Création de l'arborescence de l'application

Créons les répertoires nécessaires :

 mediaplayer/
    chrome/
       content/
          mediaplayer/
    components/
    default/
       preferences/
    plugins/

le fichier application.ini

Ce fichier contient la fiche d'identité de l'appli

 [App]
 Vendor=xulfr.org
 Name=mediaplayer
 Version=0.1
 BuildID=20061220
 [Gecko]
 MinVersion=1.8
 MaxVersion=2.0

Vous le placez dans mediaplayer/, la racine de l'appli

Le fichier prefs.js

Il contient les préférences pour l'appli. Placez le dans default/preferences/

   pref("toolkit.defaultChromeURI", "[[chrome://mediaplayer/content/mediaplayer.xul")]];

Ici cela déclare l'url de la fenêtre principale

La fenêtre de l'appli

Créez un fichier mediaplayer.xul dans chrome/content/mediaplayer/

  <?xml version="1.0"?>
  <?xml-stylesheet href="[[chrome://global/skin/]]" type="text/css"?>
  <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        [[xmlns:html="!http://www.w3.org/1999/xhtml"]]>
    <description>Lecteur Vlc</description>
    <vbox flex="1">
    <[[html:embed]] type="application/x-vlc-plugin" id="video"
         autoplay="no" loop="yes" width="400" height="300"
         target="http://www.mozbox.org/pub/codeeditor.mpeg" />
     </vbox>
    <hbox pack="center">
        <button label="play" oncommand="document.getElementById('video').play()" />
        <button label="stop" oncommand="document.getElementById('video').stop()" />
    </hbox>
  </window>

Vous remarquerez l'utilisation de la balise embed, pour inclure le plugin vlc dans la page. Ce plugin propose entre autre des méthodes play() et stop() que l'on appelle lors des clicks sur les boutons.

Le plugin VLC supporte les fonctions suivantes :

  • play() : Démarre la lecture d'un média avec le plugin.
  • pause() : Met la lecture en pause
  • stop() : Stoppe la lecture
  • fullscreen() : Bascule la vidéo en plein écran
  • set_volume(vol) : Définit le volume. vol doit étre un entier entre 0 et 200.
  • get_volume() : Renvoie le volume actuel.
  • mute() : Coupe le son
  • set_int_variable(var_name, value) :
  • set_bool_variable(var_name, value) :
  • set_str_variable(var_name, value) :
  • get_int_variable(var_name) :
  • get_bool_variable(var_name) :
  • get_str_variable(var_name) :
  • clear_playlist() : Vide la playlist.
  • add_item(mrl>) : Ajoute à la playlist un élément dont l'adresse est donnée par Media *Resource Locator.
  • next() : suivant
  • previous() : précédant
  • isplaying() : renvoie vrai si le plugin lit quelque chose.
  • get_lenght() : Renvoie la longueur du média en secondes
  • get_position() : Renvoie la position du curseur de lecture en secondes.
  • get_time() : Renvoie la position du curseur de lecture en secondes.
  • seek(seconds,is_relative) : Si is_relative est vrai, déplace le curseur de lecture par rapport à la position actuelle, sinon, à partir du début du média. La longueur du déplacement est spécifiée en secondes.

Changez l'url exemple de la vidéo par une que vous connaissez, dans l'attribut target de la balise embed.

fichier chrome.manifest

Créez ce fichier dans le répertoire chrome/

  content mediaplayer content/mediaplayer/

Installation du plugin

Récupérez le plugin VLC sur le site http://www.videolan.org/ ou en l'installant via le système d'installation de votre distribution linux.

Il y a deux fichiers :

  • vlcintf.xpt que vous copierez dans le répertoire components/ (Ce fichier n'est plus nécessaire si vous utilisez une version du plugin >= 0.8.6)
  • libvlcplugin.so ou libvlcplugin.dll que vous copierez dans le répertoire plugins/

Lancement de l'appli

Installez Xulrunner, mettez vous dans le répertoire de votre appli, et tapez

   xulrunner application.ini

Sous linux, il se peut que le plugin ne s'affiche pas : il peut y avoir des problèmes de compatibilité binaire. Par exemple, le XulRunner disponible sur le site de Mozilla est compilé avec la libstd 5, alors que le plugin fournit par Ubuntu est compilé avec la libstd 6. Il faut donc recompilé un des deux sur votre machine.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.