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 :

Liste de lecture en HTML


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 238
    Par défaut Liste de lecture en HTML
    Bonjour
    est-ce qu'on peut avec la balise <audio> (ou autrement...) créer une liste de lecture c'est-à-dire faire jouer plusieurs morceau à la suite avec un seul clic pour le premier

    Merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 491
    Par défaut
    Bonjour,
    Sans utiliser de JS, c'est pas possible…

    Code JS : 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
     
    const playlist = [
          "morceau1.mp3",
          "morceau2.mp3",
          "morceau3.mp3"
        ];
     
    // Ou tu récupères ca depuis un fichier plat ( Json, txt) ou base de donnée (API ? Fichier PHP ?)
     
        let currentTrack = 0;
        const player = document.getElementById("audioPlayer");
     
        // Tu start le premier sur un click
        player.src = playlist[currentTrack];
     
        // Boucle pour aller sur les suivants
        player.addEventListener("ended", () => {
          currentTrack++;
          if (currentTrack < playlist.length) {
            player.src = playlist[currentTrack];
            player.play();
          } else {
            console.log("Fin");
          }

    J'ai pas test mais dans l'idée, ça devrait être un truc comme ça.

    Cdt

  3. #3
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 238
    Par défaut
    Je me relance dans ce projet.

    j'ai placé le code précédent entre balise <script> mais ça ne suffit pas

    concrètement qu'est-ce que je dois écrire dans mon fichier html?

  4. #4
    Invité de passage
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2013
    Messages : 122
    Par défaut
    concrètement qu'est-ce que je dois écrire dans mon fichier html?
    Une balise audio avec le bon identifiant.
    As tu des erreurs dans la console?

  5. #5
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 238
    Par défaut Faire jouer une liste de lecture
    Ndm : discussions similaires fusionnées ici

    Bonjour
    j'avais déjà posé une question à ce sujet il y a pas mal de temps mais je n'arrive plus à retrouver le post.

    Je souhaite faire jouer une liste de lecture. La balise <audio> permet de lire un seul élément et j'en veux plusieurs.
    Dans cet ancien post quelqu'un m'avait donné le code JS suivant que j'avais gardé à l'époque
    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
    <script>
    const playlist = [
          "Disconnected - 05-Disconnected.mp3",
          "Disconnected - 02-Broken.mp3",
          "Disconnected - 01-Killer.mp3"
        ];
     
        let currentTrack = 0;
        const player = document.getElementById("audioPlayer");
     
        // Tu start le premier sur un click
        player.src = playlist[currentTrack];
     
        // Boucle pour aller sur les suivants
        player.addEventListener("ended", () => {
          currentTrack++;
          if (currentTrack < playlist.length) {
            player.src = playlist[currentTrack];
            player.play();
          } else {
            console.log("Fin");
          }
     
    </script>
    mais je ne sais pas quoi en faire

    Pour le moment j'ai écrit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <figure style="margin-top:5rem;color:magenta;font-style:italic"><figcaption> <h4>Selection of the moment</h4></figcaption>
    <audio controls src="Disconnected - 05-Disconnected.mp3">
    </audio>
    J'ai même ajouté "id=audioPlayer" dans la balise audio sans succes
    Comment lier le script avec le lecteur ?

  6. #6
    Invité de passage
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2013
    Messages : 122
    Par défaut
    Bonjour,

    >> Comment lier le script avec le lecteur ?
    ou place tu le script? juste avant </body> ou dans un fichier externe?
    pour lier un script externe c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="exemple.js"></script>
        </body>
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
            <script src="exemple.js" defer></script>
        </head>
    Enfin le code Js est lier au code HTML grâce à l'écouteur d'évènement qui agis sur l’élément audio parce que celui-ci est identifier par l’objet player obtenu par la methode getElementById() de l'objet document en L9.
    Donc dans ton HTML tu dois écrire la balise audio comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <audio controls id="audioPlayer">
    Il est recommandé de ne pas avoir d'espace ni de caractère spéciaux dans les nom de fichiers et de répertoire.

    PS : n'oublie pas de fermer accolade et parenthèse de ton script
    A lire : https://developer.mozilla.org/fr/doc...getElementById
    https://www.toutjavascript.com/refer...lementbyid.php

  7. #7
    Invité de passage Avatar de David94FR
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Août 2025
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2025
    Messages : 48
    Par défaut
    Bonjour,

    Tu crées un fichier externe playlist.js (plus propre) :

    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
    const playlist = [
        "Disconnected%20-%2005-Disconnected.mp3",
        "Disconnected%20-%2002-Broken.mp3",
        "Disconnected%20-%2001-Killer.mp3"
    ];
     
    let currentTrack = 0;
    const player = document.getElementById("audioPlayer");
    const trackInfo = document.getElementById("trackInfo");
     
    function updateTrackInfo() {
        const trackName = playlist[currentTrack].replace('%20', ' ').replace('.mp3', '');
        trackInfo.textContent = `En lecture : ${trackName}`;
    }
     
    player.src = playlist[currentTrack];
    updateTrackInfo();
     
    player.addEventListener("ended", function() {
        currentTrack++;
        if (currentTrack < playlist.length) {
            player.src = playlist[currentTrack];
            updateTrackInfo();
            player.play();
        } else {
            trackInfo.textContent = "Fin de la playlist";
        }
    });
     
    player.addEventListener("error", function() {
        trackInfo.textContent = "Erreur de chargement";
    });
    Tu peux gérer les espaces dans les noms de fichiers en les remplaçant par %20.

    Dans ton HTML, tu l'appelles avant </body> :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="playlist.js"></script>
    </body>
    Si tu veux le premier morceau se charge automatiquement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <audio controls id="audioPlayer" preload="metadata">

  8. #8
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Janvier 2024
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Janvier 2024
    Messages : 238
    Par défaut
    Désolé mais j'avais posté une réponse il y a 3 ou 4 jours mais elle n'apparaît pas
    J'y disais que ça ne fonctionnait toujours pas
    J'ai donc mon js comme suit
    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
    const playlist = [
          "Disconnected%20-%2005-Disconnected.mp3",
          "Disconnected%20-%2002-Broken.mp3",
          "Disconnected%20-%2001-Killer.mp3"
        ]; 
    	  let currentTrack = 0;
    const player = document.getElementById("audioPlayer");
    const trackInfo = document.getElementById("trackInfo");
     
    function updateTrackInfo() {
        const trackName = playlist[currentTrack].replace('%20', ' ').replace('.mp3', '');
        trackInfo.textContent = `En lecture : ${trackName}`;
    }
     
    player.src = playlist[currentTrack];
    updateTrackInfo();
     
    player.addEventListener("ended", function() {
        currentTrack++;
        if (currentTrack < playlist.length) {
            player.src = playlist[currentTrack];
            updateTrackInfo();
            player.play();
        } else {
            trackInfo.textContent = "Fin de la playlist";
        }
    });
     
    player.addEventListener("error", function() {
        trackInfo.textContent = "Erreur de chargement";
    });
    et dans mon html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <figure style="margin-top:5rem;color:magenta;font-style:italic">
    <figcaption> <h4>Selection of the moment</h4></figcaption>
    <audio id="audioPlayer" controls >  <!--src="Disconnected - 05-Disconnected.mp3"-->
    </audio>
    </figure>
    suivit de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script src="playlist.js"></script>
    </body>
    et ça ne joue que le premier.
    D'ailleurs le lecteur m'affiche 13'10 mais arrivée à cette durée il continue avec du silence jusqu'à 13'17 avant de s'arrêter

  9. #9
    Invité de passage
    Homme Profil pro
    Inscrit en
    Mars 2013
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2013
    Messages : 122
    Par défaut
    Bonjour, qu'est ce qui s'affiche dans la console comme message?

    Tu es bien sur que si tu lance les fichier .mp3 avec un lecteur audio il y a bien du son?

Discussions similaires

  1. windows media HTML & liste de lecture dynamique
    Par tony872 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/11/2007, 16h14
  2. [DOM] integration d'une liste dans un tableau html en javascript
    Par bb62 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 08/06/2007, 16h03
  3. récupérer liste déroulante pour lien html
    Par Gary_Stoupy dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/03/2007, 09h34
  4. liste,formulaire lecture sans bouton submit
    Par BernardT dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/06/2006, 07h43
  5. [MySQL] Erreur d'affichage d'un listing php dans un html
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 10/04/2006, 22h13

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