Fourni par Blogger.

vendredi 1 juin 2012

Contrôle du son et de la vidéo


I. Les modules externes

1. Qu'appelle-t-on ''module externe'' ou ''plug-in''?

Bien que le son et la vidéo soient le propre du multimédia, les navigateurs ne sont pas capables de les exécuter seuls : ils disposent d'une architecture ouverte qui leur permet de faire appel à des programmes supplémentaires externes. Ce sont les plug-in.
Par exemple, cliquer sur ce point d'interrogation Point d'interrogation. Vous ferez appel implicitement au plug-in par défaut de lecture d'un son du type wav. Ce plug-in par défaut dépend des configurations de la machine de l'utilisateur : selon les installations, ce pourra être MédiaPlayer, le magnétophone de Windows...
Ces programmes sont souvent installés avec le navigateur ou bien disponibles, généralement gratuitement, sur Internet.

2. Visualiser ses ''plug-ins'' sous NN

Il est possible de visualiser sous Netscape Navigator, l'ensemble des plug-in disponibles pour ce navigateur. Il suffit d'effectuer le cheminement suivant : Help>A propos des modules externes. Cet enchaînement lance un JavaScript capable d'analyser ce qui est disponible. Lancer cette commande et examiner le résultat.

3. Des dispositions différentes sous NN et IE

L'apparition des plug-ins revient à NetScape avec la version 2 de Navigator : grâce aux plug-ins, il est devenu alors possible de lire n'importe quel type de fichier à même la fenêtre du navigateur. La réaction de MicroSoft fut alors de reprendre le concept de plug-in et de l'approfondir : ce fut la technologie ActiveX (ActiveX est un langage de script utilisant les technologies Visual Basic et OLE). Les détails techniques sur cette différence d'approche et de mise en oeuvre sortent du cadre de ce cours ; nous retiendrons simplement que Netscape Navigator et Internet Explorer ne partagent pas la même approche des modules externes. L'effet principal est de nous compliquer (encore une fois !) la tâche.

4. Visualiser les objets ActiveX sous IE

Il est possible de visualiser sous Internet Explorer, l'ensemble des objets Active disponibles pour ce navigateur. Il suffit d'effectuer le cheminement suivant : Outils>Option Internet>Paramètres (sous l'onglet Général)> Afficher les Objets.
On pourra visualiser les propriétés de ces objets par un clic droit de la souris. On notera l'identifiant de classe (classid) utile pour l'appel de l'objet ActiveX dans la page HTML.

II. Balises d'insertion de contenu multimédia

1. La balise <embed>

Cette balise, initialement introduite par Netscape, ne fait même plus partie de la recommandation HTML Transitionnel du W3C. Elle permettait d'insérer dans la page HTML l'exécution duplug-in correspondant au type du fichier.
Le W3C recommande l'utilisation de la balise <object>.

2. La balise <object>

a. Syntaxe
La balise <object> est utilisée pour inclure images, séquences video, applets Java et interfaces VRML. Cette balise est prévue pour remplacer les balises à usage plus limité <img> et<applet>, ainsi que les éléments propriétaires <embed> et <bgsound>, en dépit de problèmes relatifs à son support par les navigateurs. Dans la mesure du possible, on continuera donc à utiliser les balises <img> et <applet>.
Cette balise accepte plusieurx attributs principaux :
  • data : spécifie l'URI (adresse) de l'objet inséré.
  • Les attributs width et height définissent les dimensions de l'objet. La valeur peut être exprimée en nombre de pixels ou en pourcentages de la taille de l'élément contenant l'objet. Attention : la plupart des navigateurs requièrent la présence de ces attributs.
  • classid> peut être utilisé pour définir une implémentation permettant la gestion de l'objet. Cela est le cas pour les applets Java et Python, les contrôles ActiveX, ainsi que le montre l'exemple suivant...
<object classid="yahtzee.py" codetype="application/x-python" standby="Prêt pour un petit Yahtzee?" title="Mon Yahtzee">
  <object classid="java:Yahtzee.class" codetype="application/java" width="400" height="250" standby="Prêt pour un petit Yahtzee?" title="Mon Yahtzee">
    <object data="yahtzee.gif" type="image/gif" title="Une animation Yahtzee" width="200" height="100"> Yahtzee est mon <em>jeu favori</em></object>
  </object>
</object>
Cet exemple montre aussi une solution afin de permettre aux navigateurs qui ne peuvent supporter le type d'objet, d'afficher une alternative. Dans cet exemple, le jeu écrit en Pythonest utilisé si le navigateur le supporte. Au cas où cela ne serait pas possible, une version Java est disponible. Une troisième possibilité est offerte avec l'affichage d'une image, et enfin une dernière alternative est disponible avec du texte brut. Cette possibilité préserve la compatibilité avec les plus anciens navigateurs, qui ignoreront les éléments <object>, et se contenteront d'afficher le texte.
L'exemple précédent utilise également les attributs type et codetype pour aider les navigateurs à déterminer la nature des fichiers en jeu : cela leur évite ainsi de tenter de charger un type de fichier qu'ils ne savent pas gérer. L'attribut type indique le type de média de la ressource référencée par l'attribut data, tandis que l'attribut codetype indique le type de média de la ressource référencée par l'attribut classid.
L'attribut standby est aussi utilisé dans l'exemple précédent. Il fournit un court texte affiché dans la fenêtre pendant le chargement de l'objet.
b. Elément <param>
L'élément <object> peut contenir des éléments <param>avant tout autre élément-enfant, permettant de spécifier un certain nombre de propriétés qui sont transmises aux objets multimédia chargés. Par exemple,
<object classid="java:Clock.class" codetype="application/java" width="100" height="100" title="Une horloge en temps réel!" standby="Quelle heure est-il?">
  <param name="type" value="analog"></param>
  <param name="bgcolor" value="white"></param>
  <param name="fgcolor" value="navy"></param>
</object>

0 commentaires

Enregistrer un commentaire