D'abord, encore merci à tous les participants des précédents billets sur le sujet. Voici donc le code que je vous propose pour diffuser des vidéos au format DivX, qu'elles soient hébergées sur Stage6 ou sur vos propres serveurs, avec un code valide XHTML. La méthode que je trouve finalement la plus facile est de séparer le code en deux avec d'un côté Internet Explorer et de l'autre, le reste des navigateurs. Ce code est prévu pour fonctionner avec DotClear en Wiki. Pour les autres, il suffit de supprimer le ///html du début et le /// final pour que cela fonctionne.


///html
<!--[if IE]>
<div style="text-align:center;">
<object type="video/divx" classid="clsid:67DABFBF-D0AB-41fa-9C46-CC0F21721616" codebase="http://download.divx.com/player/DivXBrowserPlugin.cab" width="LARGEUR" height="HAUTEUR"  >
<param name="src" value="URL" />
<param name="autoplay" value="false" />
<param name="custommode" value="Stage6" />
<param name="showpostplaybackad" value="false" />
<param name="wmode" value="transparent" />
<param name="loop" value="false" />
<param name="pluginspage" value="http://go.divx.com/plugin/download/" />
<p>Texte de remplacement</p>
</object>
</div>
<![endif]-->
<!--[if !IE]><-->
<div style="text-align:center;">
<object type="video/divx" data="URL" codebase="http://download.divx.com/player/DivXBrowserPlugin.cab" width="LARGEUR" height="HAUTEUR">
<param name="src" value="URL" />
<param name="autoplay" value="false" />
<param name="custommode" value="Stage6" />
<param name="showpostplaybackad" value="false" />
<param name="wmode" value="transparent" />
<param name="loop" value="false" />
<param name="pluginspage" value="http://go.divx.com/plugin/download/" />
<p>Texte de remplacement</p>
</object>
</div>
<!--><![endif]-->
///

Sur ce squelette, il suffit ensuite de modifier chaque occurence de :

URL : Adresse de la vidéo
LARGEUR : Largeur de la vidéo
HAUTEUR : Hauteur de la vidéo
Texte de remplacement : Texte devant apparaitre si le plugin DivX n'est pas présent

  • L'autoplay peut prendre comme valeur false ou true et permet de faire démarrer la vidéo en automatique.
  • Le loop, permet de visionner la vidéo en boucle.

Il est aussi possible de rajouter d'autres arguments. Faites alors attention de les rajouter dans les 2 conditions du code (if IE et if !IE) :

  • Pour que l'écran du player ne soit pas noir, il est possible d'afficher une image (un jpg, un gif ou un png), rajouter alors <param name="previewImage" value="URL de l'image à afficher" />
  • Par défaut, il y a un buffering de la vidéo.

Pour fonctionner sans tampon, rajouter <param name="bufferingMode" value="null" />

Pour que la vidéo ne démarre que lorsque l'intégralité du fichier est chargé, rajouter <param name="bufferingMode" value="full" />

  • Par défaut, il n'y a pas de contrôle sur la version du plugin DivX utilisé. Pour rajouter une condition, par exemple la présence du plugin 1.0.0, rajouter <param name="minVersion" value="1.0.0" />
  • Pour ne pas autoriser le menu du clic droit, rajouter <param name="allowContextMenu" value="false" />
  • Par défaut, les boutons de controles de la vidéo sont petits.

Pour les supprimer, rajouter <param name="mode" value="null" />

Les autres valeurs possibles sont

floating/auto hide : value="zero"
large : value="large"
full : value="full"

(Certains paramétrages sont spécifiques aux vidéos personnelles et n'auront pas d'effets sur une vidéo Stage6)