11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous

Voila je voudrai piloter un lecteur mp3 en javascript, je m'explique j'utilise ce code pour le lecteur:



<object id="NSPlay" name="NSPlay" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" width=185 height=50 codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,1,5,217" standby="Loading Microsoft® Windows Media™ Player components..." type="application/x-oleobject">
  <param name="Filename" value="monmp3.mp3">
  <param name="AudioStream" value="-1">
  <param name="AutoSize" value="0">
  <param name="AutoStart" value="-1">
  <param name="AnimationAtStart" value="0">
  <param name="AllowScan" value="-1">
  <param name="AllowChangeDisplaySize" value="-1">
  <param name="AutoRewind" value="0">
  <param name="Balance" value="0">
  <param name="BaseURL" value>
  <param name="BufferingTime" value="5">
  <param name="CaptioningID" value>
  <param name="ClickToPlay" value="-1">
  <param name="CursorType" value="0">
  <param name="CurrentPosition" value="-1">
  <param name="CurrentMarker" value="0">
  <param name="DefaultFrame" value>
  <param name="DisplayBackColor" value="0">
  <param name="DisplayForeColor" value="16777215">
  <param name="DisplayMode" value="0">
  <param name="DisplaySize" value="4">
  <param name="Enabled" value="-1">
  <param name="EnableContextMenu" value="-1">
  <param name="EnablePositionControls" value="0">
  <param name="EnableFullScreenControls" value="0">
  <param name="EnableTracker" value="0">
  <param name="InvokeURLs" value="-1">
  <param name="Language" value="-1">
  <param name="Mute" value="0">
  <param name="PlayCount" value="1">
  <param name="PreviewMode" value="0">
  <param name="Rate" value="1">
  <param name="SAMILang" value>
  <param name="SAMIStyle" value>
  <param name="SAMIFileName" value>
  <param name="SelectionStart" value="-1">
  <param name="SelectionEnd" value="-1">
  <param name="SendOpenStateChangeEvents" value="-1">
  <param name="SendWarningEvents" value="-1">
  <param name="SendErrorEvents" value="-1">
  <param name="SendKeyboardEvents" value="0">
  <param name="SendMouseClickEvents" value="0">
  <param name="SendMouseMoveEvents" value="0">
  <param name="SendPlayStateChangeEvents" value="-1">
  <param name="ShowCaptioning" value="0">
  <param name="ShowControls" value="1">
  <param name="ShowAudioControls" value="1">
  <param name="ShowDisplay" value="0">
  <param name="ShowGotoBar" value="0">
  <param name="ShowPositionControls" value="0">
  <param name="ShowStatusBar" value="1">
  <param name="ShowTracker" value="0">
  <param name="TransparentAtStart" value="-1">
  <param name="VideoBorderWidth" value="0">
  <param name="VideoBorderColor" value="0">
  <param name="VideoBorder3D" value="0">
  <param name="Volume" value="-1000">
  <param name="WindowlessVideo" value="-1">
  <embed type="application/x-mplayer2" pluginspage="http://www.microsoft.com/isapi/redir.dll?prd=windows&sbp=mediaplayer&ar=Media&sba=Plugin&" src="monmp3.mp3" name="NSPlay" width=185 height=50 showstatusbar="1" showcontrols="1" showdisplay="0" showgotobar="0" autosize="0" showcaptioning="0" enabletracker="0" showtracker="0" enablecontextmenu="0" volume="0" showpositioncontrols="0" showaudiocontrols="1"> </embed>
</object>


J'ai quelques liens pour le pilotage: son +, son -, play , stop

j'utilise donc un systeme du style
a href="javascript: play()"


Ma question est: embed est utilisé pour Firefox et l'autre partie pour IE, mais chacun à ses méthodes propres, pour IE on utilise un NSPlay.Play()
et pour firefox on doit bidouiller en utilisant un getElementById(embed).start()

De plus pour FF, la balise embed ne gere que 2 méthodes: play et stop donc pas de volume.

Comment palier à ça et pouvoir piloter le player sous FF et IE?

Merci d'avance pour votre aide

Cris
Modifié par comicway (26 Aug 2006 - 16:30)
Si c'est un objet OLE du lecteur windows media, tu peux le contrôler sur IE uniquement.
Sinon, c'est le néant absolu... ou en fait ça dépend de ce que tu entends par contrôler.

S'il s'agit juste de lancer/arrêter la lecture, c'est faisable dans tous les bons navigateurs au moyen des fonctions play et stop.
Pour le reste, IE6 seulement.
Et bien du style si il n'y a pas de méthode, essayer de pouvoir modifier le contenu de la balise embed dynamiquement avec javascript.