IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Playlist fonction next en boucle


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Par défaut Playlist fonction next en boucle
    bonjour à tous,
    quelqu'un pourrait il me guider, j'essaye de faire évoluer ce script dans le sens ou j'aimerai avoir un simple bouton NEXT qui lit des chansons, mais en boucle.
    c'est à dire lecture des sons 1, 2, 3, puis 1, 2, 3...
    je débute, c'est pas facile, merci !
    philipe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <script type="text/javascript">
        function loadPlayer() {
            var audioPlayer = new Audio();
            document.getElementById("player").appendChild(audioPlayer);
            nextSong();
        }
        function nextSong() {
            if(urls[next]!=undefined) {
                var audioPlayer = document.getElementsByTagName('audio')[0];
                if(audioPlayer!=undefined) {
                    audioPlayer.src=urls[next];
                    audioPlayer.load();
                    audioPlayer.play();
                    next++;
                } else {
                    loadPlayer();
                }
            } 
        }
        function stopSong() {
            var audioPlayer = document.getElementsByTagName('audio')[0];
      audioPlayer.pause();
        }
        var urls = new Array();
        urls[0] = 'http://www....01.mp3';
        urls[1] = 'http://www....02.mp3';
        urls[2] = 'http://www....03.mp3';
        var next = 0;
    </script>
    <div id="player"></div>
    <a href="#" onclick="nextSong()">NEXT</a>
    <a href="#" onclick="stopSong()">STOP</a>

  2. #2
    Invité
    Invité(e)
    Par défaut
    salut,

    pour tourner en boucle 0,1,2, tu n'as qu'à considérer
    qui t'assure de jamais atteindre 3...

    parenthèse à part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        var urls = new Array();
    1 : le new n'est pas nécessaire pour Array
    2 : il n'est pas non plus nécessaire de déclarer Array si tu ne lui donnes pas de taille, idem
    3 : tu peux directement construire ton tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var urls = [
      'http://www....01.mp3',
      'http://www....01.mp3',
      'http://www....01.mp3'
    ];

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Par défaut
    Merci beaucoup,
    Par contre je n'arrive pas à trouver ou placer next = next %3 dans le script,
    De la même manière si j'enlève Array, et que je réécris les URL de cette façon, je n'ai plus de son du tout.
    Philippe

  4. #4
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Remplace la ligne
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    next = (next+1) % urls.length


    donne-nous le code complet retouché, tu as dû te tromper dans la déclaration littérale de la liste d'URL.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire

    Informations forums :
    Inscription : Novembre 2014
    Messages : 8
    Par défaut
    voici le code retouché :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    function loadPlayer() {
        var audioPlayer = new Audio();
        document.getElementById("player").appendChild(audioPlayer);
        nextSong();
    }
    function nextSong() {
        if(urls[next]!=undefined) {
            var audioPlayer = document.getElementsByTagName('audio')[0];
            if(audioPlayer!=undefined) {
                audioPlayer.src=urls[next];
                audioPlayer.load();
                audioPlayer.play();
                next = (next+1) % urls.length;
            } else {
                loadPlayer();
            }
        } 
    }
    function stopSong() {
        var audioPlayer = document.getElementsByTagName('audio')[0];
        audioPlayer.pause();
    }
    var urls = [
      'http://www....01.mp3',
      'http://www....02.mp3',
      'http://www....03.mp3'
    ];
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <div id="player"></div>
    <a href="#" onclick="nextSong()">NEXT</a>
    <a href="#" onclick="stopSong()">STOP</a>

  6. #6
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Il semble que la dernière ligne soit passée à la trappe

Discussions similaires

  1. [AC-2003] Fonction Split et boucle For next
    Par jmde dans le forum VBA Access
    Réponses: 10
    Dernier message: 01/08/2013, 19h45
  2. Réponses: 18
    Dernier message: 25/07/2007, 12h34
  3. Réponses: 10
    Dernier message: 07/01/2007, 12h03
  4. [VBA][Débutante] Fonction Excel avec Boucle
    Par Inelukia dans le forum Macros et VBA Excel
    Réponses: 32
    Dernier message: 11/01/2006, 19h31
  5. Appel d'une fonction dans uns boucle d'un tableau
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/02/2005, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo