Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lire un son lorsque le visiteur tape dans un champ de texte

onkeyup : à chaque lettre tapée, le son se recharge

    10 janvier 2009 à 17:00:31

    Bonjour,

    Je voudrais jouer un son en faisant un innerHTML pour afficher le embed dans la page.
    Voici mon code :
    //PLAY THE SOUND WHEN THE USER IS TYPING
    function playSoundTyping()
    {
    	var i = document.getElementById("embed");
    	var embed		= '<embed src="mother.mp3" autostart="true" loop="true" hidden="true" height="0" width="0"></embed>';
    	
    	if(i.innerHTML = embed)
    	{
    		
    	}
    	else
    	{
    		i.innerHTML = embed;
    	}
    }
    


    Le seul problème est qu'à chaque lettre que le visiteur tape, le son recommence à jouer depuis le début.
    Comment pourrais-je empêcher cela ?

    Merci d'avance !
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      10 janvier 2009 à 17:21:51

      Tu crée une variable booléenne globale, "musique" par exemple (c'est pas le mieux, mais c'est le plus simple a faire). Tu l'initialise a "false".

      Tu lui donne la valeur true lorsque le visiteur commence à taper et si "musique" vaut "false".

      Ensuite quand l'utilisateur tape dans le champ tu vérifie à chaque fois la valeur de "musique". Si c'est "true" alors tu ne fais rien. Si c'est "false" alors tu est dans le premier cas.

      if(variable.innerHTML = machin) c'est pas bien de faire ça. en plus ça sert a rien.
      variable.innerHTML = machin; suffit largement
      • Partager sur Facebook
      • Partager sur Twitter
        10 janvier 2009 à 17:24:17

        De plus dans ta condition tu a mis un seul = donc sa sert à rien.
        Si tu veus que sa marche il faut mettre ==
        • Partager sur Facebook
        • Partager sur Twitter
          10 janvier 2009 à 19:26:55

          Citation : Zoro-zerO

          De plus dans ta condition tu a mis un seul = donc sa sert à rien.
          Si tu veus que sa marche il faut mettre ==



          si ça sert :p
          si ça ne trouve pas l'élément, ça rend false donc ça ne fait pas if...
          en gros quand tu ne met pas un "test" dans un if, il se fait si l'action est correctement effectuée :p
          • Partager sur Facebook
          • Partager sur Twitter
            10 janvier 2009 à 20:23:31

            xavierm02 : Sa je le savais, mais je ne savais pas si s'était volontaire ou pas étant donné qu'il fera dans tout le cas.
            Soit il arrive a le modifier soit il le modifis, c'est original ^^
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              10 janvier 2009 à 20:58:50

              Pour les vérification d'erreur c'est pas des if qu'il faut utilser. Mais des blocs try/catch
              • Partager sur Facebook
              • Partager sur Twitter
                10 janvier 2009 à 21:07:36

                mais ça marches :p
                à rajouter dans ton superbe post anti questions-stupides?
                • Partager sur Facebook
                • Partager sur Twitter
                  11 janvier 2009 à 1:27:38

                  Citation : nod_

                  Tu crée une variable booléenne globale, "musique" par exemple (c'est pas le mieux, mais c'est le plus simple a faire). Tu l'initialise a "false".

                  Tu lui donne la valeur true lorsque le visiteur commence à taper et si "musique" vaut "false".

                  Ensuite quand l'utilisateur tape dans le champ tu vérifie à chaque fois la valeur de "musique". Si c'est "true" alors tu ne fais rien. Si c'est "false" alors tu est dans le premier cas.

                  if(variable.innerHTML = machin) c'est pas bien de faire ça. en plus ça sert a rien.
                  variable.innerHTML = machin; suffit largement



                  Merci de vos réponse !
                  J'ai choisis celle-ci, mais comment puis-je faire pour vérifier lorsque l'utilisateur tape sachant que formulaire et le suivant :
                  <form name="console" onsubmit="makeRequest(question.value);return false;">
                  		<input type="text" name="question" id="question" onkeydown="playSoundTyping();" onBlur="stopSoundTyping();" />
                  		<input type="submit" value="" />
                  </form>
                  


                  Merci !
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    11 janvier 2009 à 1:37:03

                    dans playSoundTyping();

                    et dans stopSoundTyping(); tu met en plus la variable globale à "false".
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Lire un son lorsque le visiteur tape dans un champ de texte

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown