Bonjour,
Voila je rencontre un petit problème avec mon code.
je créé une playlist avec une lecture en boucle de tout les titres.
je fait en sorte de ne voir que la piste audio de la musique en cours de lecture, et d'avoir une liste des musiques en dessous de la piste audio avec en rouge la musique en cours de lecture et en blanc les autres musiques
CODE HTML
<!DOCTYPE html>
<HTML>
<head>
<link rel="stylesheet" href="lecteur_test.css">
<meta charset="utf-8" />
<title>
lecteur
</title>
<style>
li#audio {display:none;}
li#audio:first-of-type {display:block;}
li#list {color:white;}
li#list:first-of-type {color:red;}
</style>
</head>
<body>
<ul id="playlist">
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">ANUBIS
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">YOUTUNE
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/06.mp3"/>
</audio>
</figure>
</li>
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">CHEB PRINCE 2 LÉ LÉ LA!!!
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">SOFIANE SMILE
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/10.mp3"/>
</audio>
</figure>
</li>
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">MIAOU (REMIX)
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">YOUTUNE
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/02.mp3"/>
</audio>
</figure>
</li>
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">FAROD - LE JEU A PLANTÉ ! (REMIX)
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">YOUTUNE
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/03.mp3"/>
</audio>
</figure>
</li>
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">PANORMAL - HEWEW (REMIX)
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">YOUTUNE
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/04.mp3"/>
</audio>
</figure>
</li>
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">SQUEEZIE IBRA TV SUPERKONAR - POCE BLEU (REMIX)
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">YOUTUNE
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/05.mp3"/>
</audio>
</figure>
</li>
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">TCHOIN TCHOIN
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">KAARIS
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/07.mp3"/>
</audio>
</figure>
</li>
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">DESSINER DE LA MUSIQUE
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">YOUTUNE
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/08.mp3"/>
</audio>
</figure>
</li>
<li id="audio">
<figure id="audioplayer" itemprop="track" itemscope itemtype="http://schema.org/MusicRecording" >
<figcaption>
<div id="track">Track
<span itemprop="name">MATHIEU SOMMET - ILS SONT COOLS (REMIX)
</span>
</div>
<br>
<div id="artist">Artist
<span itemprop="byArtist">YOUTUNE
</span>
</div>
<br>
<div id="time">Time
<span id="playbacktime">00:00
</span>
</div>
</figcaption>
<meta itemprop="duration" content="PT2M29S">
<div id="fader">
</div>
<div id="playback">
</div>
<audio controls id="audiotrack" preload="auto" itemprop="audio">
<source src="audio/09.mp3"/>
</audio>
</figure>
</li>
</ul>
<ul id="list">
<li id="list">ANUBIS</li id="list"><br>
<li id="list">CHEB PRINCE 2 LÉ LÉ LA!!!</li id="list"><br>
<li id="list">MIAOU (REMIX)</li id="list"><br>
<li id="list">FAROD - LE JEU A PLANTÉ ! (REMIX)</li id="list"><br>
<li id="list">PANORMAL - HEWEW (REMIX)</li id="list"><br>
<li id="list">SQUEEZIE IBRA TV SUPERKONAR - POCE BLEU (REMIX)</li id="list"><br>
<li id="list">TCHOIN TCHOIN</li id="list"><br>
<li id="list">DESSINER DE LA MUSIQUE</li id="list"><br>
<li id="list">MATHIEU SOMMET - ILS SONT COOLS (REMIX)</li id="list"><br>
</ul>
<script src="lecteur_test.js" ></script>
</body>
</HTML>
JAVASCRIPT
/*-------------------------------------------------------------------------------------------------
PLAYLIST
-------------------------------------------------------------------------------------------------*/
function playNext()
{
this.parentNode.style.color="white";
this.nextInTheList.parentNode.style.color="red";
this.parentNode.style.display="none";
this.nextInTheList.parentNode.style.display="block";
this.nextInTheList.play();
}
function playList()
{
var audioList,k,km,nextInTheList;
audioList=document.getElementById("playlist").getElementsByTagName("audio");
km=audioList.length;
for (k=0;k<km;k++)
{
if (k<(km-1)) nextInTheList=k+1; else nextInTheList=0;
audioList[k].nextInTheList=audioList[nextInTheList]
audioList[k].addEventListener("ended",playNext,false);
}
}
window.addEventListener("load",playList,false);
function player() {
if (audioTrack.paused) {
setText(this, "Pause");
audioTrack.play();
} else {
setText(this,"Play");
audioTrack.pause();
}
}
function setText(el,text) {
el.innerHTML = text;
}
function finish() {
audioTrack.currentTime = 0;
setText(playButton,"Play");
}
function updatePlayhead() {
playhead.value = audioTrack.currentTime;
var s = parseInt(audioTrack.currentTime % 60);
var m = parseInt((audioTrack.currentTime / 60) % 60);
s = (s >= 10) ? s : "0" + s;
m = (m >= 10) ? m : "0" + m;
playbacktime.innerHTML = m + ':' + s ;
}
function volumizer() {
if (audioTrack.volume == 0) { setText(muteButton,"Unmute"); }
else { setText(muteButton,"Mute"); }
}
function muter() {
if (audioTrack.volume == 0) {
audioTrack.volume = restoreValue;
volumeSlider.value = restoreValue;
} else {
audioTrack.volume = 0;
restoreValue = volumeSlider.value;
volumeSlider.value = 0;
}
}
function setAttributes(el, attrs) {
for(var key in attrs){
el.setAttribute(key, attrs[key]);
}
}
var audioPlayer = document.getElementById("audioplayer"),
fader = document.getElementById("fader"),
playback = document.getElementById("playback"),
audioTrack = document.getElementById("audiotrack"),
playbackTime = document.getElementById("playbacktime"),
playButton = document.createElement("button"),
muteButton = document.createElement("button"),
playhead = document.createElement("progress")
volumeSlider = document.createElement("input");
setText(playButton, "Play");
setText(muteButton, "Mute");
setAttributes(playButton, { "type": "button", "class": "ss-icon" });
setAttributes(muteButton, { "type": "button", "class": "ss-icon" });
muteButton.style.display = "block";
muteButton.style.margin = "0 auto";
setAttributes(volumeSlider, { "type": "range", "min": "0", "max": "1", "step": "any", "value": "1", "orient": "vertical", "id": "volumeSlider" });
var duration = audioTrack.duration;
setAttributes(playhead, { "min": "0", "max": "100", "value": "0", "id": "playhead" });
fader.appendChild(volumeSlider);
fader.appendChild(muteButton);
playback.appendChild(playButton);
playback.appendChild(playhead);
audioTrack.removeAttribute("controls");
playButton.addEventListener("click", player, false);
muteButton.addEventListener("click", muter, false);
volumeSlider.addEventListener("input", function(){ audioTrack.volume = volumeSlider.value; }, false);
audioTrack.addEventListener('volumechange', volumizer, false);
audioTrack.addEventListener('playing', function(){ playhead.max = audioTrack.duration; }, false);
audioTrack.addEventListener('timeupdate', updatePlayhead, false);
audioTrack.addEventListener('ended', finish, false);
CSS
body {
background-image: url("background/background.jpg");
}
@font-face {
font-family: SSStandard;
src:url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/ss-standard.woff') format('woff');
font-weight:normal;
font-style:normal;
}
.ss-icon,.ss-icon.ss-standard {
font-style: normal;
font-weight: normal;
text-decoration: none;
white-space: nowrap;
font-feature-settings: "liga","dlig";
}
.ss-icon,.ss-icon.ss-standard {
font-family: SSStandard;
}
* {
box-sizing: border-box;
}
figure#audioplayer {
border: 1px solid #000;
background: #333;
background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/dark_wall.png);
overflow: hidden;
width: 32rem;
padding: .4rem;
margin: 0 auto;
}
figure#audioplayer audio {
width: 0; height: 0;
}
figure#audioplayer figcaption {
width: 21.5rem; font-size: 0;
margin: .45rem; background: #000;
float: left;
border: 1px solid #555;
}
figure#audioplayer figcaption div {
background: #000;
color: #fff;
padding: .8rem;
font-family: Avenir, Helvetica, sans-serif;
text-transform: uppercase; font-size: .8rem;
display: inline-block;
}
figure#audioplayer figcaption div span {
display: block;
font-size: 1.3rem;
text-indent: 1rem;
}
div#track {
border-bottom: 1px solid #555;
width: 100%;
}
div#artist {
border-bottom: 1px solid #555;
width: 100%;
}
div#time {
width: 7.55rem;
border-left: 1px solid #555;
}
input#volumeSlider {
-webkit-appearance: slider-vertical;
}
figure#audioplayer button {
width: 3rem; height: 3rem;
background: #000; color: #fff;
border: none;
}
#playback {
clear: both;
}
div#fader {
display: inline-block;
}
#playback progress {
margin-left: 1rem;
width: 20rem; height: 12px;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: #888;
border: none;
color: hsl(44,100%,44%);
}
progress::-webkit-progress-bar, progress::-moz-progress-bar, progress::progress-bar {
background: hsl(44,100%,44%);
}
progress::-webkit-progress-value {
background: hsl(44,100%,44%);
}
progress::-moz-progress-bar {
background-color: hsl(44,100%,44%);
}
@media screen and (max-width: 500px) {
div#time {
display: block !important; border-top: 1px solid #555; width: 100%;
}
figure#audioplayer {
width: 100%; padding: .2rem;
}
figure#audioplayer figcaption div {
padding: .4rem;
}
}
@media screen and (max-width: 450px) {
figure#audioplayer figcaption {
width: 16rem;
}
#playback progress {
width: 220px;
}
}
@media screen and (max-width: 400px) {
figure#audioplayer figcaption {
width: 14rem;
}
}
Ce que je veux
je veux avoir une playlist avec une lecture en boucle de toutes les musiques avec seulement la piste audio de la musique en cour de lecture de visible, une liste en dessous de toutes les musiques d'écrit en blanc sauf la musique en cour de lecture qui elle est en rouge. et récuperer le volume d'une piste audio pour la mettre dans la prochaine.
Ce que j'obtiens
pour la piste audio de la première musique y'a aucun problème, les autres musiques en revenche on entend bien la musique mais la piste audio est invisible je ne les voit pas ni d'où vient le problème d'ailleurs, pour la list ya le titre de la première musique qui est en rouge mais quand je passe aux autres musiques elle reste rouges et les autres titres restent blanchent. pour ce qui est de recuperer le volume étant débutant je ne sais pas comment faire. et le tem
p ne défile pus aussi et sa me le fait depuis que j'ai modifier mes scripts mais je ne sais pusa
quel moment le temp dans l'onglet "time" vous pouvez voir sa ici pour que ce sois plus clair