5545 sujets

Sémantique web et HTML

Bonjour,

nombreuses sont les personnes qui désirent juste diffuser de la musique sur leur site, sans listes de lecture élaborées ou images d'artiste. Dans ces cas, le module audio html5 fait très bien l'affaire. Le problème avec ce module, quand il y en a plusieurs sur une page, c'est qu'avant de lire un nouveau titre, il faut arrêter le précédent, sinon les sons se mélangent. Seuls les lecteurs audio JavaScript peuvent régler ce problème, mais c'est parfois lourd, juste utilisé dans ce but.
Je viens de trouver un tout petit script js qui résout ça. Simplement ajouté dans une page html, sans aucune modification, il permet à chaque lecteur audio html5 de se taire quand l'autre prend la parole.
document.addEventListener('play', function(e){
    var audios = document.getElementsByTagName('audio');
    for(var i = 0, len = audios.length; i < len;i++){
        if(audios[i] != e.target){
            audios[i].pause();
        }
    }
}, true);

https://stackoverflow.com/questions/19790506/multiple-audio-html-auto-stop-other-when-current-is-playing-with-javascript
Je n'ai pas testé, mais je suppose que l'on peut aussi l'utiliser pour le lecteur vidéo html5, en remplaçant audio par video.
Modifié par Bongota (01 Feb 2022 - 11:00)