Aller au contenu

Change
Bienvenue sur GeekZone
Inscrivez-vous sur GeekZone pour profiter des fonctions avancées du forum, proposer des news, participer aux conversations, ouvrir votre galerie, profiter de la messagerie interne et venir tester nos modérateurs avec du bon troll... Attention, ils ont la gâchette facile. C’est aussi pour ça que GeekZone est le meilleur site de passionnés depuis 2002 ! Si vous avez déjà un compte, connectez-vous - sinon, il est temps d'en créer un.

[html]son de fond: marche arrêt

- - - - -

  • Veuillez vous connecter pour répondre
10 réponses à ce sujet

#1
GUIGUI

GUIGUI

    Yoda Geek

  • Membre
  • PipPipPipPipPipPip
  • 3039 messages
J'ai essayé de faire un code "html 4 compliant" qui permet de mettre en route et d'arrêter une music de fond en cliquant sur des images. MAis ce code ne fonctionne que sur Firefox et Opéra. Comment le faire fonctionner sure chrome?
<html>
<head>



<script LANGUAGE="JavaScript">

<!--



function switchOn(){

  document.all.changetrack.data = "knight.mid";

}

function switchOff(){

  document.all.changetrack.data ="none.mid";

}

//-->

</SCRIPT>

</head>
<body>
<a onclick="switchOn()"><img src="play.gif" border="0"/></a><a onclick="switchOff()"><img src="stop.gif" border="0"/></a>
<br>
<OBJECT name="changetrack" type="audio/x-midi" data="none.mid">
  <PARAM name="autostart" value="true">
  <PARAM name="loop" value="true">
  <PARAM name= "hidden" value="true">
</OBJECT>
<br>
<object data="knight.mid">
  <param name="autostart" value="false">
  <PARAM name= "hidden" value="true">
If you're seeing this, you don't have a MIDI player
on your computer.
</object>
</body>
</html>

Merci

Notez qu'en "trichant" un peu, j'arrive aussi à le faire fonctionner sur explorer, même si je continu à me demander pourquoi de l'html standard ne fonctionne pas sur Explorer (ni sur chrome, d'ailleurs):
<html>
<head>

<BGSOUND SRC="none.mid" ID="changemusic" loop="infinite">

<script LANGUAGE="JavaScript">

<!--



function switchOn(){

  document.all.changemusic.src = "knight.mid"
  document.all.changetrack.data = "knight.mid"

}

function switchOff(){

  document.all.changemusic.src ="none.mid"
  document.all.changetrack.data ="none.mid"

}

//-->

</SCRIPT>

</head>
<body>
<a onclick="switchOn()"><img src="play.gif" border="0"/></a><a onclick="switchOff()"><img src="stop.gif" border="0"/></a>
<br>
<OBJECT name="changetrack" type="audio/x-midi" data="none.mid">
  <PARAM name="autostart" value="true">
  <PARAM name="loop" value="true">
  <PARAM name= "hidden" value="true">
</OBJECT>
<br>
<object data="knight.mid">
  <param name="autostart" value="false">
  <PARAM name= "hidden" value="true">
If you're seeing this, you don't have a MIDI player
on your computer.
</object>
</body>
</html>

Mais toujours rien sur chrome.

Modifié par GUIGUI, 25 February 2011 - 00:07.

Ou alors, je me gourre... (grâce à cette signature géniale, plus personne ne pourra critiquer ce que je dis, héhé)
AAAAAAAAAA NEDM C'est un rebelle et puis c'est tout

#2
MegaMax

MegaMax

    Padawan Geek

  • Membre
  • PipPip
  • 138 messages
  • Lieu:Paris
document.all ne fonctionne pas sous Chrome. Essayes de mettre tes liens de play/stop dans une div avec un nom et tu fais un : document.tonomdedivici.changemusic.src
WordPress & Blogging Rockstar : Blog Tool Box | Robots.txt

#3
GUIGUI

GUIGUI

    Yoda Geek

  • Membre
  • PipPipPipPipPipPip
  • 3039 messages
Est-ce ce que ce div marchera aussi avec Opéra et Firefox?

Je m'y prend surement comme un pieds, mais le nouveau code que je viens de faire en suivant tes conseils ne fonctionne nulle part, pas même sur Chrome:
<html>
<head>

<script LANGUAGE="JavaScript">




function switchOn(){

  document.bottom.changetrack.data = "knight.mid"

}

function switchOff(){

  document.bottom.changetrack.data ="none.mid"

}


</SCRIPT>

</head>
<body>
<a onclick="switchOn()"><img src="play.gif" border="0"/></a><a onclick="switchOff()"><img src="stop.gif" border="0"/></a>
<br>
<div name="bottom">
<OBJECT name="changetrack" type="audio/x-midi" data="none.mid">
  <PARAM name="autostart" value="true">
  <PARAM name="loop" value="true">
  <PARAM name= "hidden" value="true">
</OBJECT>
</div>
<br>
<object data="knight.mid">
  <param name="autostart" value="false">
  <PARAM name= "hidden" value="true">
If you're seeing this, you don't have a MIDI player
on your computer.
</object>
</body>
</html>

Ou alors, je me gourre... (grâce à cette signature géniale, plus personne ne pourra critiquer ce que je dis, héhé)
AAAAAAAAAA NEDM C'est un rebelle et puis c'est tout

#4
Ismar

Ismar

    Senseï Geek

  • Membre
  • PipPipPipPipPip
  • 1597 messages
<html>
<head>

<script LANGUAGE="JavaScript">




function switchOn(){

  document.getElementsByName('changetrack')[0].data = "knight.mid"

}

function switchOff(){

  document.getElementsByName('changetrack')[0].data ="none.mid"

}


</SCRIPT>

</head>
<body>
<a onclick="switchOn()"><img src="play.gif" border="0"/></a><a onclick="switchOff()"><img src="stop.gif" border="0"/></a>
<br>
<OBJECT name="changetrack" type="audio/x-midi" data="none.mid">
  <PARAM name="autostart" value="true">
  <PARAM name="loop" value="true">
  <PARAM name= "hidden" value="true">
</OBJECT>
<br>
<object data="knight.mid">
  <param name="autostart" value="false">
  <PARAM name= "hidden" value="true">
If you're seeing this, you don't have a MIDI player
on your computer.
</object>
</body>
</html>
Essaie comme ça plutôt.
(Dieu tue des chatons et des grands mères sont violées quand un site web propose du son)

Edit : correction

Modifié par Ismar, 25 February 2011 - 14:18.

En même temps...

#5
KaD

KaD

    Lord Jedi Geek

  • Membre
  • PipPipPipPip
  • 583 messages
  • Lieu:Saint Etienne

Voir le messageIsmar, le 25 February 2011 - 10:23, dit :

(Dieu tue des chatons et des grands mères sont violées quand un site web propose du son)
En autostart ouai, sinon ça ne pose pas de soucis.
Sinon GUIGUI si tu veux mettre autre chose que du MIDI, tu va être obligé de passer par du Flash
Image IPB

#6
bdfck

bdfck

    Jedi Geek

  • Membre
  • PipPipPip
  • 367 messages
  • Lieu:IDF
Tu n'as pas envie de passer par prototype et scriptaculous ?
Objet sound

(et j'imagine que jquery propose la même chose aussi)

#7
GUIGUI

GUIGUI

    Yoda Geek

  • Membre
  • PipPipPipPipPipPip
  • 3039 messages

Voir le messageIsmar, le 25 February 2011 - 10:23, dit :

(...)
(Dieu tue des chatons et des grands mères sont violées quand un site web propose du son)
C'est bien pour cela que je veux un contrôle marche arrêt du son par l'utilisateur.
Et malheureusement, ton code ne fonctionne absolument pas. Sur aucun navigateur. Désolé.

Voir le messageKaD, le 25 February 2011 - 10:27, dit :

En autostart ouai, sinon ça ne pose pas de soucis.
Sinon GUIGUI si tu veux mettre autre chose que du MIDI, tu va être obligé de passer par du Flash
C'est pas grave, j'adore le MIDI et c'est justement ce que je veux jouer.

Voir le messagebdfck, le 25 February 2011 - 10:32, dit :

Tu n'as pas envie de passer par prototype et scriptaculous ?
Objet sound

(et j'imagine que jquery propose la même chose aussi)
Je ne suis pas trop sûr de savoir comment addapté ça à mon cas.

Modifié par GUIGUI, 25 February 2011 - 14:25.

Ou alors, je me gourre... (grâce à cette signature géniale, plus personne ne pourra critiquer ce que je dis, héhé)
AAAAAAAAAA NEDM C'est un rebelle et puis c'est tout

#8
Ismar

Ismar

    Senseï Geek

  • Membre
  • PipPipPipPipPip
  • 1597 messages
Je corrigeais juste du DOM...
J'ai édité le code de mon dernier post, regarde si ça fonctionne mieux. Normalement, ça doit bien accéder à ton premier objet, après je ne sais pas si l'attribut "data" peut être modifié comme ça. Si c'est pas le cas, il faudra voir pour un truc genre document.getElementsByName('toto')[i].attributes[j] = 'bla'.
En dehors de ça, si tu veux débugger un peu de javascript c'est pas mal d'avoir un outil du type firebug (sur firefox), qui te permet de poser des points d'arrêt et de voir les méthodes/propriétés/etc des objets de la page et donc de les pointer plus facilement au cas où tu n'arrives pas à y accéder. Note qu'il y a un outil de développement directement intégré dans chrome et dans safari, dans IE il est peut être un peu plus planqué et pour firefox il faut télécharger firebug.
Sinon je suis d'accord avec bdfck, les trucs à la scriptaculous, jquery et autres proposent souvent ce genre de modules faciles à utiliser et qui ont un résultat meilleur que ce que tu aurais fait toi de base.
(ou sinon tu peux éviter de faire une page avec du son en autostart et en loop... à moins que ce soit pour epic sax guy, là ça irait)
En même temps...

#9
GUIGUI

GUIGUI

    Yoda Geek

  • Membre
  • PipPipPipPipPipPip
  • 3039 messages

Voir le messageIsmar, le 25 February 2011 - 14:31, dit :

(...)
Sinon je suis d'accord avec bdfck, les trucs à la scriptaculous, jquery et autres proposent souvent ce genre de modules faciles à utiliser et qui ont un résultat meilleur que ce que tu aurais fait toi de base.
(ou sinon tu peux éviter de faire une page avec du son en autostart et en loop... à moins que ce soit pour epic sax guy, là ça irait)
Désolé. Ton code fonctionne avec Firefox et Opéra, mais toujours pas avec Chrome ni MS Explorer, don c je ne suis pas plus avancé.

Et justement, ce n'est pas de l'auto-start! La musique ne se met en route que si on appuie sur l'image du bouton "play". Le loop n'est là que pour s'assurer que la music ne s'arrête pas tant qu'on a pas appuyé sur l'image du bouton stop.

Sinon, j'ai essayé, mais je ne vois pas comment faire pour appliquer le code fournis par bdfck à mon cas.

Ne me dites pas qu'il n'existe pas de solution a mon problème? contrôler l'arrêt et le démarrage d'une musique MIDI à l'aide de deux images, c'est quand même un truc basique de chez basique, non?

Modifié par GUIGUI, 25 February 2011 - 15:23.

Ou alors, je me gourre... (grâce à cette signature géniale, plus personne ne pourra critiquer ce que je dis, héhé)
AAAAAAAAAA NEDM C'est un rebelle et puis c'est tout

#10
Moe

Moe

    Râleur

  • Membre
  • PipPipPipPipPipPip
  • 3124 messages
  • Lieu:France
T'es sûr que Chrome et IE supportent le MIDI ? Pourquoi n'utilises-tu pas un bête lecteur MP3 en Flash ?

#11
GUIGUI

GUIGUI

    Yoda Geek

  • Membre
  • PipPipPipPipPipPip
  • 3039 messages
Oui, ils le lisent tout les deux sans problème. Il semblent que se soit l'opération javascript qui ne permettent pas aux lecteur de démarrer automatiquement (bien que j'arrive à faire fonctionner mon système sur IE grâce à la balise <BGSOUND>).

Et je VEUX que ce soit du MIDI et je veux n'utiliser que le HTML et Javascript. C'est une sorte de question de principe.

Modifié par GUIGUI, 26 February 2011 - 14:58.

Ou alors, je me gourre... (grâce à cette signature géniale, plus personne ne pourra critiquer ce que je dis, héhé)
AAAAAAAAAA NEDM C'est un rebelle et puis c'est tout




1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)