Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment interagir avec une musique avec un range !

    22 avril 2017 à 22:14:17

    Bonjour, 

    Nous sommes en train de travailler sur une application de musique, nous voulons pourvoir interagir avec la musique en temps réel, en gros on a déjà réussi a mettre en pause, play et relecture. Mais aussi contrôler le volume d'une musique. 

    Ce que nous aimerions actuellement c'est contrôler le temps de la piste audio, on pense que ça se passe avec curentime="". Mais pas moyen de trouver une issue a notre problème. 

    /*Ce que je pense être comme solution, c'est avoir une  range sur lequel on déplace le curseur qui a chaque fois attribuera a un "temps" de la musique. et alors le déplacera la musique vers celle ci .*/

    Mais aussi à contrario, on voudrait qu'a chaque seconde de la musique, le curseur se déplacera de son point minimal vers maximal.

    /*je pense que c'est une fonction qui tournera tant que la musique n'est pas terminé et qui a chaque valeur du curenttime déplacera le curseur)*/ 

    Tout ceci n'est qu'hypothèse, j'espère que vous nous aiderez a nous mettre sur la voie de la résolution de ce problème. Malheureusement nous ne pouvons pas utiliser ni de PHP ni de JQUERY car c'est un projet pour le BAC et nous n'avons pas vu cela durant l'année.

    Merci d'avance  

    UP!

    -
    Edité par BorisMert 23 avril 2017 à 16:00:03

    • Partager sur Facebook
    • Partager sur Twitter
      25 avril 2017 à 8:21:45

      Oui, c'est bien en modifiant la propriété currentTime que vous déplacerez la tête de lecture du morceau. Cette propriété est une valeur décimale. Via la propriété duration qui indique la durée 

      Vous pourriez avoir quelque chose du type : 

      son.currentTime=range.value;

      Votre range étant étalonnée en vous servant de la durée du son et step en fonction du pas que vous souhaitez

      en javascript, on ne peut pas bloquer ce qu'on appelle le thread pendant  plusieurs secondes donc il n'est pas possible de faire une boucle attendant la fin du son. 

      On procède en mettant en place un écouteur sur l'événement timeupdate qui se déclenche tant que le morceau est en lecture, et qui se déclenche plusieurs fois par seconde. 

      son.addEventListener("timeupdate",avancer);
      
      ...
      
      function avancer(evt) {
         ici votre code pour déplacer votre curseur
          Ex : range.value=this.currentTime*1000; //*1000 pour convertir la durée de secondes en milli-secondes
      }



      -
      Edité par AnneHuard 25 avril 2017 à 15:30:14

      • Partager sur Facebook
      • Partager sur Twitter

      Comment interagir avec une musique avec un range !

      × 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